]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/io/gzio.c (huft_build): Use zalloc for safety.
[grub2.git] / ChangeLog
CommitLineData
a602dc54
VS
12013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
4 (initialize_tables): reset tl and td to NULL after freeing.
5
93c12075
VS
62013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
9
1ca4b75e
VS
102013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
13 of supported tags.
14
329550c4
VS
152013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
18
00bfa988
VS
192013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/loader/multiboot.c: Add support for multiboot kernels
22 quirks.
23
81afc5cc
VS
242013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
27 a page in protected space.
28
cb3c4a47
VS
292013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
32 allocate space for zero-sized modules.
33
954f7bf5
VS
342013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
37
526d3d25
FL
382013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
39
40 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
41
74124c34
VS
422013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
45 safeguards. Fixes a crash with i386/pc/console.c.
46
5177391e
VS
472013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
50 and grub_hostfs_init.
51
64db14b0
VS
522013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
55 windows method on other platforms without good stat as well.
56
effe2036
VS
572013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
60
82591fa6 612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 62
82591fa6
VS
63 Make / in btrfs refer to real root, not the default volume.
64 Modify mkrelpath to work even if device is mounted with subvolid option.
65
662013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
67
68 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
69 extra_dist.
70 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
71 extra_dist.
72
30fd7198
VS
732013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
76 fails.
77
8d179dae
BC
782013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
79
80 * docs/autoiso.cfg: New file.
81
3bc9c8cf
VS
822013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
85 COND_GRUB_PE2ELF conditions.
86
8b46b0ea
VS
872013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
90 "vnd", "rd" and "fd" disks.
91
442b86de
VS
922013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Move grub_disk_write out of kernel into disk.mod.
95
04dea7e6
VS
962013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
99 handling.
100
1012013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
102
103 * grub-core/kern/misc.c (grub_abort): Make static
104
04dea7e6 1052013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
106
107 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
108 transform invalid unicode codepoints.
109
04dea7e6 1102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
111
112 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
113 \0 checking.
114
03dcac7f
VS
1152013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
118
c81acb7f
VS
1192013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
120
121 Consolidate cpuid code.
122
c1bee646
VS
1232013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Move cpuid code to cpuid.h and TSC code to tsc.c.
126
f37bf9c7
GS
1272013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
128
129 * util/grub.d/00_header.in: Don't use LANG if it's not set.
130
4021132b
GS
1312013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
132
133 * util/grub-mkconfig.in: Replace $0 with $self.
134 * util/grub-reboot.in: Likewise.
135 * util/grub-set-default.in: Likewise.
136
3ace8d75
BC
1372013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
138
139 * docs/osdetect.cfg: New file.
140
1e6ad6a6
BC
1412013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
142
143 * tests/util/grub-shell.in: Add new --debug option.
144
188929eb
BC
1452013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
146
147 * tests/test_unset.in: New test.
148
7994a09a
BC
1492013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
150
151 * tests/test_sha512sum.in: New test.
152
2a8a7585
VS
1532013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
156 * include/grub/misc.h: Remove strncat.
157 * grub-core/lib/posix_wrap/string.h: Likewise.
158
cf8d6bbd
VS
1592013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
162 Try to handle more than 0xFFFF packets.
163 Reported by: Bernhard Übelacker <bernhardu>.
164 He also spotted few overflows in first version of this patch.
165
6d1fc99a
VS
1662013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * tests/date_unit_test.c: New test.
169
10bafa1c
VS
1702013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
173 of first three years after start of validity of unixtime.
174
b1c6d037
VS
1752013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
178 division as the one making more sense.
179 (update_screen): Likewise.
180 (complete): Likewise.
181
5f4028d4
VS
1822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
185
a2856736
VS
1862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Make char and string width grub_size_t rather than grub_ssize_t.
189
0a7e52b2
VS
1902013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
193 unsigned.
194 (grub_history_replace): Likewise.
195
42829573
VS
1962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
199 appropriate.
200
3523b8d8
VS
2012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
204 appropriate.
205
d43c6489
VS
2062013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
209 Use unsigned divisions rather than signed variants.
210
f690f8b0
VS
2112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/video/readers/png.c (grub_png_convert_image): Use
214 unsigned arithmetics.
215 Add missing break.
216
74ff2c05
VS
2172013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
220
fb56391e
VS
2212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
224 rather than signed one.
225 (recovery): Likewise.
226
40f29060
VS
2272013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
230
c64577a5
VS
2312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
234 than signed.
235
c16535a8
JM
2362013-10-25 Jon McCune <jonmccune@google.com>
237
238 * docs/grub.texi: Cleanup security documentation around signatures.
239
6673d8e7
VS
2402013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
243
a105d375
VS
2442013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
247 than int.
248
af81ed88
VS
2492013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
252 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
253 functions when compiling for kernel.
254
ea899a57
VS
2552013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
258 unsigned long long when using %llu.
259
c6dc6fa1
VS
2602013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
263 terminal after updating progress.
264
ad2dc003
VS
2652013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
268 argument. We don't disable Gate A20 in this code.
269
b46684ae
VS
2702013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
273 Conceptually based on change in branch "vbe-on-coreboot".
274
f70d5c07
RM
2752013-10-24 Robert Millan <rmh@gnu.org>
276
277 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
278 numeric constants with their symbolic equivalent.
279 Taken from branch "vbe-on-coreboot".
280
bca274b4
VS
2812013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * docs/grub.texi: Fix ordering and use pxref rather than xref.
284
238f0489
VS
2852013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
288 divmod64 for offset division.
289
863c590b
PFS
2902013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
291
292 Rename .bzrignore to .gitignore. Add "*.o" rule.
293
294 * .bzrignore: Renamed to...
295 * .gitignore: ...this.
296
84a0e969
PFS
2972013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
298
299 Add new progress module that displays the load progress of files.
300
301 * grub-core/lib/progress.c: New file.
302 * grub-core/Makefile.core.def (progress): New module.
303 * grub-core/kern/file.c (grub_file_open): File name added.
304 * (grub_file_read): Progress hook added.
305 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
306 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
307 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
308 * include/grub/file.h (struct grub_file): Add progress module members.
309 * include/grub/term.h (struct grub_term_output): Likewise.
310 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
311 Terminal velocity added.
312 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
313 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
314 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
315 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
316 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
317 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
318 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
319 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
320 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
321 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
322 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
323 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
324
0d711431
VS
3252013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Verify signatures of signatures unless --skip-sig is specified.
328
f8401f76
VS
3292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
332 \0 checking.
333
334 Saves 70 bytes on compressed image.
335
ac1feb61
VS
3362013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
339 check.
340
341 Saves 10 bytes on compressed image.
342
00f72e89
VS
3432013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/kern/misc.c (grub_isprint): Move to ...
346 * include/grub/misc.h (grub_isprint): ... here. Make inline.
347
348 Saves 20 bytes on compressed image due to remving exporting.
349
067e6ae7
VS
3502013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
353
354 Saves 5 bytes on compressed image.
355
64a6c791
VS
3562013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
359 function get_utf8.
360
361 Saves 379 bytes on compressed image.
362
979d9f52
VS
3632013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
366
1437da54
VS
3672013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
370
371 Saves 40 bytes on compressed image.
372
d9ee2269
VS
3732013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
376 mask rather than 64-bit type.
377
378 Saves 20 bytes on compressed image.
379
63efa602
VS
3802013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
383 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
384
47601ffe
VS
385 Saves 273 bytes on compressed image.
386
2cc679ad
VS
3872013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
390 variable length arrays.
391
392 Saves 50 bytes on compressed image.
393
2e4659b8
VS
3942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
397
2a40badf
VS
3982013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/fs/ufs.c: Remove variable length arrays.
401
1ba6b9b9
VS
4022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
405
f3e39341
VS
4062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/fs/zfs.c: Remove variable length arrays.
409 Reduces zfs.mod by 160 bytes (208 compressed).
410
71523935
VS
4112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
414
28153eb8
VS
4152013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/net/arp.c: Remove variable length arrays.
418 * grub-core/net/bootp.c: Likewise.
419 * grub-core/net/dns.c: Likewise.
420 * grub-core/net/icmp6.c: Likewise.
421 * grub-core/net/net.c: Likewise.
422
88ce4cd7
VS
4232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/fs/ntfs.c: Remove variable length arrays.
426 Increases ntfs.mod by 64 bytes (but decreases by 3 when
427 compressed).
428
66123940
VS
4292013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/fs/hfs.c: Remove variable length arrays.
432 Reduces hfs.mod by 8 bytes (52 compressed).
433
0927e5bd
VS
4342013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 437 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
438 compressed).
439
9c12ac97
VS
4402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 443 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
444 compressed).
445
97ec2d71
VS
4462013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 449 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
450 compressed).
451
156e4ea0
VS
4522013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/fs/xfs.c: Remove variable length arrays.
455 Reduces xfs.mod by 40 bytes (43 compressed).
456
3b502c29
VS
4572013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/fs/fshelp.c: Remove variable length arrays.
460 Reduces fshelp.mod by 116 bytes (23 compressed).
461
c7037f1d
VS
4622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/normal/completion.c: Remove variable length arrays.
465 * grub-core/normal/menu_entry.c: Likewise.
466
467 Reduces normal.mod by 496 bytes.
468
a07e6ad0
VS
4692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
472 by 356 bytes (158 compressed).
473
2359bf88
VS
4742013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
477 by 364 bytes (169 compressed).
478
d28e1163
VS
4792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
482 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
483 * include/grub/types.h (grub_unaligned_uint64_t): New type.
484
e89c2d48
VS
4852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
488 bitmasks to small structures of size chosen to fit in registers.
489
7abdac8e
VS
4902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * conf/Makefile.common: Use -freg-struct-return on i386. This
493 decreases code size and improves performance.
494
518864c0
VS
4952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
498
bbd2b539
VS
4992013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
502 "(null)" string.
503 Simplify expressions to save around 256 bytes in kernel.img.
504 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
505
99519c15
VS
5062013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
509 Use GRUB_UTIL_FD_O_* rather than O_*.
510
20285765
VS
5112013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Add haiku-specific functions.
514
887c0bb6
VS
5152013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
518
cd78a56f
VS
5192013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Move stat () and device mode checking into OS-dependent files as
522 long as performance doesn't suffer.
523
a4012f07
VS
5242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
525
526 Split make_system_path_relative_to_its_root into separate file
527 relpath.c from getroot.c as it's common between unix and haiku
528 but otherwise haiku doesn't use any functions from unix getroot.c.
529
31de274d
VS
5302013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
533 New function.
534 (grub_util_is_special_file): Likewise.
535
40346de6
VS
5362013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
539 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
540
d3923ab9
VS
5412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
544 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
545
663f6eb1
VS
5462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
549 (load_image): Likewise.
550
44d1c20a
VS
5512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/grub-render-label.c: Move backend part to ...
554 * util/render-label.c: ... here.
555
d0a116ee
VS
5562013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
559 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
560
b47fcae6
VS
5612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
564
0f7c00c1
VS
5652013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
568 CD-ROM in case when it's declared as having subpartitions.
569
29013cba
VS
5702013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
571
572 Don't add -lm on haiku.
573
574 * configure.ac: Define BUILD_LIBM to -lm on most platforms
575 and empty on haiku.
576 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
577 -lm.
578
e8559d24
VS
5792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * configure.ac: Use -melf_*_haiku as target on haiku.
582
8104063c
VS
5832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * Makefile.util.def: Add util/setup.c to extra_dist.
586
fc3182c7
VS
5872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
590 unknown types through.
591
f90a3cc0
VS
5922013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
595 (grub_util_check_char_device): Likewise.
596 * include/grub/emu/getroot.h: Likewise.
597
1e3e7419
VS
5982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
601 memset rather than inline static function.
602
92c88fc8
VS
6032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
606 not doing embedded decompressor.
607
3cd910a2
VS
6082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
611 shadowing.
612 * grub-core/kern/disk.c: Likewise.
613 * grub-core/kern/misc.c: Likewise.
614 * include/grub/parser.h: Likewise.
615 * include/grub/script_sh.h: Likewise.
616 * include/grub/zfs/zfs.h: Likewise.
617
7b3aca00
VS
6182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
621
97dfe7e4
VS
6222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
625 defined before trying to use it.
626
bf919aa9
VS
6272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
630 warning.
631
f4ccf29d
VS
6322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
635 Use __unused__ rather than __used__ on gcc < 3.2.
636
0d3a6f85
VS
6372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
640 gcc < 4.0.
641 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
642
757e3eb7
VS
6432013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
646
fb320faf
VS
6472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
650 * include/grub/emu/misc.h: Likewise.
651
ea73acd2
VS
6522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
655 cur_color.
656
71237a6f
VT
6572013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
658
659 * grub-core/tests/checksums.h: Regenerated due to progress bar
660 get_minimal_size changes.
661
3d46c22f
BC
6622013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
663
664 Added `tr' command support.
665
666 * grub-core/commands/tr.c: New file.
667 * grub-core/Makefile.core.def: Build rules for new module.
668
669 * tests/grub_cmd_tr.in: New test.
670 * Makefile.util.def: Build rules for new test.
671
47e0a61f
VT
6722013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
673
674 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
675
946fd073
VT
6762013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
677
678 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
679 * docs/gurb.texi: Likewise.
680
9c13c576
VT
6812013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
682
683 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
684 Pixmap highlighted section with east and west slices was displayed
685 incorrectly due to negative width of the central slice.
686
ad543f12
VT
6872013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
688
689 * docs/grub.texi: Graphical options information update.
690 Removed outdated. Updated current. Inserted missed.
691
6176a0cd
VS
6922013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * docs/grub.texi: Mention few new platform-specific commands.
695
9688cae2
VS
6962013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
699 currently used so this doesn't really have any effect.
700 Reported by: Douglas Ray <dougray>
701
f7b69a3f
VS
7022013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
705 compilation but prevents gcc from displaying messages in non-Latin
706 alphabets.
707 * conf/Makefile.common: Likewise.
708
ceca6ddf
HY
7092013-10-16 Hiroyuki YAMAMORI
710
711 Handle Japanese special keys.
712 Reported by: Hiroyuki YAMAMORI.
713 Codes supplied by: Hiroyuki YAMAMORI.
714
ac48d334
VT
7152013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
716
717 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
718
b2b71bff
VT
7192013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
720
721 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
722 * docs/grub.texi: Likewise.
723
669fc449
VS
7242013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
727 value in case of incomplete read.
728 (grub_util_fd_write): Likewise.
729
59381678
VS
7302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
733
bacfefbb
VS
7342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/grub-editenv.c (create_envblk_file): More from here ...
737 * util/editenv.c (grub_util_create_envblk_file): ... to here.
738
f7c49570
VS
7392013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
742 canonicalize file name before doing the rest.
743
7b83ca44
VS
7442013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
747 mingw32.
748
df1e64c9
VS
7492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
750
751 Define grub_util_is_directory/regular/special_file and
752 use OS-dependent versions rather than to rely on stat().
753
ec16e026
VS
7542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * util/grub-mkimage.c: Move backend part to ...
757 * util/mkimage.c: ... here.
758
4b4eeb3c
VS
7592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
760
761 Allow compilation with mingw64 albeit with warnings due to lack of
762 %llx/%llu.
763
764 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
765 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
766 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
767 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
768 on mingw64.
769 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
770
f4e0adc0
VS
7712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Remove leftover references to some of the system headers.
774
e0127364
VS
7752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
778 read.
779
20d53541
VS
7802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
783 of strerror.
784
5a869940
VS
7852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
786
787 Split out blocklist retrieving from setup.c to
788 grub-core/osdep/blocklist.c and add windows implementation since
789 generic version doesn't work on NTFS on Windows due to aggressive
790 unflushable cache.
791
c06c7520
VS
7922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
793
794 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
795 files.
796
8f53bb3f
VS
7972013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
800 Cut tailing newline. Remove arbitrary limitation. Always use
801 grub_util_tchar_to_utf8.
802
148f1007
VS
8032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
806 * tests/printf_unit_test.c (printf_test): Add %% tests.
807 Reported by: Paulo Flabiano Smorigo.
808
af3b06be
VS
8092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
812 implement fsync.
813
27f9d02e
VS
8142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * configure.ac: Check for nvlist_lookup_string in nvpair since we
817 use nvlist_lookup_string and don't use nvlist_print.
818
f6a81f0a
VS
8192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
820
821 Add wrappers around rename, unlink, mkdir, opendir, readdir and
822 closedir to handle filename charset translation.
823
d7750b32
VS
8242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * include/grub/emu/hostdisk.h: Move file operations to
827 * include/grub/emu/hostfile.h: ... here.
828
2859196e
VS
8292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
832 unicode path.
833
c018c968
VS
8342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
837
7e45abce
VS
8382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
839
840 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
841 and remove export.h.
842
23934da2
VS
8432013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/kern/emu/error.c: Removed.
846 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
847 explicitly as it's already in libgnu.a.
848
c11ebcc8
VS
8492013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
852 config-util.h include.
853
70671037
VS
8542013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
855
856 Split emunet into platform-dependent and GRUB-binding parts. Keep
857 platform-dependent part in kernel for easy access to OS functions.
858
25ac643a
VS
8592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
862 open/read/write.
863
69ca5876
VS
8642013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/osdep/windows/emuconsole.c: New file.
867
d9d68ef0
AB
8682013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
869
870 * conf/Makefile.extra-dist: Add osdep/*/init.c
871
58e211cc
VS
8722013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
875
588744d0
VS
8762013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * util/grub-probe.c (probe): Separate different drives in hint-str
879 by spaces and not newlines.
880 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
881
44016e52
AB
8822013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
883
884 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
885 Handle CD-ROMs.
886
6de9ee86
VS
8872013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
888
889 Pass-through unknown E820 types. It required reorganisation of mmap
890 module.
891
f8f3f155
AB
8922013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
893
894 * Makefile.util.def: Add osdep/init.c to grub-mount files.
895
b73249d2
VS
8962013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
897
898 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
899 fseeko.
900
dac86b18 9012013-10-14 qwertial <qwertial>
902
903 * grub-core/gdb_grub.in: Fix overflow and wrong field.
904
17614b84
JM
9052013-10-14 Jon McCune <jonmccune@google.com>
906
907 * docs/grub.texi: Document new signatures possibility.
908
6de292cb
VS
9092013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
910
911 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
912
84379b61
VS
9132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
916 missing prototype.
917 (grub_util_tchar_to_utf8): Likewise.
918
21d85db1
VS
9192013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
922 * grub-core/kern/emu/main.c: Add missing include.
923 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
924 Don't call grub_util_init_nls.
925 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
926 Likewise.
927
66a1b3ee
VS
9282013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
931 stat.
932
e19bec17
VS
9332013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
936
ee8c1b29
VS
9372013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
940
bb338aaf
VS
9412013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Add a wrapper for fopen. On unix-like systems just pass-through. On
944 windows use unicode version.
945
ae5540d3
VS
9462013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
947
948 Move set_program_name and init_nls to host_init. On windows
949 fix in this fuction console and argument charset as well.
950
4cd3c4fe
AB
9512013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
952
953 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
954 GRUB_ENABLE_CRYPTODISK.
955
956 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
957 GRUB_ENABLE_CRYPTODISK.
958 * util/grub-mkconfig_lib.in: Likewise.
959
78170f3e
CCZ
9602013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
961
962 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
963
3414b6c0
MC
9642013-10-12 Melki Christian <Christian.melki@saabgroup.com>
965
966 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
967 error when enabling debug.
968
6d0740e8
IB
9692013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
970
971 * configure.ac: Use -melf_*_obsd on openbsd.
972
ff2d4dc4
VS
9732013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
976
eac6ae82
VS
9772013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * include/grub/misc.h: Use gnu_printf rather than printf as format
980 template since our functions are independent of libc.
981
ba9baabe
VS
9822013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * util/grub-setup.c (setup): Move copying of partition table as
985 futher up as possible to avoid possible overwrite by floppy routines.
986
9872013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
988
989 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
990
145e2369
VT
9912013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
992
993 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
994 * docs/grub.texi: Likewise.
995
3530bc9d
VS
9962013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
999 it's mostly unused. Move vestiges to the callers.
1000
fb9f59c3
VS
10012013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
1004 version of salt and hash. Use grub_snprintf rather than snprintf.
1005
9be1c255
VS
10062013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * docs/grub.texi: Fix problem with braces.
1009
ed8c0887
VS
10102013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * conf/Makefile.extra-dist: Fix extra-dist list.
1013 * grub-core/Makefile.core.def: Likewise.
1014
f72ab14e
VS
10152013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * docs/grub.texi: Document disk names used on Windows and AROS.
1018
2fe53a22
VS
10192013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
1022 with AROS devs.
1023 * grub-core/osdep/aros/hostdisk.c: Likewise.
1024
71c1d67a
VS
10252013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Avoid including hostfile.h when not necessarry as it pulls
1028 in OS-specific headers which may redefine generic names
1029 like "far".
1030
ad297ec7
VT
10312013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1032
1033 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
1034 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
1035 scrollbar_bottom_pad
1036 * docs/grub.texi: Likewise.
1037
6e9e5dc9
VT
10382013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
1039
1040 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
1041
761c718b
VS
10422013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
1045
37149a2f
VS
10462013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
1049 Removed.
1050 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
1051 Made static.
1052
3837a151
VS
10532013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
1056 leftover.
1057
caca1c70
VS
10582013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Move OS-specific driver configuration to grub_util_fd_open. This
1061 moves OS-dependent parts from kern/emu/hostdisk.c to
1062 grub-core/osdep/*/hostdisk.c.
1063
f7676b70
VS
10642013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * util/grub-mkimage.c (generate_image): Use size_t instead of
1067 grub_size_t.
1068 * util/grub-mkimagexx.c (locate_sections): Likewise.
1069 (load_image): Likewise.
1070
22f98db2
VS
10712013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1074 size_t.
1075 (grub_util_write_image): Likewise.
1076
b102ce69
VS
10772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1080 get random when no RNG is available.
1081 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1082
acbbe5cb
VS
10832013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * include/grub/util/lvm.h: Removed.
1086
2112fb3f
VS
10872013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1090 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1091
79f78fbf
VS
10922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1095
c2e6f705
VS
10962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1099
aabe433a
VS
11002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/net/drivers/emu/emunet.c: Move to ..
1103 * grub-core/osdep/linux/emunet.c: ..here.
1104
9a2c903f
VS
11052013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * util/ieee1275/ofpath.c: Move to ...
1108 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1109 * grub-core/osdep/basic/ofpath.c: ..here.
1110
4a445f58
VS
11112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 Move password-querying (util-version) routines to grub-core/osdep.
1114
c1ca4244
VS
11152013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Move sleep routines to grub-core/osdep.
1118
672fa55e
VS
11192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Move OS-dependent files to grub-core/osdep and document it.
1122
a5b0365a
VS
11232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1126 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1127
29072e99
VS
11282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1131
f8772ea7
VS
11322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/misc.c: Remove leftover inclusion of malloc.h.
1135
a1a315e7
VS
11362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * include/grub/setjmp.h: Remove leftover GRUBOF.
1139
cef86fef
VS
11402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * util/raid.c: Fold into ...
1143 * util/getroot_linux.c: ... here. Make all functions static.
1144
c4cf25ee
VS
11452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1148 macros to GRUB ones.
1149
53a5f5c2
VT
11502013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1151
1152 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1153 occasional bug. If there are too many boot entries or too low
1154 scrollbar height then we need to use another formula to calculate
1155 the position and size of the scrollbar thumb.
1156
de300af2
VS
11572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1158
c4cf25ee 1159 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 1160
c5827364
VT
11612013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1162
1163 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1164 * docs/grub.texi: Likewise.
1165
dd2ed8b0
VT
11662013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1167
1168 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1169 viewport.
1170
7286c384
VT
11712013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1172
ffdfc1f3
VT
1173 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1174 minimal width calculations.
7286c384 1175
ea547e14
VS
11762013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * docs/grub.texi: Update note on colors on emu console.
1179
b726be76
VS
11802013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1183 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1184 it's FS and not GRUB limitation.
1185
a5f6ade6
VS
11862013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1189
3b0f3aa2
VS
11902013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1193
1db38304
ST
11942013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1195
1196 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1197 kernels by version order.
1198
fb295fc0
VS
11992013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1202
47345010
VS
12032013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Add AROS hostdisk and getroot routines.
1206
bf25f879
VS
12072013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Make cryptodisk and diskfilter probe data retrievable programmatically
1210 and not just printable.
1211
24ca4512
VS
12122013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 Split random retrieving code into separate files.
1215
c7c177f0
VS
12162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1219 R_ARM_V4BX.
1220
d71b45ae
VS
12212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1224 condition.
1225 * grub-core/tests/fake_input.c: Likewise.
1226 * grub-core/tests/cmdline_cat_test.c: Likewise.
1227
e44b9a83
VS
12282013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/video/capture.c: Do not do finalization when .fini
1231 is called as there is explicit capture_end.
1232
4fa60739
VS
12332013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1236 changing windows to avoid crash.
1237
17c8bc37
VS
12382013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1241
9d4d7977
VS
12422013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * po/exclude.pot: Add several strings to exclude.
1245
0caa407c
VS
12462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1249
9ae393da
VS
12502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1253 ./util/grub-gen-asciih.c to exclude list.
1254
498d5033
VS
12552013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1258 and don't mark error strings for translation.
1259
7d93298f
VS
12602013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1263 properly in case of missing block size.
1264
b2cae20c
VS
12652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/lib/arm/setjmp.S: Add missing license section.
1268
3896d6b4
VS
12692013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * po/swiss.sed: Add replacement for key names and for term computer.
1272
ebc1da55
VT
12732013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1274
1275 * grub-core/gfxmenu/theme_loader.c: New global options for the
1276 theme background image handling. desktop-image-scale-method,
1277 desktop-image-h-align, desktop-image-v-align.
1278 * grub-core/gfxmenu/view.c: Likewise.
1279 * include/gfxmenu_view.h: Likewise.
1280 * include/bitmap_scale.h: Proportional scale functions introduced.
1281 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1282 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1283 cases of unexpected input variables for scale functions.
1284 * docs/grub.texi: Updated documentation for new options.
1285
c5739143
VS
12862013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1289
be74aeb3
VT
12902013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1291
1292 * grub-core/tests/checksums.h: Corrected due to changes in
1293 bilinear interpolation function.
1294
d999ac72
VT
12952013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1296
1297 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1298 to eliminate artefacts in bilinear interpolation.
1299
2b131610
VS
13002013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/video/readers/tga.c: Support paletted tga.
1303
de6e5ff8
VS
13042013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1307 incorrect cbcr setting when in color mode.
1308
fa31ee9c
VS
13092013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/video/readers/png.c: Support paletted images and clean up
1312 greyscale support.
1313
e84f8188
VS
13142013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1317 usage of wrong table which resulted in mishandling of 4-byte
1318 sequences.
1319
13202013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
1321
1322 * grub-core/term/terminfo.c: Add Home and End key sequences.
1323
d72bff09
VS
13242013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1327 Fix formula for computing total number of bytes.
1328
29648c5d
VS
13292013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1332 image processing, fix big-endian and support grayscale.
1333
4a876492
VS
13342013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1337 Correctly will with maximum transparency when using index color.
1338
3ccf16df
VS
13392013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/video/readers/png.c: Support grayscale
1342
13432013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
1344
1345 * grub-core/video/readers/jpeg.c: Support grayscale.
1346
3ccf16df 13472013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
1348
1349 * grub-core/commands/loadenv.c: Support skipping signature check
1350 and variable names filtering.
1351
30b7f58f
VS
13522013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1355 * grub-core/kern/emu/hostfs.c: Likewise.
1356 * util/getroot_unix.c: Likewise.
1357
bab7b1eb
VS
13582013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1361 Migrate all explicit defines to this new one.
1362
43b1c99d
VS
13632013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1366 grub_util_fd_strerror when using grub_util_fd_*.
1367 (grub_util_fd_open_device): Likewise.
1368 (grub_util_biosdisk_read): Likewise.
1369 (grub_util_biosdisk_write): Likewise.
1370 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1371 (grub_util_fd_strerror): Likewise.
1372 (grub_util_fd_sync): Likewise.
1373 (grub_util_fd_close): Likewise.
1374 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1375 (grub_util_fd_close): Likewise.
1376 (grub_util_fd_strerror): Likewise.
1377 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1378 function proto rather than macro.
1379 (grub_util_fd_sync): Likewise.
1380 (grub_util_fd_open): Likewise.
1381 (grub_util_fd_strerror): New proto.
1382
e8fd80bc
VS
13832013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1386 platforms on which it doesn't work.
1387
bf645fda
VS
13882013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1391 stat immediately to where it's used.
1392
5177ba14
VS
13932013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * util/getroot.c (grub_util_check_block_device): Move to ...
1396 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1397 * util/getroot.c (grub_util_check_char_device): Move to ...
1398 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1399
9db826e1
VS
14002013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1403 disk closing logic.
1404
49120085
AB
14052013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1406
1407 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1408
b3328b68
AB
14092013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1410
1411 * docs/grub.texi (File name syntax): Document ZFS filenames
1412 (/volume@snapshot/...).
1413
3fff48ab
VS
14142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1417 Always return full path. Fixes a problem with mkrelpath.
1418
39cfdaa9
PFS
14192013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1420
1421 * util/grub-install.in: Add GPT PReP support.
1422 * util/grub-probe.c (probe): Support GPT partition type.
1423 (main): Support -t gpt_parttype.
1424
7c680e1f 14252013-09-23 Aleš Nesrsta <starous@volny.cz>
1426
1427 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1428
890bdabe
MM
14292013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1430
1431 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1432
9c262ff9
TH
14332013-09-23 Tim Hardeck <thardeck>
1434
1435 * util/grub.d/10_hurd.in: Filter out character for the class.
1436 * util/grub.d/10_kfreebsd.in: Likewise.
1437 * util/grub.d/10_linux.in: Likewise.
1438 * util/grub.d/20_linux_xen.in: Likewise.
1439
d755342a
MC
14402013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1441
1442 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1443 "changed".
1444
68b77707
JT
14452013-09-23 Josh Triplett <josh@joshtriplett.org>
1446
1447 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1448 boot partition.
1449
efa68bfa
VS
14502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1453 doesn't use posix_wrap. Keep literal -fno-builtin however.
1454
d9104204
VS
14552013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1458
c248781a 14592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14602013-09-23 neil
1461
5830df88 1462 * configure.ac: Do not enable -Wmissing-noreturn as its
1463 usefulness is limited and creates problems on some OS notably with
1464 code generated by bison.
1465
14662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14672013-09-23 neil
1468
1469 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1470 supported by all gcc and when it is, it's already enabled by -Wall.
1471
621bed69
VS
14722013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1475 desactivated use of EDID at all.
1476
71764dc8 14772013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14782013-09-23 neil
1479
1480 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1481 video if no text is available.
1482
affce7d4 14832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
14842013-09-23 neil
1485
1486 * configure.ac: Substitute TARGET_RANLIB.
1487
14882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14892013-09-23 neil
affce7d4
VS
1490
1491 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1492
1493 Based on patches from AROS.
1494
0e8daad0 14952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 14962013-09-23 neil
0e8daad0
VS
1497
1498 * grub-core/Makefile.am: Override STRIP and RANLIB.
1499 * configure.ac: compute TARGET_RANLIB.
1500 * INSTALL: Document TARGET_RANLIB
1501
1502 Based on patches from AROS.
1503
3f7d9c82
VS
15042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1507 that floppies are unpartitioned.
1508
bca8873a
VS
15092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1512 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1513
15142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1517 less nice but more portable.
1518 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1519
a47a78be
VS
15202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1523 for cheat_fd.
1524 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1525 functions.
1526 (grub_cryptodisk_cheat_insert): Likewise.
1527 (grub_cryptodisk_close): Likewise.
1528
e85a5d5c
VS
15292013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1532 Use windows path for DEFAULT_DIRECTORY.
1533
dad9fa6b
VS
15342013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1537 difference was likely just gcc version, not anything mingw-related.
1538
7e518ca8
VS
15392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Use Winapi on both cygwin and mingw32 to share more code between both.
1542
d68d0157
AB
15432013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1544
1545 * util/grub-install.in: Add --grub-editenv option.
1546 * util/grub-install_header (grub_compress_file): Explicitly check for
1547 plain file to avoid cp error.
1548
775b284d
AB
15492013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1550
1551 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1552 names; fix LVM driver name (lvm, not lv).
1553 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1554 names.
1555
3ff4063d
VS
15562013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1559 files rather than one file with loads of #if's.
1560 * util/getroot.c: Likewise.
1561
287faafe
VS
15622013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1565
d1983764
VS
15662013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1569 GNU/Hurd to the list of checked PRNG.
1570
15ce95c4
VS
15712013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1574
207862dd 15752013-09-21 Ales Nesrsta <starous@volny.cz>
1576
7c680e1f 1577 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1578
63653cfd
VS
15792013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1582 * grub-core/disk/lvm.c: Add LVM UUIDs.
1583 * util/getroot.c: Use LVM UUIDs whenever possible.
1584
f5d3e7ef
AB
15852013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1586
1587 * docs/grub.texi (Networking commands): Add documentation for
1588 network related commands.
1589
53c6b7d6
VS
15902013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1593 to determine if device is handled by devmapper.
1594 (convert_system_partition_to_system_disk): Likewise.
1595 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1596 already done in grub_util_open_dm.
1597
e70d6736
LL
15982013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1599
1600 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1601 Clean up stack manipulation (sync_caches_armv*)
1602
90379808
VS
16032013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * util/lvm.c: Remove since unused. Remove remaining references.
1606
386701a8
VS
16072013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Handle the case of partitioned LVM properly.
1610
1611 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1612 Stop on meeting LVM, mpath or DMRAID.
1613 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1614 (read_device_map): Likewise.
1615 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1616 device is full disk rather than erroring out on LVM and similar cases.
1617
53070787
VS
16182013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1621
1bc783bd
VS
16222013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1625 4K before the end.
1626 Reported by: Leif Lindholm
1627
436ad5c3
PW
16282013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
16292013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1632 codes.
1633
607319c9
CW
16342013-09-18 Colin Watson <cjwatson@ubuntu.com>
1635
1636 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1637 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1638
d404d154
DR
16392013-09-18 Douglas Ray <dougray@cpan.org>
1640
1641 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1642 as secure.
1643
28851ef6
AN
16442013-09-18 Aleš Nesrsta <starous@volny.cz>
1645
1646 * docs/grub.texi: Fix broken link.
1647
897c3bc6
MC
16482013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1649
1650 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1651 to break endless loop.
1652
f1630459
VS
16532013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * util/grub-fstest.c: Fix several printf formats.
1656 * util/grub-mkimage.c: Likewise.
1657 * util/grub-mkimagexx.c: Likewise.
1658 * util/grub-script-check.c: Likewise.
1659
64463dfd
VS
16602013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1663 error.
1664
48972495
VS
16652013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1668
5dd5e64b
VS
16692013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1672 removed in current versions cygwin_conv_*.
1673
1c1f31e5
VS
16742013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * configure.ac: Disable efiemu runtime on cygwin.
1677
c546a259
VS
16782013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1681 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1682
81690478
VS
16832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1686 error message.
1687
6b87c10a
VS
16882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1691 windows variant.
1692 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1693 data.
1694
8f0baaac
VS
16952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1698 when on x86 and not cygwin.
1699 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1700 -Wl,-melf_x86_64.
1701
b224c266
VS
17022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * configure.ac: Set CPP to build one when checkoing for freetype for
1705 build.
1706
506b336b
VS
17072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1710 [!GRUB_BUILD]: Remove has_argument.
1711
8c8c87b7
VS
17122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1715 Replace with a dummy.
1716
7dc5ca13
VS
17172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * configure.ac: Don't change host_os from mingw to cygwin.
1720
c3302aa5
VS
17212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * configure.ac: Change target_os from windows to cygwin.
1724
7b780018
VS
17252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1728
1729 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1730 (build-grub-gen-asciih): Likewise.
1731 (build-grub-gen-widthspec): Likewise.
1732 * Makefile.util.def (grub-pe2elf): Remove.
1733 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1734 * configure.ac: Separate tests for build.
1735 Move ./build-grub-pe2elf to grub-core.
1736 Fix typo.
1737 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1738 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1739 defined.
1740 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1741 constants.
1742 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1743 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1744 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1745
984cfd8a
VS
17462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1749 mingw32 as well based on grub_util_get_disk_size.
1750 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1751 grub_util_get_fd_size.
1752 (sync): Removed.
1753 (fsync): Moved to ...
1754 * grub-core/kern/emu/misc.c (fsync): ... here.
1755
f82d79c9
VS
17562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * include/grub/mm.h (grub_extend_alloc): Remove.
1759 * grub-core/loader/i386/pc/plan9.c: Use own version of
1760 grub_extend_alloc with appropriate types.
1761
fd7dd66d
VS
17622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1765
43ffba7c
VS
17662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1769
3c7eac44
VS
17702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 Fix dependencies on cygwin.
1773
1774 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1775 dependencies when used and defined.
1776 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1777
bdb5ba47
VS
17782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1781 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1782
ed7fbf43
VS
17832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1786 implementation available to cause compile-time rather than runtime
1787 error.
1788
fc46e9fc
VS
17892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * util/grub-fstest.c: Don't check for symlinks on windows.
1792
7f68269a
VS
17932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * INSTALL: Mention unavailability of man pages when cross-compiling.
1796
8ed358e0
VS
17972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1800 and gcry_log_bug.
1801 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1802
fc97214f
VS
18032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * INSTALL: Document cross-compilation.
1806 * acinclude.m4: Determine whether nm support -P and --defined-only.
1807 * configure.ac: Add TARGET_ to all variables pertaining to target
1808 that don't have it yet.
1809 * gentpl.py: Likewise.
1810 * grub-core/Makefile.am: Likewise.
1811 * grub-core/genmod.sh.in: Likewise.
1812 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1813 as well.
1814
ca1fb563
IB
18152013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1816
1817 * configure.ac: Remove -Wempty-body. It's not essential and needs
1818 recent gcc.
1819
0031b229
IB
18202013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1821
1822 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1823 * util/getroot.c: Likewise.
1824
54ea2f44
VS
18252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/disk/ahci.c: Add needed explicit cast.
1828 * grub-core/lib/backtrace.c: Likewise.
1829 * grub-core/net/ip.c: Likewise.
1830 * grub-core/net/tcp.c: Likewise.
1831 * grub-core/net/udp.c: Likewise.
1832
3c601f8c
VS
18332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1836
1d679dda
VS
18372013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * util/import_gcry.py: Add final newline in visibility.h.
1840
00c28dd9
VS
18412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * conf/Makefile.common: Fix typo.
1844
32af299a
VS
18452013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1848
e733cf52
VS
18492013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * Makefile.am (widthspec.h): Fix typo.
1852 * util/grub-gen-widthspec.c: Likewise.
1853
c6b066f2
VS
18542013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Move ascii.h and widthspec.h generation to a separate build-time-only
1857 tool.
1858
ad1fe3f9 18592013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1860
1861 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1862 Always fill bootdisk info and improve check for NetBSD disklabel.
1863
92a52dd4
VS
18642013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * conf/Makefile.extra-dist: Add util/bin2h.c.
1867 Reported by: floppym.
1868
b2e9d276
VS
18692013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1872
7b966834
VS
18732013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * configure.ac: Disable unifont and starfield if no freetype was found.
1876
d5c1eef1
VS
18772013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1880 on NetBSD and OpenBSD.
1881
66345b50 18822013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1883
1884 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1885
66345b50 18862013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1887
1888 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1889 reduced. Inheritant options are processed during the theme loading.
1890
66345b50 18912013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1892
1893 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1894
369508b3
AS
18952013-08-14 Avik Sil <aviksil@in.ibm.com>
1896
1897 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1898
18992013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1900
1901 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1902 using qemu.
1903
6f27a3f6
PFS
19042013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1905
1906 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1907 remove-potcdate.sed.
1908
c6ed362a
AB
19092013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1910
1911 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1912 unused attribute from pull argument.
1913
5e7d9464
AB
19142013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1915
1916 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1917 memory leak.
1918
dea55e2a
AB
19192013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1920
1921 * util/getroot.c (pull_lvm_by_command): add --separator option
1922 to vgs call to disable padding of output to 10 characters.
1923
f0b94ded
VS
19242013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1927 here ...
1928 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1929 here.
1930
b828fb5d
VS
19312013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1934 length.
1935
7c9d0c39
VS
19362013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1939 full Canadian cross. Tested with build=x86_64, host=arm,
1940 target=ppc-ieee1275.
1941
816719c8
VS
19422013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * configure.ac: Error if no $BUILD_CC could be found.
1945 Reported by: DevHC.
1946
2af2353b
VS
19472013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1950 i386-multiboot.
1951
797abd0a
VS
19522013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1955 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1956
36e87d25
CW
19572013-08-13 Colin Watson <cjwatson@ubuntu.com>
1958
1959 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1960 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1961 falling back to the partition device, otherwise a later call to this
1962 function may fail spuriously.
1963 Reported by Axel Beckert. Fixes Debian bug #708614.
1964
273349fe
GS
19652013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1966
1967 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1968
418f86c6
GS
19692013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1970
1971 Prevent shadowing of stdlib's devname(3) on BSD.
1972
1973 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1974 and devlast to diskname and disklast, respectively.
1975
c137aea0
CW
19762013-08-11 Colin Watson <cjwatson@ubuntu.com>
1977
1978 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1979
272dc8df 19802013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1981
1982 * docs/grub.texi: Introduce terminal window position options:
1983 terminal-left: terminal window's left position
1984 terminal-top: terminal window's top position
1985 terminal-width: terminal window's width
1986 terminal-height: terminal window's height
1987 terminal-border: terminal window's border width
1988 * grub-core/gfxmenu/theme-loader.c: Likewise.
1989 * include/grub/gfxmenu_view.h: Likewise.
1990 * po/exlude.pot: Likewise.
1991 * grub-core/gfxmenu/view.c: Likewise.
1992 Also updated minimal window size.
1993 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1994 * grub-core/tests/checksums.h: Update (terminal window height
1995 is adjusted now for low resolution screen)
b4743461 1996
748a4533
VS
19972013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
2000 position).
2001
fca5f944
VS
20022013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * po/exclude.pot: Add few recent exceptions.
2005
4f47d809
VS
20062013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * tests/grub_func_test.in: Add unicode.pf2.
2009
a62ae90c
VS
20102013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
2013 standard rather than noral color, in line with other terminals.
2014
4ed41392
VS
20152013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
2018 analysis.
2019
3719fbc5
VS
20202013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/loader/arm/linux.c: Change printf to dprintf.
2023
459b1d91
VS
20242013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
2027 inappropriate printf.
2028
f4e1ab9d
AB
20292013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
2030
2031 * .bzrignore: Remove grub-core/lib/dtc-grub,
2032 grub-core/Makefile.libfdt.def
2033 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
2034
fa471bfa
VS
20352013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * include/grub/video.h (grub_video_register): Keep double-linked as
2038 well as single-linked invariants.
2039 Reported by: qwertial.
2040
d65be02b
VS
20412013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/commands/nativedisk.c (get_uuid): Handle
2044 GRUB_DISK_DEVICE_UBOOTDISK_ID.
2045
ba8bc620
VT
20462013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
2047
2048 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
2049 maximum of NW, N, NE heights instead of N's height and maximum of
2050 NW, W, SW widths instead of W's width. (So the box will be always
2051 correctly drawn)
2052
4f0ad029
GS
20532013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2054
2055 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
2056 Fix misuse of variable count.
2057
43d53b72
LL
20582013-07-18 Leif Lindholm <leif.lindholm@arm.com>
20592013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
20602013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 2061
43d53b72
LL
2062 New ports to arm-uboot and arm-efi.
2063 Mostly by Leif Lindholm with some additions from
2064 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 2065
88f8d146
VS
20662013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2069 and not before.
2070 Reported by: Leon Drugi.
2071
3f42504c
VS
20722013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2075 Reported by: Paulo Flabiano Smorigo.
2076
d110499b
VT
20772013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2078
2079 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2080
a8674ad3
VT
20812013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2082
2083 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2084
286fe4b3
VS
20852013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2088
1bd57aa3
VS
20892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2092
7a87d69f
AB
20932013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2094
2095 * grub-core/net/bootp.c: Export net_* variables.
2096 * grub-core/net/net.c: Likewise.
2097
b2182299
VS
20982013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2101
795b3dc0
VS
21022013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2105
68714c43
VS
21062013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2109
af211bab
VS
21102013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2113
0036f02d
MM
21142013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2115
2116 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2117 <= 0.
2118
6d0ddff3
MM
21192013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2120
2121 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2122 functions.
2123
038016f4
MM
21242013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2125
2126 * grub-core/fs/zfs/zfs_lz4.c: New file.
2127 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2128
776bdce2
MM
21292013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2130
2131 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2132
c71dbd40
MM
21332013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2134
2135 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2136 (check_pool_label): Likewise.
2137 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2138
21392013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
2140
2141 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2142
8e67b50f
AB
21432013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2144
2145 * docs/grub.texi (Commands): Document postition parameters
2146 for menuentry command.
2147
f5ae3717
AB
21482013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2149
2150 * util/grub-mknetdir.in: Remove stray line from help output.
2151
9c28da2a
VS
21522013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 Remove early sm712 init as there is no reason for it (the "watchdog"
2155 effect was due to wrong GPIO map).
2156
139072b8
VS
21572013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/commands/pcidump.c: Remove static variables.
2160
c6a61bda
VS
21612013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2164
51369614
VS
21652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * configure.ac: Move delimiter after the infos.
2168
efa8640a
VS
21692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2172
6f80a7b2
VS
21732013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2176 not filling whole 8x16 space.
2177
a2371e19
VS
21782013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2181
64fce2d8
VS
21822013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * configure.ac: Indicate which liblzma is used if any.
2185
eb272d84
PW
21862013-06-21 Paul Wise <pabs3@bonedaddy.net>
21872013-06-21 Craig Sanders <savannah@taz.net.au>
2188
2189 * util/grub-reboot.in: Document submenu usage.
2190
a9e5abee
CW
21912013-06-25 Colin Watson <cjwatson@ubuntu.com>
2192
2193 * .bzrignore: Update with a number of new test-related files.
2194
e639c204
CW
21952013-06-25 Colin Watson <cjwatson@ubuntu.com>
2196
2197 * util/grub-script-check.c: Fail on scripts containing no
2198 commands, to guard against corrupted grub-mkconfig setups that
2199 produce no useful output.
2200 * tests/grub_script_no_commands.in: New test.
2201 * Makefile.util.def (grub_script_no_commands): Add.
2202 Reported by Hans Putter. Fixes Debian bug #713886.
2203
a4c89b17
AB
22042013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2205
2206 * grub-core/disk/diskfilter.c: Forgot to remove comment
2207 from previous commit.
2208
5b06b53c
AB
22092013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2210
2211 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2212 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2213
702da5c9
AB
22142013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2215
2216 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2217
aa62a5b7
AB
22182013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2219
2220 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2221 rescan diskfilter devices until nothing new is found.
2222
4aa237c8
VS
22232013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2226
93d8479b
VS
22272013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Don't try to detect cbfs on *-emu.
2230
837222cc
VS
22312013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2234
99c971af
VS
22352013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Add support for processed coreboot payload chainloading.
2238
e6930a45
VS
22392013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 Enable coreboot information commands even when not loaded as
2242 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2243
5027af38
VS
22442013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 Support for cbfs. Also factor out the part which is common
2247 for all archives to a separate module. This splits tar from cpio
2248 as they are very different but keeps cpio, cpio_be, odc and newc
2249 together since they're very similar.
2250
a5b55c4b
DM
22512013-06-15 David Michael <fedora.dm0@gmail.com>
2252
2253 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2254 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2255
0301a8b3
VS
22562013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * tests/grub_script_eval.in: Really add the eval test.
2259
3d84cb17
VS
22602013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Move flavour-specific parts out of common cpio.c file and
2263 rename remaining to cpio_common.c
2264
593e430c
AB
22652013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2266
2267 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2268 off new function grub_script_execute_new_scope. Change callers to use
2269 either of them as appropriate.
2270 * grub-core/commands/eval.c: New command eval.
2271 * docs/grub.texi (Commands): Document it.
2272
63c29849
AB
22732013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2274
2275 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2276 to fetch values when listing.
2277
cc284112
AB
22782013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2279
2280 Fix make dist on non-pc.
2281
22822013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
2283
2284 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2285 without a device name.
2286
69544d1e
VS
22872013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 Remove enable_executable_check as it's not needed anymore.
2290 Reported by: dougray.
2291
96dbe648
VS
22922013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2295 ambigouos RAID before discovering RAIDs on top of it.
2296 Reported by: bodom.
2297
ccfc0bdb
VS
22982013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 Fix typo (failback vs fallback).
2301
f2587088
AB
23022013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2303
2304 * util/grub.d/30_os-prober.in: Add support for probing EFI
2305 System Partition (as of os-prober 1.58).
2306
cec5cf0c
VS
23072013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * configure.ac: Add yet another path to unifont. For parabola.
2310
e40b4596
JT
23112013-05-30 Josh Triplett <josh@joshtriplett.org>
2312
2313 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2314 handling to copy the killed characters to the kill buffer as
2315 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2316 stored as char. Eliminates UCS4 truncation and corruption
2317 observed when killing characters with Ctrl-u and yanking them
2318 back with Ctrl-y.
2319
fc4c4fdd
VS
23202013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Detach optional parts of gfxterm and integrate in with coreboot init.
2323
6570b205
VS
23242013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Move blit and fill dispatcher to appropriate files to decrease export
2327 and relocation overhead.
2328
b8323067
VS
23292013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2332 functions.
2333
3cc1878f
VS
23342013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/Makefile.am: Fix compilation problem with some
2337 automake versions.
2338
4b80e43c
VS
23392013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2342
57e0c20c
VS
23432013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2346 automake versions.
2347
4fd42c53
VS
23482013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2351 SSDT.
2352
1e908b34
RS
23532013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2354
2355 * grub-core/partmap/dfly.c: New partition map.
2356
1359e474
VS
23572013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2360 checking.
2361 Reported by: Francesco Lavra.
2362
17806392
AB
23632013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2364
2365 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2366 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2367 false conditions.
2368 * conf/Makefile.common: define dist_grubconf_DATA
2369
cdce14fa
VS
23702013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 Progressively skip menu elements on small terminals rather
2373 than crashing.
2374
c8d6cc3c
VS
23752013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2378 to avoid losing last column.
2379
a73b31ce
VS
23802013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * po/exclude.pot: Add missing string "%C".
2383
1202c764
VS
23842013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2387 after the test.
2388
50268344
VS
23892013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * util/grub-install.in: Gettextize "Not found" message.
2392
62b15edf
VS
23932013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Fix distfiles list.
2396 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2397
23982013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2399
2400 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2401 present.
2402 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2403
709ad61b
VS
24042013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2407
d128901a
VS
24082013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2411 attribute since structure is not necessarily aligned.
2412
34b22f5c
AB
24132013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2414
2415 * docs/grub.texi (Device syntax): Clarify description of network
2416 drives.
2417
0f7e980b
VS
24182013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2421 for vasprintf presence.
2422
30b03dc2
VS
24232013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-install.in: Handle efibootmgr presence check.
2426 Reported by: Leif Lindholm.
2427
0dc11c08
VS
24282013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2431 new strings to translate.
2432
f8024c3f
VS
24332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2436 yet another string (pun intended) to translate.
2437
b4c1da62
VS
24382013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * po/POTFILES-shell.in: Autogenerate it.
2441
0ef7478b
VS
24422013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2445
8200fa15
VS
24462013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2449 misnomer.
2450
091945b2
AB
24512013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2452
2453 * docs/grub.texi (Network): Add description of net_default_interface,
2454 net_default_ip and net_default_mac. Rewrite variables description
2455 to emphasize that they are per-interface.
2456
0e7b2e32
VS
24572013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 New test: cmdline and cat.
2460
16f7c8f6
VS
24612013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/commands/cat.c: Show UTF-8 characters.
2464
3e912fda
VS
24652013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * conf/Makefile.common: Poison float and double on non-emu.
2468
ee0220bc
VS
24692013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * configure.ac: Don't disable extended registers on emu.
2472
89e0240c
VS
24732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * configure.ac: Don't use extended registers on x86_64.
2476 Reported by: Peter Jones.
2477
e56d9637
VS
24782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/term/efi/console.c: Fix compile error.
2481
8098f655
VS
24822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Compressed HFS+ support.
2485
16940e07
VS
24862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2489 pixel".
2490
c5dbc13d
VS
24912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 Menu color test.
2494
011f8ae8
VS
24952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/tests/setjmp_test.c: New test.
2498
2aa072d7
VS
24992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 New variables 'net_default_*' to determine MAC/IP of default interface.
2502
43fe02cb
VS
25032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * tests/gettext_strings_test.in: A test to check for strings not
2506 marked for translation.
2507
bed06142
VS
25082013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * autogen.sh: Exclude unused libgcrypt files from translation.
2511
fb2666b5
VS
25122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 Simplify few strings.
2515
d22840ec
VS
25162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Mark few forgotten strings for translation.
2519
e34092fd
VS
25202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2523 rather than printf.
2524
47cf82b4
VS
25252013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2528 rather than printf.
2529 * grub-core/video/readers/tga.c: Likewise.
2530
1eed0e6e
VS
25312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * tests/priority_queue_unit_test.cc: New test.
2534
c5b7697b
VS
25352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2538 than printf.
2539
5945c2f8
AB
25402013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2541
2542 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2543 variable for one time boot menu entry.
2544
fa292343
B
25452013-05-05 Bean <bean123ch@gmail.com>
2546
2547 * grub-core/commands/testspeed.c: New command testspeed.
2548
310d4214
VS
25492013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 Factor-out human-size printing.
2552
85002bf3
VS
25532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 Agglomerate more mallocs to speed-up gfxterm.
2556
22b06e96
VS
25572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 Speed-up gfxterm by slightly agglomerating mallocs.
2560
b7c036bc
VS
25612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 More video checks.
2564
92323d1f
VS
25652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Speed-up gfxterm by saving intermediate results in index+alpha
2568 format.
2569
0fb356a3
VS
25702013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2573 test.
2574
44dea3f9
VS
25752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2578 line of timeout as it may contain the rest of long line.
2579
14af86e4
VS
25802013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/normal/main.c: Fix freed memory dereference.
2583
03f7c8c3
VS
25842013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Fix several memory leaks.
2587
c686014c
VS
25882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2591
0788a695
VS
25922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2595
daf01d61
VS
25962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Fix test -a and -o precedence.
2599 Reported by: adrian15.
2600
82ae74d7
VS
26012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2604
8cec7bd4
AB
26052013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2606
2607 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2608 and add it as source to functional_test module.
2609
aa73d688
VS
26102013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2613
c104b6f9
VS
26142013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 New series of tests for gfxterm and gfxmenu.
2617
7391c4d5
VS
26182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2621 the theme path relative to $prefix/themes.
2622
cff50118
VS
26232013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2626 Fix order bug.
2627 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2628
7c332bdc
VS
26292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2632 descriptor.
2633
a4f9a5ff
VS
26342013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2637 grub_gfxmenu_timeout_notifications.
2638 (grub_gfxmenu_view_destroy): Likewise.
2639
b5a2114d
VS
26402013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2643
a8905e8a
VS
26442013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 Several fixes to ieee1275 and big-endian video.
2647
813c1622
VS
26482013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Add missing exports on mips.
2651
3f3e7326
VS
26522013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2655 if no unifont is found.
2656 Restore original keyboard.
2657
095accd1
VS
26582013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2661 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2662
50361660
VS
26632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 First automated video test (running videotest and comparing results)
2666
cd0f6eec
VS
26672013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2670 instead of 2 to have full RGB/CMY test pattern.
2671
3f9634e5
VS
26722013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Add few more tests.
2675
583e5b64
VS
26762013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2679 ARCS. All users updated.
2680
aa7bcb99
VS
26812013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2684
95ef1a54
VS
26852013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2688
46546fc5
VS
26892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2692 Reported by: qwertial.
2693
3476e0ef
VT
26942013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2695
2696 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2697 with syntax "XXX deg"/"XXX °".
2698
96f33fed
VS
26992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 Make PCI init in i386-qemu port more robust.
2702
27032013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2704
2705 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2706 cached view is reused.
2707 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2708 open boot menus.
2709
c53b4e67
VS
27102013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Unify more code in grub-install_header.
2713
f7457fb2
VS
27142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Add few new tests.
2717
e2f27a8c
VS
27182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Enforce disabling of firmware disk drivers when native drivers kick in.
2721
ef9d8cd5
VS
27222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/commands/nativedisk.c: Customize the list of modules on
2725 platform. Don't try to search for disks already using native drivers.
2726
f7bf6c31
VS
27272013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2730 platforms.
2731
bdc4add8
VS
27322013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2735 handling of variables containing backslash.
2736
e9e46c9a
VS
27372013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2740 dereference.
2741 Reported by: qwertial.
2742
0e90dee8
VS
27432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2746
e0aacf24
VS
27472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2750 dereference.
2751 Reported by: qwertial.
2752
3c0003c3
VS
27532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2756
adb7d667
VS
27572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2760
7cd0df84
VS
27612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 New command `nativedisk'.
2764
02adbb93
VS
27652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2768 * grub-core/loader/i386/bsd.c: Likewise.
2769
9fb0fd4f
VS
27702013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2773
bd69257a
VS
27742013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2777 grub_get_unaligned16 rather than shifts.
2778
178c2764
VS
27792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/kern/file.c: Use const char * rather than casting to
2782 non-const.
2783
eadfad24
VS
27842013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/commands/probe.c: Add missing grub_device_close.
2787
9f73ebd4
VS
27882013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * INSTALL: Document linguas.sh.
2791
965fa829
VS
27922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Remove POTFILES.in and regenerate it in autogen.sh.
2795
d417ddc4
VS
27962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 Move --directory/--override-directorry to grub-install_header and unify.
2799
f97ec546
VS
28002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/term/morse.c: Macroify dih and dah.
2803
b2d7470c
PFS
28042013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2805
2806 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2807
141e2a78
VS
28082013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * grub-core/term/ns8250.c: Systematically probe ports by writing
2811 to SR before using them.
2812
1dd70ebd
PFS
28132013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2814
2815 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2816 disks.
2817 (check_sas): Get sas_adress info.
2818
c796a107
VS
28192013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2822 ports.
2823
43168646
LD
28242013-04-27 Leon Drugi <eyak>
2825
2826 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2827 BSS clearing.
2828
e7b8fd08
VS
28292013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Core compression test.
2832
17f9fd29
VS
28332013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Implement grub_machine_get_bootlocation for ARC.
2836
dc2a6c8b
VS
28372013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Improve AHCI detection and command issuing.
2840
f25a2ba6
VS
28412013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Fix pseries test.
2844
a6393224
VS
28452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 Make 'make check' work on emu.
2848
db99fbe8
VS
28492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 Replace libcurses with our own vt100 handling for the ease of testing
2852 and decreasing prerequisites.
2853
b24ca7cd
VS
28542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2857
63314aa4
VS
28582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2861 compile when not needed.
2862
c1b00fff
VS
28632013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * tests/pseries_test.in: New test.
2866
f93e89ef
VS
28672013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Add test to check that different boot mediums work.
2870
c4b456d3
VS
28712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2874 ofw limited ISO support.
2875
5fe67f39
VS
28762013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * configure.ac: Fix loongson conditional.
2879
7f63a64f
VS
28802013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 Enable mipsel-arc.
2883
b04b5990
VS
28842013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Add serial on ARC platform.
2887
88d2f302
VS
28882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2891 commit.
2892
86eb23bc
VS
28932013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * tests/partmap_test.in: Add missing double semicolon.
2896
eec3bb75
VS
28972013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * util/grub-mkrescue.in: Fix loongson filename.
2900
e0810df3
VS
29012013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * util/grub-mkrescue.in: Move all files that don't have a location
2904 set in stone under /boot/grub. Use ISO hard links rather than copies
2905 to save some space.
2906
65a6b30b
VS
29072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2910 bogus SLOF values.
2911
6aff0107
VS
29122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 Make check work on mips-arc.
2915
5e013e56
VS
29162013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * util/grub-mkrescue.in: Alias sashARCS as sash.
2919
d1989e2e
VS
29202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2923 it's serial.
2924
1a25e72c
VS
29252013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * util/grub-install.in: Fix target fo qemu_mips.
2928 Fix extension on EFI.
2929
a59a9826
VS
29302013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2933 in front of chosen entry to mark it even if highlighting is lost.
2934
1a40f80c
VS
29352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2938 gfxpayload=keep if cbfb is active.
2939
e343549c
VS
29402013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2943
45fbd9a2
VS
29442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Add missing video ids to coreboot and ieee1275 video.
2947
ab1440bd
VS
29482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * util/grub-mkrescue.in: Add mips-arc support.
2951
cdeb8324
VS
29522013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2955
8528c879
VS
29562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 Move mips-arc link address. Previous link address was chosen
2959 in belief that RAM on SGI platforms grows down while in fact it
2960 grows up from an unusual base.
2961
17fca573
VS
29622013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2965 Fix a type which prevented CD-ROM and floppy boot.
2966
d178788e
VS
29672013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Support coreboot framebuffer.
2970
2971 * grub-core/video/i386/coreboot/cbfb.c: New file.
2972
fe4c3e7e
VS
29732013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2976 detecting too small regions.
2977
ec2dd179
VS
29782013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2981
872dac83
VS
29822013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2985 Remove dprintf.
2986 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2987
90ec4b7f
VS
29882013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2991 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2992 * grub-core/loader/powerpc/ieee1275/linux.c
2993 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2994
f32555dd
VS
29952013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2998 Look for /boot-rom as well as /rom/boot-rom.
2999
38649799
VS
30002013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
3003 handling when creating text_layer failed.
3004 * grub-core/video/video.c (grub_video_create_render_target):
3005 Set result to 0 on error.
3006 (grub_video_delete_render_target): Do not dereference NULL.
3007
aeace7f7
VS
30082013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
3011 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
3012 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
3013 (grub_linux_load64): Mask out 2 high bits.
3014
4eafa175
AB
30152013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
3016
3017 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
3018 more place.
3019
daaa64bd
VS
30202013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 Add support for pseries and other bootinfo machines to grub-mkrescue.
3023
3024 Tested by: Paulo Flabiano Smorigo.
3025
d0d2daa6
VS
30262013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * util/grub-mkrescue.in: Add GPT for EFI boot.
3029
b193e100
VS
30302013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
3033 It improves performance in qemu.
3034
a0f8f3ac
VS
30352013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * build-aux/snippet: Add missing gnulib files.
3038
284df0e2
AB
30392013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3040
3041 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
3042
740201f3
AB
30432013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
3044
3045 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
3046
a7e03923
PJ
30472013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
30482013-04-15 Peter Jones <pjones@redhat.com>
3049
3050 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
3051 sectors.
3052 Based on patch by Peter Jones.
3053
25fc51a8
VS
30542013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 Fix DMRAID partition handling.
3057
88017d47
VS
30582013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * tests/grub_cmd_date.in: Skip on sparc64.
3061
fa7d914e
VS
30622013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3065 firmware error messages.
3066
cbe57a48
VS
30672013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3070 source and destination differ.
3071
21aecce0
VS
30722013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3075 detection.
3076
25092d29
VS
30772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3080 match config-util.h to avoid warnings and increase compatibility.
3081
79451522 30822013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 30832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
3084
3085 Add option to compress files on install/image creation.
3086
78b7d77b
VS
30872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * docs/grub-dev.texi: Rearrange menu to match the section order.
3090 Reported by: Bryan Hundven.
3091
cc2fa5ec
VS
30922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3095
b49fe879
VS
30962013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 Move GRUB out of system area when using xorriso 1.2.9 or later.
3099
5351da81
VS
31002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * tests/grub_cmd_date.in: Add missing exit 1.
3103
c9d586ea
VS
31042013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * tests/partmap_test.in: Skip on sparc64.
3107
3f729741
VS
31082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Support grub-shell on sparc64.
3111
8ca86b3a
VS
31122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Support mkrescue on sparc64.
3115
aa1af9bb
VS
31162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3119 Needed on OpenBIOS due to incomplete device tree.
3120
ac4fea79
VS
31212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3124 would be otherwise excluded.
3125
31262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
3127
3128 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3129 Inline name defines used only once.
3130
fe22b071
VS
31312013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 Fix memory leaks in ofnet.
3134 Reported by: Francesco Lavra.
3135
9d21381b
VS
31362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * docs/man/grub-glue-efi.h2m: Add missing file.
3139
07aec23c
VS
31402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3143
67ab8353
VS
31442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Better support Apple Intel Macs on CD.
3147
ba44ca6d
VS
31482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Replace stpcpy with grub_stpcpy in tools.
3151
bbdd6305
VS
31522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Handle Japanese special keys.
3155 Reported by: Hiroyuki YAMAMORI.
3156 Codes supplied by: Hiroyuki YAMAMORI.
3157
8573d302
VS
31582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * util/grub-mkimage.c: Document memdisk implying --prefix.
3161
d70dbab7
VS
31622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3165 much we can do about it anyway.
3166
51a4c3e3
AN
31672013-04-12 Aleš Nesrsta <starous@volny.cz>
3168
3169 Fix handling of split transfers.
3170
92c8f58d
VS
31712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/net/http.c: Fix bad free.
3174
b7d17a49
VS
31752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3178 than buffer size.
3179
a3d566d4
VS
31802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3183
a936af56
VS
31842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * tests/util/grub-shell.in: Fix it on powerpc.
3187
51212234
VS
31882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 Turn off QEMU ACPI-way since new releases don't have shutdown port
3191 anymore.
3192
a21eec9e
VS
31932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * docs/grub.texi: Update coreboot status info.
3196
e3734b84
VS
31972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * tests/grub_cmd_date.in: New test for datetime.
3200
f9d40055
VS
32012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * tests/partmap_test.in: Fix missing qemudisk setting.
3204
dbc56d8f
VS
32052013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 Support i386-ieee1275 grub-mkrescue and make check on it.
3208
a79b8a15
VS
32092013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3212 feature for it.
3213
48f39bb4
VS
32142013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3217 GRUB_CMDLINE_XEN_DEFAULT.
3218 Reported by: Marc Warne (GigaTux) <gigatux>
3219
053cfcdd
VS
32202013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Import new gnulib.
3223
93cd84df
VS
32242013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 Use ACPI shutdown intests as traditional port was removed.
3227
f4b1fa4f
AB
32282013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3229
3230 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3231 distinction.
3232
49818a59
VS
32332013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3236 Fix few warining messages and leaks while on it.
3237
9277a306
AB
32382013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3239
3240 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3241 links under grub-core/lib/libgcrypt-grub/mpi.
3242
d5e2a158
VS
32432013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Fix ia64-efi image generation on big-endian machines. Deduplicate
3246 some code while on it.
3247 Reported by: Leif Lindholm.
3248
18866643
AB
32492013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3250
3251 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3252 as extra_dist.
3253
ca53deb8
AB
32542013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3255
3256 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3257
d4c4b8e1
BH
32582013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3259
3260 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3261 texinfo-5.1.
3262
47043f95
VS
32632013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/normal/term.c: Few more fixes for menu entry editor
3266 rendering.
3267 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3268
a3216068
VS
32692013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/normal/term.c: Few more fixes for menu entry editor
3272 rendering.
3273 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3274
21026747
AB
32752013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3276
3277 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3278 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3279
59624ca8
AB
32802013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3281
3282 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3283 instead of hardcoding grub.mo.
3284
1f44478c
FN
32852013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3286
3287 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3288
eeada7b1
VS
32892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3292 grub-core/disk/geli.c.
3293
132867de
VS
32942013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * util/grub-mkfont.c: Prefer enum to #define.
3297
de73de17
VS
32982013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3301
1865baa7
VS
33022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3305
ce7d92a9
VS
33062013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3309
52eab656
VS
33102013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3311
3312 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3313
98b23b95
VS
33142013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * include/grub/bsdlabel.h: Use enums.
3317
0467a5dd
VS
33182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Move GRUB_CHAR_BIT to types.h.
3321
16cc9f03
AB
33222013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3323
3324 * docs/grub.texi: Document more user commands.
3325
3152aecb
AB
33262013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3327
3328 * docs/grub.texi: Document menuentry --id option.
3329
c506fc30
FL
33302013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3331
3332 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3333
aa428238
VS
33342013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Unify file copying setup across different install scripts. Add
3337 options for performing partial install.
3338
efe0cdda
PJ
33392013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33402013-04-04 Peter Jones <pjones@redhat.com>
3341
3342 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3343
f75835bd
VS
33442013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 Use TSC as a possible time source on i386-ieee1275.
3347
2cd5ce6c
VS
33482013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3351 Init err.
3352
c9625630
VS
33532013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * util/grub-setup.c (setup): Handle some corner cases.
3356
be008941
VS
33572013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3360
1a78d573
VS
33612013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/commands/verify.c: Save verified file to avoid it being
3364 tampered with after verification was done.
3365
db8ff59f
VS
33662013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3369 reported width by one to compensate for curesor algorithm problem.
3370
91bf46b1
VS
33712013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Fix screen corruption in menu entry editor and simplify the code
3374 flow while on it.
3375
a7b1d693
AB
33762013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3377
3378 * util/grub-mount.c (fuse_init): Return error if fuse_main
3379 failed.
3380
31df9ad8
FL
33812013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3382
3383 * include/grub/elf.h: Add missing ARM relocation codes and fix
3384 existing ones.
3385
07f392eb
VT
33862013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3387
3388 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3389
9efd73ec 33902013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
33912013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3394 into account when calculating radius.
3395
33962013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3397
3398 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3399
4985ddaa
VT
34002013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3401
3402 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3403
8c3635ff
RS
34042013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3405
3406 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3407 missing closing bracket.
3408
74a35e69
RS
34092013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3410
3411 * INSTALL: Mention xorriso requirement.
3412
40f1c000
AB
34132013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3414
3415 * grub-core/commands/verify.c: Fix hash algorithms values for
3416 the first three hashes - they start with 1, not with 0.
3417
e75fdee4
VS
34182013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3421 Try terminating EFI services several times due to quirks in some
3422 implementations.
3423
33028f4c
CW
34242013-03-26 Colin Watson <cjwatson@ubuntu.com>
3425
3426 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3427 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3428 BankField extended opcodes.
3429 (get_sleep_type): Add minimal scope handling (just enough to
3430 handle setting the scope to the root path).
3431 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3432 * include/grub/acpi.h: Add enumeration values for Event, Device,
3433 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3434
33871a10
VT
34352013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3436
3437 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3438 memory leak.
3439
8990963a
VS
34402013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/disk/ahci.c: Give more time for AHCI request.
3443
daae8f9e
VS
34442013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3447 command.
3448
6a7fb94b
VS
34492013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 Replace the region at 0 from coreboot tables to available in BSD
3452 memory map.
3453
ff99babd
VS
34542013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3457 non-BIOS platforms.
3458
30d6b1b2
VS
34592013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3462 platforms.
3463
6ccd0b31
VS
34642013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3467 handling of multi-device filesystems.
3468
23c9cc04
VS
34692013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3472 platforms.
3473
ce50dbd7
VS
34742013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Add new 'proc' filesystem framework and put luks_script into it.
3477
d975e8d5
VS
34782013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3481 and qemu.
3482
e73ba5e8
VS
34832013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3486
92750e4c
VS
34872013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 Add ability to generate newc additions on runtime.
3490
0ec45a68
VS
34912013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3494 description.
3495
320abd43
VS
34962013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * po/POTFILES.in: Regenerate.
3499
d7a6506e
VS
35002013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/commands/verify.c (hashes): Add several hashes
3503 from the spec.
3504
8fe05def
VS
35052013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 Slight improve in USB-related boot-time checkpoints.
3508
524e2766
VS
35092013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/commands/boottime.c: Fix copyright header.
3512
cc19857a
VS
35132013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3516 coreboot tables content. Support for cbmemc.
3517
ef8810e9
VS
35182013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Fix a conflict between ports structures with 2 controllers of
3521 same kind.
3522
e9dabdfa
VS
35232013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * include/grub/boottime.h: Add missing file.
3526
f6df57d2
VS
35272013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 Initialize USB ports in parallel to speed-up boot.
3530
d745dda7
VS
35312013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 Fix USB devices not being detected when requested
3534 due to delayed attach.
3535
e5a2dd7b
VS
35362013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3537
e744219b
VS
3538 Implement boot time analysis framework.
3539
35402013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3543 descriptor to just receive it as argument rather than endpoint
3544 address.
3545
5dd6f587
VS
35462013-03-19 Aleš Nesrsta <starous@volny.cz>
3547
3548 Better estimate the maximum USB transfer size.
3549
2f1071d5
VS
35502013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 Resend a packet if we got the wrong buffer in status.
3553
46ecfc49
VS
35542013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3557 multiplication rather than division.
3558
ea811130
VS
35592013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3562 than divisions.
3563
d2789cf0
VS
35642013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3567 operations to have intended shifts and not divisions.
3568
a9c94590
VS
35692013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3572 intended shifts rather than division.
3573
84cfe81b
VS
35742013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3577 computation for some years before epoch. Avode confusing division
3578 while on it.
3579
21344ef6
VS
35802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/video/i386/pc/vbe.c
3583 (grub_video_vbe_print_adapter_specific_info): Replace division by
3584 shifts.
3585
3f2b4d1a
VS
35862013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 Adjust types in gdb module to have intended unsigned shifts rather than
3589 signed divisions.
3590
3dac5878
VS
35912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3594 maximum size is 4G - 1 on hfs
3595
5341c0fb
VS
35962013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3599
fc3ff2a2
VS
36002013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3603 function.
3604
81455e8e
AB
36052013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3606
3607 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3608 causing gcc error with gcc 4.7.1.
3609
efd4f117
NZ
36102013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3611
3612 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3613 dereference null pointer. While the code is technically correct, gcc
3614 may eliminate a null check if pointer is already dereferenced.
3615
e11645f4
NZ
36162013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3617
3618 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3619 OOM check.
3620 * grub-core/normal/term.c (read_terminal_list): Likewise.
3621
77468368
VS
36222013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Lift up core size limits on some platforms. Fix potential memory
3625 corruption with big core on small memory systems. Document remaining
3626 limits.
3627
f6b58fe5
VS
36282013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3631 gotoxy to 0,0.
3632
19ce697d
VS
36332013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Remove all trampoline support. Add -Wtrampolines when
3636 present. Remove symbols used for trampolines to make
3637 link fail if trampolines are present.
3638
73b5d90f
VS
36392013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3642 append out of its parent.
3643
cb758e96
VS
36442013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3645
3646 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3647 parent.
3648
3188131f
VS
36492013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3652 all vars to a macro. All users updated.
3653
e42b2514
VS
36542013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3657 i386-ieee1275.
3658
83e1a1a1
VS
36592013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3662
1d5a880f
VS
36632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3666
6e4146c4
VS
36672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 Move to more hookless approach in IEEE1275 devices handling.
3670
99fcda8a
VS
36712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/kern/term.c (grub_term_normal_color),
3674 (grub_term_highlight_color): Add back lost defaults.
3675
73bf57e2
VS
36762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Make elfload not use hooks. Opt for flags and iterators instead.
3679
7f8c105f
VS
36802013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3683 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3684
396d4091
VS
36852013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3688
36892013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3692 hook pass-through parameter. All users updated and unnested.
3693
74a27421
VS
36942013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3697 out of its parent.
3698
b46d4213
VS
36992013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/fs/hfs.c: Remove nested functions.
3702
e114c3cc
VS
37032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3706 the context through.
3707 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3708
f9b7d780
VS
37092013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * util/grub-editenv.c (list_variables): Move print_var out of its
3712 parent.
3713
ca9c2608
VS
37142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3717 function.
3718
5d983f5f
VS
37192013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/gentrigtables.c: Make tables const.
3722
3056d3e7
VS
37232013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 Remove nested functions from videoinfo iterators.
3726
e2303774
VS
37272013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3730 for 64-bit platforms.
3731
f42e3a2f
VS
37322013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3735 a FOR_CHILDREN macro.
3736
be174e5e
VS
37372013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3740 platform from firmware path.
3741
0789b672
VS
37422013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 Enable linux16 on non-BIOS systems for i.a. memtest.
3745
3746 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3747 correctly.
3748 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3749
005a9c32
VS
37502013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3753 Fix end of table condition.
3754
ff2b3cd9
VS
37552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3758 out of its parent.
3759
4fc40ff8
VS
37602013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/fs/jfs.c: Remove nested functions.
3763
be42d97a
VS
37642013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/fs/minix.c: Remove nested functions.
3767
99373ce4
VS
37682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/fs/iso9660.c: Remove nested functions.
3771
5aec2afe
VS
37722013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3775 of parent function.
3776
6c69e691
VS
37772013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * util/grub-fstest.c: Remove nested functions.
3780
43c91882
VS
37812013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/loader/machoXX.c: Remove nested functions.
3784
4eb8b756
CW
37852013-02-27 Colin Watson <cjwatson@ubuntu.com>
3786
3787 Remove nested functions from disk and file read hooks.
3788
3789 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3790 (struct grub_disk): Add read_hook_data member.
3791 * include/grub/file.h (struct grub_file): Likewise.
3792 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3793 argument.
3794
3795 Update all callers.
3796
df6da5a5
AB
37972012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3798
3799 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3800 Fix off by one error in enumerating extended partitions.
3801
21aecde5
AB
38022013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3803
3804 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3805 memory leak if device name is not found.
3806
f1a19118
AB
38072013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3808
3809 * grub-core/normal/menu_entry.c (update_screen): remove
3810 unused variable `off' which caused scroll down arrow to be always shown.
3811
958bfd20
AB
38122013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3813
3814 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3815 access to unallocated memory.
3816
b7b78edb
AB
38172013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3818
3819 * Makefile.util.def: Add partmap/msdos.c to common library.
3820 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3821 * grub-core/disk/ldm.c: Check for existence of
3822 GRUB_PC_PARTITION_TYPE_LDM.
3823
28d468d6
VS
38242013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3827 sizes and display sector size.
3828
d55ffb02
VS
38292013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 Implement new command cmosdump.
3832
b5ea6ce0
VS
38332013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3834
3835 Support Openfirmware disks with non-512B sectors.
3836
3837 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3838 size of the disk.
3839 * (grub_ofdisk_get_block_size): New function.
3840 * (grub_ofdisk_prepare): Use the correct block size.
3841 * (grub_ofdisk_read): Likewise.
3842 * (grub_ofdisk_write): Likewise.
3843 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3844 New proto.
3845
cc0e476f
VS
38462013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3849
c5dbdc33
VS
38502013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3853 on first error.
3854
3f078c0f
VS
38552013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3858 freeing it.
3859
66a93674
VS
38602013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 Implement USBDebug (full USB stack variant).
3863
c9f0c134
VS
38642013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3867 unless they have unexpected values.
3868
cfe1288b
VS
38692013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3872 grub_print_error.
3873
e42b9969
VS
38742013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3877 zero-out of port structure.
3878
cf94fd62
VS
38792013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3882 of extended attributes.
3883
f81ef4b5
AB
38842013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3885
3886 * util/grub-install.in: change misleading comment about
3887 device.map creation
3888
af18fdb4
VS
38892013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3892 when menu highlight color isn't set.
3893
08bcec50
M
38942013-01-27 C. Masloch <pushbx@38.de>
3895
3896 Improve FreeDOS direct loading support compatibility.
3897
3898 * include/grub/i386/relocator.h (grub_relocator16_state):
3899 New member ebp.
3900 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3901 variable.
3902 (grub_relocator16_boot): Handle %ebp.
3903 * grub-core/lib/i386/relocator16.S: Likewise.
3904 * grub-core/loader/i386/pc/freedos.c:
3905 Load BPB to pass kernel which partition to load from.
3906 Check that kernel file is not too large.
3907 Set register dl to BIOS unit number as well.
3908
7782b8a6
CW
39092013-01-22 Colin Watson <cjwatson@ubuntu.com>
3910
3911 * util/grub-reboot.in (usage): Document the need for
3912 GRUB_DEFAULT=saved.
3913 * util/grub-set-default.in (usage): Likewise.
3914 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3915
e661c180
VS
39162013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3919 than defining WORDS_BIGENDIAN manually.
3920
1c22ca9a
VS
39212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3924 invariants.
3925
d44892fe
CW
39262013-01-21 Colin Watson <cjwatson@ubuntu.com>
3927
3928 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3929 nested.
3930 (blit_comb: add_device_width): Likewise.
3931
5fdbaed1
CW
39322013-01-21 Colin Watson <cjwatson@ubuntu.com>
3933
3934 Remove nested functions from USB iterators.
3935
3936 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3937 (grub_usb_controller_iterate_hook_t): Likewise.
3938 (grub_usb_iterate): Add hook_data argument.
3939 (grub_usb_controller_iterate): Likewise.
3940 (struct grub_usb_controller_dev.iterate): Likewise.
3941
3942 Update all implementations and callers.
3943
4250985a
VS
39442013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3947 margin when not needed.
3948
7d8848f3
VS
39492013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3950
bc136973 3951 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3952
39532013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3954
bc136973
VS
3955 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3956 asterisk.
7d8848f3 3957
ed12a003
CW
39582013-01-21 Colin Watson <cjwatson@ubuntu.com>
3959
3960 Fix powerpc and sparc64 build failures caused by un-nesting memory
3961 map iterators.
3962
6a0db449
CW
39632013-01-21 Colin Watson <cjwatson@ubuntu.com>
3964
3965 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3966 parameter declarations.
3967
ccd86b21
VS
39682013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3971
822b726b
VS
39722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Improve spkmomdem reliability by adding a separator between bytes.
3975
115c2cc1
CW
39762013-01-21 Colin Watson <cjwatson@ubuntu.com>
3977
3978 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3979 an Acer registration utility with several sightings in the wild.
3980 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3981
fc524edf
CW
39822013-01-21 Colin Watson <cjwatson@ubuntu.com>
3983
3984 Remove nested functions from filesystem directory iterators.
3985
3986 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3987 (struct grub_fs.dir): Add hook_data argument.
3988
3989 Update all implementations and callers.
3990
53d3e4e3
CW
39912013-01-21 Colin Watson <cjwatson@ubuntu.com>
3992
3993 * docs/grub.texi (Multi-boot manual config): Fix typo for
3994 "recommended".
3995
c821711f
LL
39962013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3997
3998 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3999 until after its use in generate_image.
4000
6a0debbd
CW
40012013-01-20 Colin Watson <cjwatson@ubuntu.com>
4002
4003 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
4004 initrd size to addr_min, since the initrd will be allocated after
4005 this address.
4006
f41e08db
AB
40072013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4008
4009 * conf/Makefile.common: Fix autogen rules to pass definition
4010 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
4011
77529e0f
LL
40122013-01-20 Leif Lindholm <leif.lindholm@arm.com>
4013
4014 * include/grub/elf.h: Update ARM definitions based on binutils.
4015
b879aa7b
VS
40162013-01-20 Aleš Nesrsta <starous@volny.cz>
4017
4018 Split long USB transfers into short ones.
4019
8eb8284d
AB
40202013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
4021
4022 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
4023 is interrupted by ESC.
4024
08dad2dc
VS
40252013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * util/grub-script-check.c (main): Uniform the error message.
4028
6c724b85
CW
40292013-01-20 Colin Watson <cjwatson@ubuntu.com>
4030
4031 Remove nested functions from ELF iterators.
4032
25239370
CW
40332013-01-20 Colin Watson <cjwatson@ubuntu.com>
4034
4035 Remove nested functions from device iterators.
4036
4037 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
4038 (grub_arc_iterate_devs): Add hook_data argument.
4039 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
4040 (struct grub_ata_dev.iterate): Add hook_data argument.
4041 * include/grub/device.h (grub_device_iterate_hook_t): New type.
4042 (grub_device_iterate): Add hook_data argument.
4043 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
4044 (struct grub_disk_dev.iterate): Add hook_data argument.
4045 (grub_disk_dev_iterate): Likewise.
4046 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
4047 Likewise.
4048 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
4049 Likewise.
4050 * include/grub/partition.h (grub_partition_iterate_hook_t): New
4051 type.
4052 (struct grub_partition_map.iterate): Add hook_data argument.
4053 (grub_partition_iterate): Likewise.
4054 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
4055 (struct grub_scsi_dev.iterate): Add hook_data argument.
4056
4057 Update all callers.
4058
6c0314d6
CW
40592013-01-20 Colin Watson <cjwatson@ubuntu.com>
4060
4061 Fix typos for "developer" and "development".
4062
600dc5f1
VS
40632013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 Add license header to spkmodem-recv.c.
4066
17334a6b
VS
40672013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 Rewrite spkmodem to use PIT for timing. Double the speed.
4070
7d462559
VS
40712013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 Add new command pcidump.
4074
b78d6c32
VS
40752013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 New terminal outputs using serial: morse and spkmodem.
4078
34f71cb8
VS
40792013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Improve bidi handling in entry editor.
4082
4542e71b
VS
40832013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4086 argument to prevent name collision.
4087
09fd6d82
CW
40882013-01-15 Colin Watson <cjwatson@ubuntu.com>
4089
4090 Remove nested functions from script reading and parsing.
4091
4092 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4093 getline_data argument, passed to getline.
4094 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4095 getline_data argument, passed to grub_parser_split_cmdline.
4096 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4097 lexerstate->getline_data to lexerstate->getline.
4098 (grub_script_lexer_init): Add getline_data argument, saved in
4099 lexerstate->getline_data.
4100 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4101 argument, passed to grub_script_parse.
4102 * grub-core/script/script.c (grub_script_parse): Add getline_data
4103 argument, passed to grub_script_lexer_init.
4104 * include/grub/parser.h (grub_parser_split_cmdline): Update
4105 prototype. Update all callers to pass appropriate getline data.
4106 (struct grub_parser.parse_line): Likewise.
4107 (grub_rescue_parse_line): Likewise.
4108 * include/grub/reader.h (grub_reader_getline_t): Add void *
4109 argument.
4110 * include/grub/script_sh.h (struct grub_lexer_param): Add
4111 getline_data member.
4112 (grub_script_parse): Update prototype. Update all callers to pass
4113 appropriate getline data.
4114 (grub_script_lexer_init): Likewise.
4115 (grub_normal_parse_line): Likewise.
4116
4117 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4118 data argument.
4119 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4120 static instead of nested. Rename to ...
4121 (grub_parser_execute_getline): ... this.
4122 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4123 data argument.
4124 * grub-core/normal/main.c (read_config_file: getline): Make static
4125 instead of nested. Rename to ...
4126 (read_config_file_getline): ... this.
4127 (grub_normal_read_line): Add unused data argument.
4128 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4129 getline): Make static instead of nested. Rename to ...
4130 (grub_script_execute_sourcecode_getline): ... this.
4131 * util/grub-script-check.c (main: get_config_line): Make static
4132 instead of nested.
4133
d0d4b8a0
CW
41342013-01-15 Colin Watson <cjwatson@ubuntu.com>
4135
4136 Remove nested functions from memory map iterators.
4137
4138 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4139 argument, passed to hook.
4140 * grub-core/kern/i386/coreboot/mmap.c
4141 (grub_linuxbios_table_iterate): Likewise.
4142 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4143 instead of nested.
4144 (grub_machine_mmap_iterate): Add hook_data argument.
4145 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4146 Add hook_data argument, passed to hook.
4147 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4148 Likewise.
4149 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4150 Likewise.
4151 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4152 Likewise.
4153 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4154 Likewise.
4155 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4156 Likewise.
4157 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4158 Likewise.
4159 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4160 (grub_machine_mmap_iterate): Likewise.
4161 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4162 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4163 prototype.
4164 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4165 Remove NESTED_FUNC_ATTR from here and from all users.
4166 (grub_mmap_iterate): Update prototype.
4167 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4168 pass appropriate hook data.
4169 (grub_machine_mmap_iterate): Likewise.
4170
4171 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4172 static instead of nested.
4173 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4174 Rename to ...
4175 (lsmmap_hook): ... this.
4176 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4177 Likewise.
4178 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4179 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4180 heap_init): Likewise.
4181 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4182 Rename to ...
4183 (mmap_iterate_hook): ... this.
4184 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4185 Likewise.
4186 * grub-core/lib/ieee1275/relocator.c
4187 (grub_relocator_firmware_get_max_events: count): Likewise.
4188 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4189 to ...
4190 (grub_relocator_firmware_fill_events_iter): ... this.
4191 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4192 hook): Likewise. Rename to ...
4193 (grub_relocator_alloc_chunk_align_iter): ... this.
4194 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4195 Rename to ...
4196 (generate_e820_mmap_iter): ... this.
4197 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4198 Rename to ...
4199 (count_hook): ... this.
4200 (grub_linux_boot: hook): Likewise. Rename to ...
4201 (grub_linux_boot_mmap_find): ... this.
4202 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4203 (grub_linux_boot_mmap_fill): ... this.
4204 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4205 hook): Likewise. Rename to ...
4206 (grub_fill_multiboot_mmap_iter): ... this.
4207 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4208 hook): Likewise. Rename to ...
4209 (count_hook): ... this.
4210 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4211 hook): Likewise. Rename to ...
4212 (grub_fill_multiboot_mmap_iter): ... this.
4213 * grub-core/loader/powerpc/ieee1275/linux.c
4214 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4215 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4216 Likewise. Rename to ...
4217 (alloc_phys_choose): ... this.
4218 (determine_phys_base: get_physbase): Likewise.
4219 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4220 find_hook): Likewise.
4221 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4222 (malloc_hook: count_hook): Likewise.
4223 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4224 Likewise. Rename to ...
4225 (lower_hook): ... this.
4226 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4227 (upper_hook): ... this.
4228 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4229 (post64_hook): ... this.
4230 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4231 Likewise. Rename to ...
4232 (lower_hook): ... this.
4233 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4234 (upper_hook): ... this.
4235 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4236 (grub_mmap_iterate: fill_hook): Likewise.
4237 (fill_mask): Pass addr and mask within a single struct.
4238 (grub_cmd_badram: hook): Make static instead of nested. Rename
4239 to ...
4240 (badram_iter): ... this.
4241 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4242 (cutmem_iter): ... this.
4243
22099030
VS
42442013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4247 delimit path in strings using quotes.
4248 * util/getroot.c (grub_guess_root_devices): Likewise.
4249 (grub_make_system_path_relative_to_its_root): Likewise.
4250 * util/grub-probe.c (probe): Likewise.
4251 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4252 (xrealpath): Likewise.
4253
4a9950ec
VS
42542013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Fix compilation with older compilers.
4257
4258 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4259 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4260 declarations.
4261 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4262 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4263 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4264 identifier with b.
4265 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4266 * include/grub/crypto.h: Add type defines.
4267 * util/import_gcrypth.sed: Remove duplicate type defines.
4268
adcc6020
VS
42692013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 New command list_trusted.
4272
4273 * grub-core/commands/verify.c (grub_cmd_list): New function.
4274
a4528937
CW
42752013-01-13 Colin Watson <cjwatson@ubuntu.com>
4276
4277 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4278 info message.
4279
ca3a7446
CW
42802013-01-13 Colin Watson <cjwatson@ubuntu.com>
4281
4282 Remove nested functions from PCI iterators.
4283
4284 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4285 passed to hook. Update all callers to pass appropriate hook data.
4286 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4287 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4288 Remove NESTED_FUNC_ATTR from here and from all users.
4289 (grub_pci_iterate): Update prototype.
4290 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4291 instead of nested. Rename to ...
4292 (grub_cs5536_find_iter): ... this.
4293 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4294 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4295 Likewise.
4296 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4297 Likewise.
4298 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4299 Likewise.
4300 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4301 Likewise.
4302 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4303 * grub-core/video/radeon_fuloong2e.c
4304 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4305 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4306 find_card): Likewise.
4307 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4308 Likewise.
4309
f8e98fee
VS
43102013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/commands/verify.c: Mark messages for translating.
4313
055b36b6
VS
43142013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4317 fatal.
4318
f7ff879b
VS
43192013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4322 fatal.
4323
43242013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
4325
4326 * autogen.sh: Do not try to delete nonexistant files.
4327 * util/import_gcrypth.sed: Add some missing header removals.
4328
01323d49
CW
43292013-01-12 Colin Watson <cjwatson@ubuntu.com>
4330
4331 Clean up dangling references to grub-setup.
4332 Fixes Ubuntu bug #1082045.
4333
4334 * docs/grub.texi (Images): Refer generally to grub-install rather
4335 than directly to grub-setup.
4336 (Installing GRUB using grub-install): Remove direct reference to
4337 grub-setup.
4338 (Device map) Likewise.
4339 (Invoking grub-install): Likewise.
4340 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4341 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4342 * util/grub-install.in (usage): Likewise.
4343
4344 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4345 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4346 grub-setup.
4347 * configure.ac: Remove grub_setup output variable.
4348
4349 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4350 to grub-bios-setup.
4351 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4352 grub-setup to grub-sparc64-setup.
4353
5e3b8dcb
VS
43542013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 Import gcrypt public-key cryptography and implement signature checking.
4357
535714bd
VS
43582013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/fs/ntfs.c: Ue more appropriate types.
4361 * grub-core/fs/ntfscomp.c: Likewise.
4362 * include/grub/ntfs.h: Likewise.
4363
3e4f3566
VS
43642013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 Support Apple FAT binaries on non-Apple platforms.
4367
4368 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4369 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4370 Likewise.
4371 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4372 Apple FAT binaries.
4373
4dedb13f
VS
43742013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4377 sector devices.
4378
f8861eaf
CW
43792013-01-07 Colin Watson <cjwatson@ubuntu.com>
4380
4381 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4382 explicitly zeroing elements.
4383 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4384 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4385 of elements in a structure already allocated using grub_zalloc.
4386 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4387
86065b0a
CW
43882013-01-07 Colin Watson <cjwatson@ubuntu.com>
4389
4390 * docs/grub.texi (grub_cpu): New subsection.
4391 (grub_platform): Likewise.
4392
c6f1e92f
VS
43932013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4396
f797ec85
VS
43972013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4400 divisions.
4401
033d0b4b
VS
44022013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4405 * grub-core/fs/ntfscomp.c: Likewise.
4406 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4407 (grub_ntfs_comp): Likewise.
4408
21d1b9a0
VS
44092013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4412 Rename to ...
4413 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4414 of groups_per_block. All users updated.
4415
10ca8645
VS
44162013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4419 grub_error properly.
4420 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4421 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4422
a4c3ed4c
VS
44232013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4426 always in /boot/zfs.
4427 Reported by: Yuta Satoh.
4428
0b716507
YS
44292013-01-03 Yuta Satoh <nigoro>
4430
4431 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4432 ${grub_probe}
4433
00c05e22
VS
44342013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * configure.ac: Extend -Wno-trampolines to host.
4437
dadddb76
VS
44382013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4441 entry->len = 0.
4442
54ce53ca
CW
44432013-01-03 Colin Watson <cjwatson@ubuntu.com>
4444
4445 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4446 (Invoking grub-script-check): Likewise.
4447
8912efca
CW
44482013-01-03 Colin Watson <cjwatson@ubuntu.com>
4449
4450 * docs/grub.texi (Invoking grub-mount): New section.
4451 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4452
c3fc8394
CW
44532013-01-02 Colin Watson <cjwatson@ubuntu.com>
4454
4455 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4456 test failures, so that a failing unit test correctly causes 'make
4457 check' to fail.
4458
45d26abb
CW
44592013-01-02 Colin Watson <cjwatson@ubuntu.com>
4460
4461 Fix failing printf test.
4462
4463 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4464 '$' in the correct order when collecting type information.
4465
971dd2c6
CW
44662013-01-02 Colin Watson <cjwatson@ubuntu.com>
4467
4468 * docs/grub.texi (configfile): Explain environment variable
4469 handling.
4470 (source): New section.
4471 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4472
5c67ea6c
CW
44732012-12-31 Colin Watson <cjwatson@ubuntu.com>
4474
4475 Remove several trivially-unnecessary uses of nested functions.
4476
4477 * grub-core/commands/i386/pc/sendkey.c
4478 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4479 instead of nested.
4480 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4481 Rename to ...
4482 (legacy_file_getline): ... this.
4483 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4484 Likewise.
4485 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4486 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4487 to ...
4488 (probe_dummy_iter): ... this.
4489 * grub-core/kern/i386/coreboot/mmap.c
4490 (grub_linuxbios_table_iterate: check_signature): Likewise.
4491 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4492 check_varstate): Likewise. Mark inline.
4493 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4494 an additional parameter.
4495 (find_long: fnd_long): Likewise. Pass two additional parameters.
4496 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4497 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4498 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4499 Likewise. Rename to ...
4500 (grub_cmos_find_port_iter): ... this.
4501 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4502 Rename to ...
4503 (find_rtc_iter): ... this.
4504
4505 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4506 function directly into the function body, since it is only called
4507 once.
4508
33a68ac6
CW
45092012-12-30 Colin Watson <cjwatson@ubuntu.com>
4510
4511 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4512 __attribute__ ((unused)).
4513 * grub-core/video/bochs.c (find_card): Likewise.
4514 * grub-core/video/cirrus.c (find_card): Likewise.
4515 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4516 * grub-core/video/sis315pro.c (find_card): Likewise.
4517 * grub-core/video/sm712.c (find_card): Likewise.
4518
608b647a
CW
45192012-12-28 Colin Watson <cjwatson@ubuntu.com>
4520
4521 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4522 Fixes Savannah bug #37821.
4523
fd49ceb3
CW
45242012-12-28 Colin Watson <cjwatson@ubuntu.com>
4525
4526 Apply program name transformations at build-time rather than at
4527 run-time. Fixes Debian bug #696465.
4528
4529 * acinclude.m4 (grub_TRANSFORM): New macro.
4530 * configure.ac: Create output variables with transformed names for
4531 most programs.
4532 * util/bash-completion.d/grub-completion.bash.in: Use
4533 pre-transformed variables for program names.
4534 * util/grub-install.in: Likewise.
4535 * util/grub-kbdcomp.in: Likewise.
4536 * util/grub-mkconfig.in: Likewise.
4537 * util/grub-mkconfig_lib.in: Likewise.
4538 * util/grub-mknetdir.in: Likewise.
4539 * util/grub-mkrescue.in: Likewise.
4540 * util/grub-mkstandalone.in: Likewise.
4541 * util/grub-reboot.in: Likewise.
4542 * util/grub-set-default.in: Likewise.
4543 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4544 * tests/util/grub-shell-tester.in: Remove unused assignment.
4545 * tests/util/grub-shell.in: Likewise.
4546 * util/grub.d/00_header.in: Likewise.
4547
7024b3c0
CW
45482012-12-28 Colin Watson <cjwatson@ubuntu.com>
4549
4550 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4551
4552 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4553 HAVE_RAW_DECL_GETS.
4554 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4555
e3501b13
VS
45562012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4559 Reported by: Eriks Latosheks <foresterlv>.
4560
b40c88a9
VS
45612012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * docs/grub.texi (Network): Update instructions on generating netboot
4564 image.
4565
ce96d01c
VS
45662012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4569 around device name if necessarry.
4570
0f596201
PFS
45712012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4572
4573 * util/grub-install.in: Follow the symbolic link parameter added
4574 to the file command.
4575
600d5bdb
AB
45762012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4577
4578 * util/grub-install.in: Remove stale TODO.
4579
64ebd2f4
PFS
45802012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4581
4582 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4583 dynamic allocation for the bootpath buffer.
4584
74b2fe3e
DTB
45852012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4586
4587 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4588 window too small.
4589
969b804f
VS
45902012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4593 argument rather than font name. All users updated.
4594 (grub_gfxterm_set_window): Likewise.
4595
b9f5ebd6
VT
45962012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4597
4598 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4599 from working.
4600
258f43b7
VS
46012012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * util/getroot.c (convert_system_partition_to_system_disk): Support
4604 nbd disks.
4605
cc1ce5f9
VS
46062012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4609 infinite loop on corrupted FS.
4610
e77a16ca
VS
46112012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Fix big-endian mtime.
4614
4615 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4616 together sec and usec.
4617 (grub_ufs_dir): Use correct byteswapping for UFS time.
4618
d9c48c7b
VS
46192012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Support big-endian UFS1.
4622
4623 * Makefile.util.def (libgrubmods): Add ufs_be.c
4624 * grub-core/Makefile.core.def (ufs1_be): New module.
4625 * grub-core/fs/ufs_be.c: New file.
4626 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4627 the file.
4628
2f9f40ba
LL
46292012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4630
4631 * include/grub/types.h: Fix functionality unaffecting typo in
4632 GRUB_TARGET_WORDSIZE conditional macro.
4633
48ff0889
PFS
46342012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4635
4636 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4637
03711240
GS
46382012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4639
4640 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4641 that /netbsd appears first (when it exists).
4642
a31b11bd
CJ
46432012-10-12 Christoph Junghans <ottxor@gentoo.org>
4644
4645 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4646 Fixes Savannah bug #37558.
4647
e8a5d5d4
CW
46482012-10-12 Colin Watson <cjwatson@ubuntu.com>
4649
4650 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4651 description of extract_entries_configfile.
4652
46532012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4654
4655 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4656 preferred_address.
4657 (grub_cmd_linux): Likewise.
4658 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4659 preferred_lifetime. Update all users.
4660
288c757d
CW
46612012-09-26 Colin Watson <cjwatson@ubuntu.com>
4662
4663 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4664 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4665
0d35da3f
CW
46662012-09-26 Colin Watson <cjwatson@ubuntu.com>
4667
4668 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4669 errors from grub-probe to /dev/null, not stdout.
4670
b78c3127
VS
46712012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4674 sector 1.
4675
473959f0
CW
46762012-09-24 Colin Watson <cjwatson@ubuntu.com>
4677
4678 * util/grub-install.in: Make the error message if $source_dir
4679 doesn't exist more useful.
4680
794c8c33
CW
46812012-09-22 Colin Watson <cjwatson@ubuntu.com>
4682
4683 Fix grub-emu build on FreeBSD.
4684
4685 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4686 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4687 headers on Linux.
4688 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4689 implementation is currently Linux-specific.
4690 * util/getroot.c (exec_pipe): Define only on Linux or when either
4691 libzfs or libnvpair is unavailable.
4692 (find_root_devices_from_poolname): Remove unused path variable.
4693
86d08fdb
CW
46942012-09-19 Colin Watson <cjwatson@ubuntu.com>
4695
4696 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4697 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4698 should fit before end == 63.
4699
735abf54
CW
47002012-09-19 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * util/grub-setup.c (write_rootdev): Remove unused core_img
4703 parameter. Update all callers.
4704 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4705 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4706 GRUB_SETUP_BIOS.
4707
140acd3c
VS
47082012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4711 (grub_add_tab): New function.
4712 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4713 * util/grub.d/10_illumos.in: Likewise.
4714 * util/grub.d/10_kfreebsd.in: Likewise.
4715 * util/grub.d/10_linux.in: Likewise.
4716 * util/grub.d/10_netbsd.in: Likewise.
4717 * util/grub.d/10_windows.in: Likewise.
4718 * util/grub.d/10_xnu.in: Likewise.
4719 * util/grub.d/20_linux_xen.in: Likewise.
4720 * util/grub.d/30_os-prober.in: Likewise.
4721
7ddffdad
VS
47222012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4725 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4726 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4727 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4728 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4729 ieee1275-nocursor.
4730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4731 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4732
4e092454
VS
47332012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4736 le-conversion.
4737 Reported by: BURETTE, Bernard.
4738
735abf54 47392012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4740
4741 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4742 from comment.
4743
dfd39dbd
CW
47442012-09-14 Colin Watson <cjwatson@ubuntu.com>
4745
4746 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4747 IEEE1275 machines. Fixes powerpc-emu compilation.
4748 * include/grub/terminfo.h: Likewise.
4749
3bfa763c
VS
47502012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4753 a const pointer.
4754 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4755 const pointer.
4756 (efiemu_set_variable): Make vendor_guid a const pointer.
4757
250e475b
VS
47582012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Don't require grub-mkconfig_lib to generate manpages for programs.
4761
4762 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4763 dependencies, don't add grub-mkconfig_lib.
4764 (program): Pass empty adddeps.
4765 (script): Pass grub-mkconfig_lib as adddeps.
4766
592fd0e4
VS
47672012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4770 * util/getroot.c (grub_find_device): Likewise.
4771 (get_mdadm_uuid): Likewise.
4772 (grub_util_is_imsm): Likewise.
4773 (grub_util_pull_device): Likewise.
4774 * util/grub-probe.c (probe): Likewise.
4775
801a3027
BG
47762012-09-10 Benoit Gschwind <gschwind>
4777
4778 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4779 (devs): Add devpath_8.
4780
c5052c81
PJ
47812012-09-08 Peter Jones <pjones@redhat.com>
4782
4783 * grub-core/Makefile.core.def (efifwsetup): New module.
4784 * grub-core/commands/efi/efifwsetup.c: New file.
4785 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4786 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4787 New define.
4788 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4789
8e832f71
JS
47902012-09-05 Jiri Slaby <jslaby@suse.cz>
4791
4792 * configure.ac: Add SuSe path.
4793
f0f55752
CW
47942012-09-05 Colin Watson <cjwatson@ubuntu.com>
4795
4796 * NEWS: Fix typo.
4797
ecadc4c2
CW
47982012-09-05 Colin Watson <cjwatson@ubuntu.com>
4799
4800 * util/import_gcry.py: Sort cipher_files, to make build system
4801 generation more deterministic.
4802
64498f25
VS
48032012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4806 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4807 (grub_set_datetime): Likewise.
4808
9cc836a2
VS
48092012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4812 warnings.
4813
bcfcea01
VS
48142012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4817
a4099485
VS
48182012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4821
265c162a
CW
48222012-09-04 Colin Watson <cjwatson@ubuntu.com>
4823
4824 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4825 required for checkouts from bzr, but it may be useful for users or
4826 distributors wishing to update translations against a tarball
4827 distribution, and it can be helpful for the tarball to be a superset
4828 of what's in bzr.
4829
3d171e95
CW
48302012-09-04 Colin Watson <cjwatson@ubuntu.com>
4831
4832 * Makefile.am (EXTRA_DIST): Add
4833 grub-core/tests/boot/linux.init-mips.S,
4834 grub-core/tests/boot/linux.init-ppc.S, and
4835 grub-core/tests/boot/linux-ppc.cfg.
4836
f2c2503e
CW
48372012-09-04 Colin Watson <cjwatson@ubuntu.com>
4838
4839 * grub-core/mmap/mips/loongson: Remove empty directory.
4840
48412012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4842
4843 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4844 gone.
4845
ab2163d5
CW
48462012-09-04 Colin Watson <cjwatson@ubuntu.com>
4847
4848 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4849 grub-sparc64-setup.
4850
ce938140
GS
48512012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4852
4853 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4854
529f58a5
GS
48552012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4856
4857 * po/POTFILES.in: Regenerated.
4858
16cf79e9
GS
48592012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4860
4861 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4862 (NetBSD): New subsection.
4863
39b27f1e 48642012-07-22 Ales Nesrsta <starous@volny.cz>
4865
4866 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4867 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4868
a885261b
VS
48692012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4872 * util/grub.d/10_hurd.in: Add missing quoting.
4873 * util/grub.d/10_illumos.in: Likewise.
4874 * util/grub.d/10_kfreebsd.in: Likewise.
4875 * util/grub.d/10_linux.in: Likewise.
4876 * util/grub.d/20_linux_xen.in: Likewise.
4877
7bd29c01
VS
48782012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 New command `lsefi'.
4881
4882 * grub-core/Makefile.core.def (lsefi): New module.
4883 * grub-core/commands/efi/lsefi.c: New file.
4884 * include/grub/efi/api.h: Add more GUIDs.
4885
ac625d8f
VS
48862012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4889 (grub_bsd_elf32_hook): Likewise.
4890 (grub_bsd_elf64_size_hook): Likewise.
4891 (grub_bsd_elf64_hook): Likewise.
4892 (grub_bsd_load_elf): Likewise.
4893
e73bb801
VS
48942012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4897 if hash function is unavailable.
4898 (dec_stream_header): Likewise.
4899
e81db8b5
VS
49002012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4903 filter state.
4904
d187a1c3
VS
49052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Fix coreboot compilation.
4908
4909 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4910 (grub_vga_text_init_real): ... this.
4911 (grub_vga_text_fini): Rename to ...
4912 (grub_vga_text_fini_real): ... this.
4913
91a05f64
VS
49142012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4917
6af96df7
VS
49182012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/lib/legacy_parse.c: Support clear and testload.
4921
4d569e12
VS
49222012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4925
073b57bb
VS
49262012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4929
a706f4cc
VS
49302012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/net/tftp.c (ack): Fix endianness problem.
4933 (tftp_receive): Likewise.
4934 Reported by: Michael Davidsaver.
4935
e7850aa9
VS
49362012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4939
49402012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4943 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4944 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4945
35692881
VS
49462012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4949 efi_mmap_size.
4950 Reported by: Stuart Hayes.
4951
c35fc5bd
VS
49522012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4955
4956 * grub-core/Makefile.core.def (mda_text): New module.
4957 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4958 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4959 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4960 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4961 here.
4962 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4963 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4964 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4965 here.
4966 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4967 to ..
4968 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4969 ... here
4970 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4971 here.
4972 * grub-core/term/i386/vga_common.c: Removed.
4973 * include/grub/i386/vga_common.h: Likewise.
4974 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4975 (grub_vga_cr_bw_read): Likewise.
4976 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4977 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4978 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4979 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4980 grub_vga_cr_read/grub_vga_cr_write.
4981 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4982
5f91f701
VS
49832012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * configure.ac: Bump version to 2.00.
4986 * grub-core/normal/main.c (features): Add feature_200_final.
4987
0c4f85f6
VS
49882012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
49892012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4990
4991 * NEWS: Fix unclarity and language mistakes.
4992
f923ad22
VS
49932012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4996 additional size to 3 pages.
4997 Reported by: Stuart Hayes.
4998
d22029ba
VS
49992012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * NEWS: Add 2.00 entry.
5002
58eee08f
VS
50032012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
5006 put explicit "/" for empty path.
5007 (wildcard_expand): Improve dprintf.
5008
c59bdff7
VS
50092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
5012 it's equal to currnode. This can happen with "" symlink.
5013
5e6a440a
YB
50142012-06-27 Yves Blusseau <blusseau@zetam.org>
5015
5016 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
5017 echo shell command by printf command.
5018
73a68bcb
VS
50192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
5022 the value returned by firmware is the maximal position, not diumension.
5023 (grub_terminfo_output_state): Use a more sane fallback.
5024
392a603b
VS
50252012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
5028
42d0867f
VS
50292012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
5032 frequency to 150 MHz.
5033
489509f4
VS
50342012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 Apple fixes.
5037
5038 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
5039 __APPLE_
5040 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
5041 definition.
5042 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
5043
9f3fc883
VS
50442012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Handle slash in HFS label.
5047
5048 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
5049 (grub_hfs_dir): Tanslate slash.
5050 (grub_hfs_label): Don't translate slash.
5051
54853fd7
VS
50522012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
5055 network protocol listing since it introduces problematic dependency on
5056 net module.
5057
4dc02ddf
VS
50582012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5061
c50c867d
VS
50622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 Init video early on yeeloong to avoid being rebooted by watchdog.
5065
5066 * grub-core/Makefile.am (gensm712): New target.
5067 (sm712_start.S): Likewise.
5068 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5069 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5070 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5071 description.
5072 * include/grub/vga.h: Move registry definitions to...
5073 * include/grub/vgaregs.h: ... here.
5074
5f92c8a1
VS
50752012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5078 signedness.
5079
e9e6f111
VS
50802012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5083 platforms with firmware disk drivers in the core.
5084
754ad9eb
VS
50852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5088 informative verbose message.
5089 (read_lv): Handle 64-bit segment size.
5090
315654c2
VS
50912012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5094
fb022c79
VS
50952012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5098 character but still remove trainling spaces.
5099 (grub_fat_label): Ignore archive flag.
5100
8645f72c
VS
51012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5104 cast between linux_kernel_header and linux_kernel_params.
5105
36498496
VS
51062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5109 type for size.
5110 (grub_raid6_recover_func_t): Likewise.
5111 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5112 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5113
0b5ea6b8
VS
51142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5117
650cfcfe
GS
51182012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5119
5120 Fix overflow.
5121
5122 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5123 [__NetBSD__]: Add explicit cast before bitshift.
5124
8a4d6a44
VS
51252012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * configure.ac: Bump to 2.00~rc1.
5128
2fb97ed3
VS
51292012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5132 half of $a0.
5133
1fa097dc
VS
51342012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
51352012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5136
5137 * docs/grub.texi: Fix search syntax.
5138 (Multi-boot manual config): Put msdos rather than GPT example.
5139 Grammar corrections.
5140
c890ba78
VS
51412012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5144
0f92dca7
VS
51452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5148
3988c4a0
VS
51492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5152 message on double free. Put the value of magic in case of mismatch.
5153
9e86d4c5
VS
51542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 Speed-up video on yeeloong.
5157
5158 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5159 add cached_ptr.
5160 (grub_video_sm712_video_fini): Unmap cached_ptr.
5161 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5162 (grub_video_sm712_set_active_render_target): Removed.
5163 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5164 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5165 sync caches.
5166
ed24c312
VS
51672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 Avoid flushing the same line multiple times on loongson.
5170
5171 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5172 Step in 32 bytes and not 1 byte.
5173 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5174 Likewise.
5175
d1718e7d
VS
51762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5179 subvolumes.
5180
982f1909
VS
51812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 Implement flow control for http.
5184
5185 * grub-core/net/http.c (parse_line): Handle response 206.
5186 (http_receive): Stall if too many packets are in the queue.
5187 (http_establish): Fix range header.
5188 (http_seek): Fix double free.
5189 (http_close): Likewise.
5190 (http_packets_pulled): New function.
5191 (grub_http_protocol): Set http_seek
5192 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5193 (ack_real): Set window depending on i_stall.
5194 (grub_net_send_tcp_packet): Likewise.
5195 (grub_net_tcp_stall): New function.
5196 (grub_net_tcp_unstall): Likewise.
5197 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5198 (grub_net_tcp_unstall): Likewise.
5199
bd407d6e
VS
52002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5203
c7564b8e
VS
52042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5207
a3706162
VS
52082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * tests/util/grub-shell.in: Fix a typo.
5211
b27069e0
VS
52122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 Implement flow control for tftp.
5215
5216 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5217 packets but stop only if stop condition is satisfied.
5218 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5219 `stall' instead of `eof' as stop condition.
5220 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5221 (http_err): Likewise.
5222 * grub-core/net/tftp.c (ack): Replace the first argument with data
5223 instead of socket.
5224 (tftp_receive): Stall if too many packets are in wait queue.
5225 (tftp_packets_pulled): New function.
5226 (grub_tftp_protocol): Set packets_pulled.
5227 * include/grub/net.h (grub_net_packets): New field count.
5228 (grub_net_put_packet): Increment count.
5229 (grub_net_remove_packet): Likewise.
5230 (grub_net_app_protocol): New field `packets_pulled'.
5231 (grub_net): New field `stall'.
5232
6b9cfac6
VS
52332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5236 sync part to handle them.
5237
f35abd81
VS
52382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5241 * grub-core/net/drivers/ieee1275/ofnet.c
5242 (grub_ieee1275_net_config_real): Likewise.
5243
0e7ec820
VS
52442012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5247 the direct route for server/gateway.
5248
9d611a31
VS
52492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5252 IP address to server name since we may not hame the DNS.
5253
418f45ab
VS
52542012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5257 freeing random buffer on failure.
5258 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5259
44a0efc1
VS
52602012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5263
531e2241
VS
52642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5267 reserved bytes.
5268 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5269 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5270 Handle malloc error correctly.
5271
cde393c9
VS
52722012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5275 blocks.
5276
538478d0
VS
52772012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5280 increment.
5281
9b55efe0
VS
52822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5285 none is explicitly specified.
5286
9eb832c3
VS
52872012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5290 while reallocating.
5291
d6b7c7c9
VS
52922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 Respect netmask from bootp/dhcp.
5295
5296 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5297 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5298 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5299 into ...
5300 (grub_net_add_ipv4_local): ... this.
5301 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5302 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5303 (grub_net_add_ipv4_local): New proto.
5304
67caf9eb
VS
53052012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5308 determining EFI memory map size.
5309
43657558
VS
53102012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5313
eb6d0dd3
VS
53142012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5317 when looking for partition separator.
5318
31230544
VS
53192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5322 Escape commas.
5323
918a2517
VS
53242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Restructure FAT driver to avoid hook in label reading as it hits a
5327 GCC bug.
5328
5329 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5330 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5331 (grub_fat_iterate_dir): Split into ...
5332 (grub_fat_iterate_init): ... this, ...
5333 (grub_fat_iterate_fini): ... this, ...
5334 (grub_fat_iterate_dir_next): ... and this. All users updated.
5335
9f1d654e
VS
53362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5339 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5340 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5341 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5342 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5343 New fields last_key and last_key_time.
5344 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5345 extended key-esc into extended key-extended key.
5346
52f0f643
VS
53472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Avoid unnecessary memcpy of whole video buffer.
5350
5351 * grub-core/video/fb/video_fb.c (dirty): New struct.
5352 (framebuffer): Add members current_dirty and previous_dirty.
5353 (dirty): New function.
5354 (grub_video_fb_fill_rect): Update dirty.
5355 (common_blitter): Likewise.
5356 (grub_video_fb_scroll): Likewise.
5357 (doublebuf_blit_update_screen): Copy only dirty part.
5358 (doublebuf_pageflipping_update_screen): Likewise.
5359 (grub_video_fb_doublebuf_blit_init): Init dirty.
5360 (doublebuf_pageflipping_init): Likewise.
5361 (grub_video_fb_setup): Likewise.
5362
e169a180
VS
53632012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5366 poll rate.
5367
48556879
VS
53682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Fix wildcard regexp dot and other special characters handling.
5371 Reported by: Robert Mabee.
5372
5373 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5374 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5375 (split_path): Trigger expansion on '?'.
5376 (unescape): New function.
5377 (wildcard_expand): Unescape parts copied without globbing.
5378 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5379 (grub_script_arglist_to_argv): Don't unescape expansions.
5380
0494408e
VS
53812012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * include/grub/net.h (grub_net_card): New member txbufsize.
5384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5385 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5386 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5387 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5388 txbufsize.
5389 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5390 compatible property to check for macs. Set
5391 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5392 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5393 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5394 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5395 (send_card_buffer): Use txbuf.
5396 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5397 nested function out of the parent while on it.
5398
cc35fe8f
VS
53992012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5402 presence check.
5403 (grub_ieee1275_net_config_real): Fix config pointer.
5404
970a0a09
VS
54052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5408 filename parsing to non-block devices.
5409
3e19bf87
VS
54102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5413
c62d1a0c
VS
54142012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5417 All users updated.
5418
ef76bec3
VS
54192012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5422 UUID search command even if hints probing failed.
5423
54242012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5425
5426 * po/POTFILES.in: Regenerated.
5427
70aaf305
VS
54282012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Speed-up video on fuloong.
5431
5432 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5433 New function.
5434 (grub_pci_device_unmap_range): Handle non-cached address.
5435 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5436 add direct_ptr.
5437 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5438 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5439 (grub_video_sis315pro_set_active_render_target): Removed.
5440 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5441 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5442 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5443 sync caches.
5444 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5445 New proto.
5446
10400f0b
VS
54472012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * docs/grub.texi (Multi-boot manual config): New section.
5450
ba67e2c6
VS
54512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 Avoid slow read-back from VRAM.
5454
5455 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5456 Move from here ...
5457 * grub-core/video/fb/video_fb.c
5458 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5459 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5460 (front_target): Remove front_target. Add pages.
5461 (grub_video_fb_init): Skip setting front_pages.
5462 (grub_video_fb_fini): Likewise.
5463 (doublebuf_blit_update_screen): Use pages.
5464 (grub_video_fb_doublebuf_blit_init): Likewise.
5465 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5466 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5467 (grub_video_fb_setup): Prefer doublebuffing.
5468
377c98cb
VS
54692012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5472 gzio.
5473
eac49cff
VS
54742012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 Add loongson tests.
5477
5478 * tests/util/grub-shell.in: Handle loongson.
5479 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5480 drivers.
5481 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5482 Reboot instead of shutdown if REBOOT is defined.
5483
0321415e
VS
54842012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5487 sized ports since unlike on real hardware qemu supports only 32-bit
5488 regs.
5489
3f2bdd8f
VS
54902012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5493 * util/grub-mkrescue.in: Handle loongson.
5494
29a049c9
VS
54952012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5498 Set is_part appropriately.
5499 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5500 names. Canonicalize partition without full disk.
5501
4abde346
VS
55022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 Revert usb-quiesce since it's wrong.
5505
5506 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5507 (grub_ofdisk_init): Don't do quiesce.
5508
61f1d93b
VS
55092012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5512 PowerMac workaround to Xserves as well.
5513 Information supplied by: Benjamin Herrenschmidt.
5514
a09eb541
VS
55152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 Don't assume that beginning address is also the entry point on ppc.
5518
5519 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5520 (grub_linux_boot): Use linux_entry.
5521 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5522 (grub_linux_load64): Likewise.
5523
505b3c9b
VS
55242012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5527
cbe0b4ef
VS
55282012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5531 needlessly lose the console.
5532
3006e981
VS
55332012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5536 space.
5537
4e5a96b0
VS
55382012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5539
7da036bb
VS
5540 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5541 than current grub_get_rtc() not implemented when booted with
5542 coreboot without TSC.
5543
5544 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5545 Add machine/time.h to kernel headers on loongson.
5546 * grub-core/Makefile.core.def (kernel): Remove
5547 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5548 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5549 (grub_get_rtc): Likewise.
5550 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5551 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5552 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5553 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5554 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5555 rather than installing known non-working time source.
5556 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5557 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5558 * include/grub/time.h: Don't include machine/time.h.
5559 * include/grub/efi/time.h: Removed.
5560 * include/grub/i386/efi/time.h: Likewise.
5561 * include/grub/i386/ieee1275/time.h: Likewise.
5562 * include/grub/powerpc/ieee1275/time.h: Likewise.
5563 * include/grub/sparc64/ieee1275/time.h: Likewise.
5564 * include/grub/x86_64/efi/time.h: Likewise.
5565
55662012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5569
5570 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5571 value.
5572 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5573 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5574 with dotless variants when any combining above is present.
5575
5561c22d
VS
55762012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5579 text and not binary.
5580
96f7e60e
VS
55812012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 Stop polling as soon as we have the packet we were waiting for.
5584
5585 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5586 All users updated.
5587 * grub-core/net/arp.c (have_pending): New var.
5588 (pending_req): Likewise.
5589 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5590 stop indicator.
5591 (grub_net_arp_receive): Set have_pending.
5592 * grub-core/net/dns.c (recv_data): New field stop.
5593 (recv_hook): Set stop.
5594 (grub_net_dns_lookup): Init stop and use as stop condition.
5595 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5596 condition.
5597 * grub-core/net/net.c (grub_net_poll_cards): New argument
5598 stop_condition. Stop when it goes true.
5599 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5600 indicator.
5601 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5602
3e747239
VS
56032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 Keep TX and RX buffers on EFI rather than always allocate new ones.
5606
5607 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5608 card. All users updated.
5609 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5610 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5611 (get_card_packet): Likewise.
5612 (grub_efinet_findcards): Init new fields.
5613
f695e99a
VS
56142012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5617 compilation error on sparc64.
5618
9e5e66d1
VS
56192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Use ITC on IA64 rather than broken routine based on daytime.
5622
5623 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5624 ia64.
5625 (grub_get_rtc) [__ia64__]: Likewise.
5626 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5627 (get_itc): New function.
5628 (grub_rtc_get_time_ms): Likewise.
5629 (grub_machine_init): Calibrate ITC.
5630 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5631 Keep only on non-ia64. Don't export since it's broken and used only
5632 if TSC is unavailable.
5633
a1767404
VS
56342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5637 even if it's used.
5638 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5639 Skip if parent is unused.
5640
34b2bced
VS
56412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5644
5e619f40
VS
56452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Fix wildcard escaping.
5648
5649 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5650 * grub-core/script/execute.c (wildcard_escape): .. to here.
5651 Don't escape dot.
5652 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5653 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5654 Don't escape dot.
5655 * grub-core/script/execute.c (gettext_append): Always escape.
5656 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5657 * grub-core/script/yylex.l: Don't cut away the escaping.
5658 * tests/grub_script_echo1.in: Add tests with wildcard.
5659
c8ca5855
VS
56602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5663 (ftdi_hw_configure): Likewise.
5664 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5665 define.
5666 (real_config): Handle 1.5 stop bits.
5667 (pl2303_hw_configure): Likewise.
5668
7183452c
VS
56692012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * Makefile.am: Add ppc linux bootcheck.
5672 * grub-core/tests/boot/linux-ppc.cfg: New file.
5673 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5674
f57c84cd
VS
56752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * tests/grub_script_expansion.in: Skip network protocols.
5678
ecfc6207
VS
56792012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5682
8d03d284
VS
56832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5686 --rom-directory.
5687 Add -graft-points.
5688
61c42af0
VS
56892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 ESCC serial driver for conducting sautomated tests in qemu.
5692 Not tested on real hardware.
5693
5694 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5695 * grub-core/term/ieee1275/escc.c: New file.
5696 * grub-core/Makefile.core.def (escc): New module.
5697
08fd1291
VS
56982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5701 invalid on error.
5702 (serial_hw_fetch): Don't read invalid handle.
5703 (serial_hw_put): Don't write into invalid handle.
5704
08dafeea
VS
57052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 Add a 1.5 stop bits value.
5708
5709 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5710 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5711 GRUB_SERIAL_STOP_BITS_1_5.
5712
9068fdcf
VS
57132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5716 value rather than let it uninited.
5717
f4d5820f
VS
57182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/commands/wildcard.c (+check_file): New function.
5721 (wildcard_expand): Don't expand to non-existing files, expand with
5722 suffix and not attempt to expand if not needed.
5723
3d2de9a7
VS
57242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5727 out of partitions containing other partitions.
5728
c5c81ff9
VS
57292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5732 on some qemu versions with GRUB.
5733
5734 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5735 define.
5736 (grub_openbsd_bootarg_pcibios): New struct.
5737 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5738 Add PCIINFO.
5739
08a14e0b
VS
57402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * tests/util/grub-shell.in: Trim firmware output on EFI.
5743
cede3ca3
VS
57442012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5747 and coreboot since it's already in kernel.
5748
558d3a60
VS
57492012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5752 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5753 to here. New return value start. All users updated.
5754 Recursively scan linear mappings.
5755 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5756 proto.
5757 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5758 Use grub_util_get_dm_node_linear_info.
5759 * util/getroot.c (convert_system_partition_to_system_disk): Use
5760 grub_util_info rather than grub_dprintf.
5761 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5762
60fde14d
VS
57632012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5766
5767 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5768 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5769
24bd8838
VS
57702012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * include/grub/types.h (grub_set_unaligned64): New function.
5773 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5774 (setup): Likewise.
5775
7bc06a49
VS
57762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5779 (grub_ofdisk_fini): Quiesce USB devices.
5780
49cea015
VS
57812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5784 caches.
5785
8dcbe03b
VS
57862012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5789
5b258735
VS
57902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/disk/pata.c (grub_pata_pio_read)
5793 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5794 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5795
37ba07eb
VS
57962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 Extend automated tests to qemu-mips.
5799
5800 * Makefile.am: reorganise tests and enable qemu-mips.
5801 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5802 * grub-core/tests/boot/linux.init-mips.S: New file.
5803 * tests/partmap_test.in: Handle ata0 disks.
5804 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5805 non-pc i386.
5806
070038f8
VS
58072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5810 ia64.
5811 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5812 quotes while on it.
5813
004be2cd
VS
58142012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5817 (grub_halt): Likewise.
5818 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5819
b1622487
VS
58202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/term/serial.c (grub_serial_register)
5823 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5824 the behaviour in line with x86 platforms.
5825
b7b4ab33
VS
58262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5829 (grub_ata_strncpy): Likewise.
5830 (grub_ata_identify): Add missing byteswaps.
5831
5e3535ae
VS
58322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5835 byte-swap.
5836 (screen_read_char): Likewise.
5837 (grub_vga_text_cls): Likewise.
5838
c21b17e6
VS
58392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5842 filenames.
5843 (make_file_path): Likewise.
5844
bf293dec
VS
58452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5848 machines.
5849 Tested by: Paulo Flabiano Smorigo.
5850 Crucial information about API supplied by: Coleen <Last name unknown>.
5851 Reviewed by: Coleen <Last name unknown>.
5852
81f6ef0e
VS
58532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub-mkimage.c: Disable -Wcast-align.
5856
7284143a
VS
58572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5860 as they are fatal.
5861
b99f3e00
VS
58622012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5865
944f752d
VS
58662012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * util/grub-probe.c (escape_of_path): Fix double free.
5869
6cce6f38
VS
58702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/commands/videoinfo.c (hook): Show pitch.
5873
1e1eb50e
VS
58742012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5877
1c715b5a
VS
58782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5881 (probe): Add ieee1275 to OFW devices.
5882
007ae52d
VS
58832012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5886
4557a36d
VS
58872012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 Handle IBM OFW path.
5890
5891 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5892 available.
5893 (of_path_of_scsi): Handle vdevice.
5894
efbeefe9
VS
58952012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5898 Allocate in multiples of 16 to avoid adding a few bytes free region the
5899 windows bugs upon.
5900
15a940bb
VS
59012012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5904 Allocate in multiples of 16 to avoid adding a few bytes free region the
5905 windows bugs upon.
5906 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5907
6e5efd60
VS
59082012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5911 resolutions.
5912 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5913 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5914
0d3d137e
IS
59152012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5916
5917 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5918
45dbe300
VS
59192012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5922 resulted in \\ at the end of the line.
5923
6d8db947
VS
59242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5927 (grub_parser_cmdline_state): Likewise.
5928 (grub_parser_split_cmdline): Likewise.
5929
de89d338
VS
59302012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5933 /dev/root and /dev/dm-*.
5934
00d41dee
VS
59352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5938 fix partially stale display.
5939
f95d1f11
VS
59402012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5943 substraction.
5944
6297e197
VS
59452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5946
5947 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5948 Fix MBR remapping workaround.
5949 (grub_util_biosdisk_read) [__linux__]: Likewise.
5950
8a7ecad3
VS
59512012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5954
2b34f944
VS
59552012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * configure.ac: Bump to beta6.
5958
684aef11
CW
59592012-05-31 Christer Weinigel <christer@weinigel.se>
5960
5961 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5962
05b0bb91
VS
59632012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5966 (grub_cmd_linux): Likewise.
5967
bda36bfa
CW
59682012-05-31 Christer Weinigel <christer@weinigel.se>
5969
5970 Fix EHCI low-speed.
5971
5972 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5973 (GRUB_EHCI_MULT_TWO): Likewise.
5974 (GRUB_EHCI_MULT_THREE): Likewise.
5975 (GRUB_EHCI_CMASK_MASK): New enum value.
5976 (GRUB_EHCI_SMASK_MASK): Likewise.
5977 (GRUB_EHCI_CMASK_OFF): Likewise.
5978 (GRUB_EHCI_SMASK_OFF): Likewise.
5979 (grub_ehci_pci_iter): Enable periodic schedule.
5980 (grub_ehci_parse_notrun): Likewise.
5981 (grub_ehci_restore_hw): Likewise.
5982 (grub_ehci_setup_qh): Set flags for low speed transfers.
5983 (grub_ehci_find_qh): Use periodic list for low speed.
5984 (grub_ehci_setup_transfer): Check periodic queue as well.
5985 (grub_ehci_check_transfer): Likewise.
5986 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5987
e12bcb1c
PFS
59882012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5989
5990 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5991 parameter is used.
5992
bcc75fb3
PJ
59932012-05-31 Peter Jones <pjones@redhat.com>
5994
5995 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5996 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5997 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5998
f19cb95e
VS
59992012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
6002 uninited variable. Allocate at least setup_sects.
6003
a4e5ca80
VS
60042012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 Fix handling of EFI with big memory maps.
6007
6008 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
6009 (real_mode_mem): Likewise.
6010 (real_mode_target): Likewise.
6011 (real_mode_pages): Likewise.
6012 (prot_mode_pages): Likewise.
6013 (linux_params): New var.
6014 (linux_cmdline): Likewise.
6015 (free_pages): Don't set real mode variables.
6016 (allocate_pages): Don't allocate real mode memory.
6017 (grub_e820_add_region): Remove the limit.
6018 (grub_linux_boot): Allocate and copy real mode memory.
6019 (grub_linux_unload): Free linux_cmdline.
6020 (grub_cmd_linux): Use temporary storage for parameters.
6021 (grub_cmd_initrd): Likewise.
6022 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
6023 (linux_kernel_params): Make it 1K big.
6024
ddb73558
VS
60252012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * Makefile.util.def: Remove -Wno-format.
6028 * grub-core/Makefile.core.def: Likewise.
6029
1c4afb60
VS
60302012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * tests/cmp_unit_test.c: Add missing failure message.
6033 * tests/example_unit_test.c: Likewise.
6034 * tests/printf_unit_test.c: Likewise.
6035
941e3a6d
VS
60362012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
6039 relaxation of protective MBR requirements.
6040
b105df76
VS
60412012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * configure.ac: Add condition for COND_HOST_XNU.
6044 * Makefile.util.def (10_xnu): New script.
6045 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
6046
84e1569e
VS
60472012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
6050 objconv bug.
6051
130c0f77
VS
60522012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
6055 Binary on other platforms stays identical.
6056
6fd0b143
VS
60572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6060 Apple.
6061
0af1751d
VS
60622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6065
176d5f7d
VS
60662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6069 rather than defining size_t ourselves to avoid conflict.
6070
7de5e20a
VS
60712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6074 initialisation to avoid __bzero reference.
6075
f7143efe
VS
60762012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6079 version.
6080 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6081 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6082 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6083 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6084 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6085
e6ad0555
VS
60862012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6089 * grub-core/kern/misc.c: Likewise.
6090 * grub-core/loader/i386/xnu.c: Likewise.
6091 * include/grub/i386/tsc.h: Likewise.
6092 * include/grub/symbol.h: Likewise.
6093
4a5a3c4a
VS
60942012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6097 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6098 on older compiler.
6099
037f6d90
VS
61002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6103 Implement Apple flavour.
6104 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6105
f7194551
VS
61062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6109 (memmove) [__APPLE__]: Likewise.
6110 (memcpy) [__APPLE__]: Likewise.
6111 (memset) [__APPLE__]: Likewise.
6112 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6113 (memmove) [__APPLE__]: Likewise.
6114 (memcpy) [__APPLE__]: Likewise.
6115 (memset) [__APPLE__]: Likewise.
6116
85a730ca
VS
61172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6120 dependency discard.
6121
40e80b94
VS
61222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/normal/main.c (read_config_file): Provide config_file and
6125 config_directory.
6126 * util/grub.d/41_custom.in: Use config_directoy when available.
6127
9da59c32
VS
61282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6131 (grub_bfs_dir): Likewise.
6132
2787ae53
PJ
61332012-05-27 Peter Jones <pjones@redhat.com>
6134
6135 The old code gives arguments to a printf function which can't work
6136 correctly, and the compiler complains.
6137
6138 * grub-core/tests/example_functional_test.c (example_test): Add
6139 missing text.
6140 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6141 * include/grub/test.h (grub_test_assert_helper): New declaration.
6142 (grub_test_assert): Use grub_test_assert_helper.
6143
526ef13d
VS
61442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6147 (exfctest): ... this to avoid overlong filenames.
6148 All users updated.
6149
20dd511c
VS
61502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 Handle "." and ".." on squashfs.
6153
6154 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6155 Make inode numbers into stack.
6156 (grub_squash_read_symlink): Use stack.
6157 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6158 (make_root_node): Fill stack.
6159 (grub_squash_open): Use stack.
6160
1d80c62a
VS
61612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6164 freeing.
6165
d336f652
VS
61662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6169 stderr on test calls.
6170
8b43f587
VS
61712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6174
80a3dc3f
VS
61752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6178
47e297d4
VS
61792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6182 "..".
6183
df042ccb
VS
61842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6187 (grub_hfsplus_iterate_dir): Add "." and "..".
6188
fc977f48
VS
61892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6192 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6193
f3250e5f
VS
61942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6197 (find_path): Handle "." and "..".
6198
fd8ed4c5
VS
61992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6202 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6203 (grub_affs_iterate_dir): Handle hardlinks.
6204
4ce776d2
MG
62052012-05-26 Matthew Garrett <mjg@redhat.com>
6206
6207 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6208 (grub_efi_console_fini): Likewise.
6209 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6210 (grub_video_gop_fill_mode_info): Rename to ...
6211 (grub_video_gop_fill_real_mode_info): ... this.
6212 (grub_video_gop_fill_mode_info): New function.
6213 (grub_video_gop_setup): Setup double framebuffer.
6214 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6215 Free offscreen.
6216 (grub_video_gop_swap_buffers): Copy framebuffer.
6217 (grub_video_gop_fini): Free offscreen buffer.
6218 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6219 New enum.
6220 (grub_efi_gop_blt_pixel): New struct.
6221
683031ba
VS
62222012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * gentpl.py: Remove error disabling for objconv.
6225
c2deb798
VS
62262012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * configure.ac: Remove -Wunitialized as it's not available on older
6229 compilers.
6230
62312012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
6232
6233 Fix extent overflow comparator.
6234
6235 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6236 (grub_hfsplus_read_block): Set type.
6237 (grub_hfsplus_cmp_extkey): Compare type.
6238
d6b1fd36
VS
62392012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6242
0a9aa0f6
VS
62432012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6246 than 0.
6247
8360e159
VS
62482012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6251 (dejavu_bold_14.pf2): New target.
6252
501b9e4b
VS
62532012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * configure.ac: Fix djvu font detection.
6256
7026b0e2
VS
62572012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6260 ext* instead of ext2.
6261
c2a51ade
VS
62622012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6265 name with \0.
6266
8f803a5d
JU
62672012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6268
6269 * docs/grub-dev.texi: Remove dot from .png.
6270
13c6353f
VS
62712012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6274 protective entry in any slot.
6275 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6276 if protective entry is found in any slot.
6277
6278 Protective entry in non-first slot make no sense but is a widespread
6279 brain damage.
6280
4cf6be1b
VS
62812012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6284
937d1c44
VS
62852012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6288 with old reiserfs.
6289 (grub_reiserfs_open): Don't free root.
6290
021d90ec
VS
62912012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6294 after freeing for safety.
6295
967b2b64
VS
62962012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6299 Reported by: Jordan Uggla.
6300
34274d02
JU
63012012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6302
967b2b64
VS
6303 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6304 actual implementation. Specifically, clarify that the grub menu will
6305 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6306 passed.
34274d02 6307
dcaaae9d
BH
63082012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6309
6310 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6311 of r0.
6312
7086ad52
VS
63132012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 Remove unjustified hard dependency of normal.mod on gfxterm.
6316
6317 * include/grub/term.h (grub_term_output): New member fullscreen.
6318 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6319 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6320 (grub_gfxterm): Set .fullscreen.
6321 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6322 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6323
37ed2c9b
VS
63242012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6327 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 6328 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 6329
a4469c88
VS
63302012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6333
4e461486
VS
63342012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6337 a bad FS.
6338
aa78f5c4
VS
63392012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6342 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6343
197626b5
VS
63442012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6347 (grub_jfs_mount): Fill caseins.
6348 (grub_jfs_find_file): Respect caseins.
6349
8ad3f28c
VS
63502012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6353 through UTF-16.
6354
0c6c324e
VS
63552012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6358 New argument origpath. All users updated.
6359
c6666ba6
VS
63602012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6363 (read_attr): Ensure that we read start of possibly compressed block.
6364
e28e5fe5
VS
63652012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6368 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6369 All users updated.
6370
5fc23ab2
VS
63712012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6374 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6375 (dejavu.pf2): Replace with ...
6376 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6377 this.
6378
79dbc21c
VS
63792012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * util/grub.d/20_linux_xen.in: Add missing line.
6382
d2fcfb0c
VS
63832012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6386 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6387 (grub_utf16_to_utf8): Likewise.
6388
5560e9d6
VS
63892012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6392 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6393 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6394 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6395 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6396 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6397
63982012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6399
6400 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6401 a bad FS.
6402
5560e9d6 64032012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6404
6405 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6406 (grub_udf_read_symlink): Handle read_string failure.
6407
5eae3175
VS
64082012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6411 comment.
6412
c1ad82db
VS
64132012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 Fix handling of UDF symlinks.
6416
6417 * grub-core/fs/udf.c (read_string): New argument outbuf.
6418 All users updated.
6419 (grub_ufs_read_symlink): Rename to ...
6420 (grub_udf_read_symlink): ... this. All users updated.
6421 Handle symlinks with more than one component.
6422
33eca6e0
VS
64232012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6426 symlinks. Replace leading colon with a slash.
6427
57f4a70b
VS
64282012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6431 filename.
6432
38c8ee20
VS
64332012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6436 match in inner node.
6437
2e57f28f
VS
64382012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6441 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6442 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6443 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6444 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6445 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6446 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6447 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6448 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6449
fe8c2f11
VS
64502012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 Use grub-probe and not cmp to check that disk is empty.
6453
6454 * util/grub-install.in: Use grub-probe for zero-check.
6455 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6456 (probe): Handle PRINT_ZERO_CHECK.
6457 (argp_parser): Handle -t zero_check.
6458
64592012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6460
6461 Flush block cache on adding disk to device map.
6462
6463 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6464 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6465 adding.
6466 (read_device_map): Likewise.
6467 (open_device): Flush on opening.
6468
690434e8
VS
64692012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6472 (handle_symlink): Fix off-by-one error.
6473 Canonicalize the target.
6474 (grub_cpio_dir): Canonicalize the name.
6475 Fix memory leak.
6476 Set directory.
6477 (grub_cpio_open): Canonicalize the name.
6478
742d2be6
VS
64792012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6482 handling.
6483
3244fe96
VS
64842012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6487 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6488
8aeb1837
VS
64892012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6492 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6493 All users updated.
8aeb1837 6494
9133fd05
VS
64952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6498 counterpart.
6499
6d521c5b
VS
65002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Fix UFS1 big file support.
6503
6504 * grub-core/fs/ufs.c (INODE): Removed.
6505 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6506 64-bit.
6507 (INODE_MODE): Simplify.
6508 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6509 (grub_ufs_lookup_symlink): Don't use INODE.
6510
21b82e17
VS
65112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6514
6515 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6516 (grub_minix_data): Replace log_block_size with block_size.
6517 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6518 (grub_minix_mount): Fill block_size.
6519
65202012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6521
6522 * configure.ac: Bump to beta5.
6523
f417ed04
VS
65242012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 Fix wrapped HFS+ handling.
6527
6528 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6529 blocks_start. All users updated.
6530 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6531 wrapping offset.
6532 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6533
607d282b
VS
65342012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Fix long symlinks on reiserfs.
6537
6538 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6539 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6540 (grub_reiserfs_iterate_dir): Save size for non-directories.
6541 (grub_reiserfs_open): Don't reread stat block as we already know the
6542 size.
6543 (grub_reiserfs_read): Split into...
6544 (grub_reiserfs_read_real): ... and ...
6545 (grub_reiserfs_read): ...this.
6546
ae16024d
VS
65472012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 Fix non-indexed JFS.
6550
6551 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6552 (grub_jfs_data): New field namecomponentlen.
6553 (grub_jfs_mount): Fill namecomponentlen.
6554 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6555
eea1e26e
VS
65562012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6559 * tests/grub_script_echo1.in: Add tests.
6560
df760f77
VS
65612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * util/grub-install.in: Ignore empty devicetree directory.
6564
5efb817d
B
65652012-05-08 Bean <bean123ch@gmail.com>
6566
6567 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6568 All users updated.
6569 (free_rsm): Free header as well.
6570 (free_old_fragments): Fix memory leak.
6571 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6572 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6573 (destroy_pq): Likewise.
6574 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6575
668ea6d2
VS
65762012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6579 resulting hash as a precaution.
6580
1739b1fe
VS
65812012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6584 '_' in variable names.
6585 * grub-core/net/net.c (grub_net_network_level_interface_register):
6586 Likewise.
6587
6ae485aa
VS
65882012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Fix AFFS with non-512B blocks.
6591
6592 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6593 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6594 (grub_affs_data): Replace blocksize with log_blocksize.
6595 (grub_affs_read_block): Fix non-512B blocks.
6596 (grub_affs_read_symlink): Likewise.
6597 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6598 (grub_affs_read): Fix non-512B blocks.
6599 (grub_affs_label): Likewise.
6600 (grub_affs_mtime): Likewise.
6601 (grub_affs_mount): Fix block detection routine.
6602
d20fab84
VS
66032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Add filesystem mtime to AFFS.
6606
6607 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6608 (aftime2ctime): New function.
6609 (grub_affs_dir): Use aftime2ctime.
6610 (grub_affs_label): Fix return value.
6611 (grub_affs_mtime): New function.
6612 (grub_affs_fs): Add mtime.
6613
e87b10f5
VS
66142012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6617 UTF-8.
6618
7dceec9b
VS
66192012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6622 UTF-8.
6623
2f48221f
VS
66242012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6627
dacd85cf
VS
66282012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6631 flags.
6632 (FLAGS_CASE_SENSITIVE): New enum value.
6633 (cache_entry): New struct.
6634 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6635 cache_size and cache.
6636 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6637 Add log_blocksize and fshelp_flags.
6638 (grub_sfs_read_extent): Handle non-512 blocks.
6639 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6640 (grub_sfs_read_file): Handle non-512 blocks.
6641 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6642 fshelp_flags.
6643 (grub_sfs_read_symlink): Handle non-512 blocks.
6644 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6645 (grub_sfs_dir): Free cache.
6646 (grub_sfs_close): Likewise.
6647
24e9a854
VS
66482012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6651 filesystems.
6652
62ace64d
VS
66532012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6656
83b2e89c
VS
66572012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6660
75ccaea3
VS
66612012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6664 (grub_sfs_read_extent): Likewise.
6665 (grub_sfs_read_block): Likewise.
6666 (grub_sfs_mount): Likewise.
6667 (grub_sfs_iterate_dir): Likewise.
6668 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6669 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6670
1b8463f2
VS
66712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 Fix errors on compressed NTFS with 512B clusters.
6674
6675 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6676 types.
6677 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6678 not 0.
6679 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6680 Relax check for inline extents.
6681 (ntfscomp): Return correct -1 on error and not 0.
6682
4f8e368f
VS
66832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * util/grub-install.in: Fix handling of prefix containing spaces.
6686
6f5d5ee8
VS
66872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6690 (grub_squash_read_data): Fix offset byte-swapping.
6691
ce41ab7a
VS
66922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6695 per common usage and preffered in several parts of code.
6696 (grub_memcmp): Likewise.
6697 (grub_strncmp): Likewise.
6698 * include/grub/misc.h (grub_strcasecmp): Likewise.
6699 (grub_strncasecmp): Likewise.
6700 * Makefile.util.def (cmp_test): New test.
6701 (grub_script_strcmp): Likewise.
6702 * tests/cmp_unit_test.c: New file.
6703 * tests/grub_script_strcmp.in: Likewise.
6704 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6705
49717bf4
VS
67062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * include/grub/pci.h: Move enums into no-asm part.
6709
0a308f64
VS
67102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6713
1796965f
ST
67142012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6715
6716 * util/getroot.c (find_hurd_root_device): Try to make error message
6717 and comments to translators clearer.
6718
4e9b2819
VS
67192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6722
076aeb50
VS
67232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6726 btrfs.
6727
19424d94
VS
67282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * docs/grub.cfg: Update.
6731
ebb73076
VS
67322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * docs/grub.texi (PXE): Remove not present variables.
6735
9a1b669c
VS
67362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/net/net.c (defserver_set_env): New function.
6739 (defserver_get_env): Likewise.
6740 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6741
d38bf7d3
VS
67422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6745 entries.
6746
67472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6748
6749 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6750 * grub-core/kern/emu/hostdisk.c: Likewise.
6751
e5e4ca48
ST
67522012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6753
6754 Handle hurd userspace partitions.
6755
6756 * util/getroot.c (find_hurd_root_device): New function.
6757 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6758
56bb5dd5
VS
67592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6762 names.
6763 Reported by: Bastian Blank.
6764
9e8bc27a
VS
67652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6768 crossing page boundary.
6769
aa01499d
VS
67702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 Fix B-tree search in BFS, especially in presence of non-ASCII
6773 characters.
6774
6775 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6776 (find_in_b_tree): Use standard bsearch + btree algorithm.
6777
57006035
VS
67782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6781 and so on.
6782
9d34bb85
MG
67832012-05-03 Matthew Garrett <mjg@redhat.com>
67842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 Suspend broadcom cards in order to stop their DMA.
6787
6788 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6789 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6790 (pci): Don't build on x86 EFI.
6791 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6792 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6793 New function.
6794 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6795 stop_broadcom if running on EFI.
6796 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6797 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6798 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6799 (grub_pci_find_capability): New proto.
6800
01aab997
VS
68012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * docs/grub.texi: Remove dot from the extension as it apparently
6804 doesn't work with some makeinfo versions.
6805
fbd8dca6
VS
68062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6809 with GRUB expectance.
6810
dab797f4
VS
68112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6814
1516bfb4
VS
68152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6818 zero after directory block since last entry may be not 0-terminated if
6819 it ends on block boundary. Use continue instead of if spanning whole
6820 loop.
6821
a3a0eace
VS
68222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 Support 4K sectors UDF inline files.
6825
6826 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6827 (grub_udf_extended_file_entry): Likewise.
6828 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6829 All users updated.
6830 (get_fshelp_size): New function.
6831 (grub_udf_read_icb): Read whole block.
6832 (grub_udf_iterate_dir): Likewise.
6833 (grub_udf_dir): Likewise.
6834 (grub_udf_open): Likewise.
6835
c82f16c1
VS
68362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6839
59fd2aac
VS
68402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6843 inline symlinks in addition to workaround.
6844
3b4afb4d
VS
68452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6848
f45c794a
VS
68492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6852
f25cecbd
VS
68532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6856
bb9a34e8
VS
68572012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 Fix reiserfs big seek times.
6860
6861 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6862 exact. All users updated.
6863 (grub_reiserfs_read): Use nearest btree search for seeking.
6864 Fix return value on error.
6865
dc478aea
VS
68662012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6869 entries.
6870 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6871 * docs/grub.texi: Update menuentry description.
6872
8db10f47
VS
68732012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6876 crash when embedding onto filesystem.
6877
bcb288ed
VS
68782012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6881 name.
6882
a626fdd7
VS
68832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6886
b2f68477
VS
68872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6890 commit.
6891
ba15b2af
B
68922012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
68932012-05-01 Bean <bean123ch@gmail.com>
6894
6895 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6896
a188012e
VS
68972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6900 Special behaviour for len = 0 to read whole file isn't used anywhere and
6901 can cause buffer ovewrflows in several places.
6902
f0a53ed2
VS
69032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6906
5ed554f0
VS
69072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Handle RAIDZ on non-512B sectors.
6910
6911 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6912 max_children_ashift.
6913 (fill_vdev_info_real): Fill max_children_ashift.
6914 (read_device): Use max_children_ashift.
6915
ddc58357
VS
69162012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6919
e3282399
VS
69202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6923 disk names.
6924 * docs/grub.texi: Update device.map parts.
6925
ee618bd4
VS
69262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Don't scan into non-diskfilter devices having diskfilter names.
6929
6930 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6931 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6932 handling.
6933 (scan_disk_hook): New function.
6934
bdf88864
B
69352012-04-29 Bean <bean123ch@gmail.com>
6936
6937 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6938 allocation.
6939
32745f51
MK
69402012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6941
6942 * configure.ac: Detect starfield theme font path
6943 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6944
bc95c8c0
VS
69452012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6948 geometry on serial consoles.
6949
147fbcab
VS
69502012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6953 because of network consoles.
6954
0f42c889
VS
69552012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6958 handling.
6959
4a3594c9
VS
69602012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6963 falls on Q syndrom.
6964
5cb53879
VS
69652012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6968 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6969
b282dfe5
VS
69702012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6973 Allocate at lest 8192 for temporary buffer as required for lzo.
6974
daa59f47
VS
69752012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6978 to cluster_bits, since it's already added in.
6979 (grub_fat_read_data): Likewise.
6980
986748ce
VS
69812012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6984 as long as cluster size is multiple of 512 bytes.
6985
a20f6ad0
VS
69862012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * util/grub-mkrescue.in: Fix locale directory.
6989
385f9abb
VS
69902012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/kern/emu/hostdisk.c (map): Make static.
6993
1c557d30
B
69942012-04-23 Bean <bean123ch@gmail.com>
6995
6996 * util/grub-fstest.c (fstest): Add missing break.
6997
524b5d3a
ST
69982012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6999
7000 Fix hurd build.
7001
7002 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
7003 not define nr variable.
fe4824e9 7004 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
7005 find_root_devices_from_poolname, find_root_devices_from_libzfs,
7006 grub_find_device): Do not define.
524b5d3a 7007
9a06490c
VS
70082012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Fix kfreebsd compile and behaviour.
7011
7012 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
7013 format-security.
7014 * util/getroot.c: Fix wait.h include.
7015 (grub_guess_root_devices): Error if grub_find_device fails.
7016 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
7017 (grub_util_get_dev_abstraction): Likewise.
7018 (grub_util_pull_device): Likewise.
7019 (grub_util_get_grub_dev): Likewise.
7020 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
7021
48143d96
VS
70222012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 Fix and unify wholedisk detection.
7025
7026 * util/getroot.c (convert_system_partition_to_system_disk): New argument
7027 is_part. All users updated.
7028 (device_is_wholedisk): Removed.
7029 (grub_util_biosdisk_get_grub_dev): Use is_part.
7030
ebbd24f3
VS
70312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
7034 mode.
7035
56f7aa1e
VS
70362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * configure.ac: Bump to beta4.
7039
9c815e01
VS
70402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
7043 --fs-uuid --set UUID syntax.
7044
59e2651a
VS
70452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
7048 disunification.
7049
54e03cfc
VS
70502012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
7053
81092a75
MK
70542012-04-18 Mads Kiilerich <mads@kiilerich.com>
7055
7056 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
7057
f8315e14
MG
70582012-04-18 Mike Gilbert <floppym@gentoo.org>
7059
7060 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7061
1501ac21
B
70622012-04-18 Bean <bean123ch@gmail.com>
7063
7064 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7065 place.
7066
cb7f944e
VS
70672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7070 users updated.
7071 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7072 corresponding to GRUB partitions.
7073 (grub_util_biosdisk_write): Likewise.
7074
b72d44a1
VS
70752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Scan mdraid before LVM.
7078
7079 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7080 (grub_diskfilter_register_front): ... this.
7081 (grub_diskfilter_register_back): New function.
7082 All users of grub_diskfilter_register updated.
7083
33d918b8
VS
70842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * util/grub-install.in: Fix an automatic target detection bug.
7087
c6ca973d
VS
70882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * util/grub-install.in: New option --efi-directory.
7091
b41be562
VS
70922012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7095 boot services if we have no other choice.
7096
70972012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7100 document it.
7101 * tests/util/grub-shell.in: Update to --directory.
7102
e0595a73
VS
71032012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7106
4ed80652
VS
71072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7110 (grub_minix_read_file): Likewise.
7111 (grub_minix_read_inode): Likewise.
7112 (grub_minix_find_file): Likewise.
7113 (grub_minix_dir): Likewise.
7114
56008077
VS
71152012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/grub-setup.c (setup): Fix partition handling and blocklist
7118 check.
7119
ee520775
VS
71202012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7123 redundant buggy overlap check.
7124
16fc9293
VS
71252012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7128 and grub-mknetdir.
7129
9bab65c4
VS
71302012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7133 kh.loadflags on pre-2.00 kernels.
7134
3c491b47
VS
71352012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Terminate UNDI and PXE before launching the payload to avoid problems
7138 with DMA.
7139
7140 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7141 (grub_loader_flags): ... this. All users updated.
7142 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7143 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7144 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7145 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7146 function.
7147 (grub_pxe_restore): Likewise.
7148 (fini_hnd): New var.
7149 (GRUB_MOD_INIT): Register shutdown hook.
7150 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7151 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7152 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7153 (grub_loader_set): Rename second argument to flags.
7154
851ffada
VS
71552012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7158 written bytes.
7159 (grub_get_num_of_utf8_bytes): New function.
7160 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7161 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7162 executing it.
7163 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7164 (grub_ucs4_to_utf8): Change return type.
7165
491c57a8
VS
71662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7169 warning.
851ffada
VS
7170 * grub-core/fs/bfs.c (hop_level): Likewise.
7171 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 7172
756773df
VS
71732012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * grub-core/lib/adler32.c: Recode due to license unclearness.
7176
fd556a96
VS
71772012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7180 (test_header): Likewise.
7181
9f9d3f69
VS
71822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 Fix --help formatting.
7185
7186 * util/grub-mkconfig_lib.in (print_option_help): New function.
7187 (grub_fmt): Likewise.
7188 * util/grub-install.in: Use print_option_help and grub_fmt.
7189 * util/grub-kbdcomp.in: Likewise.
7190 * util/grub-mkconfig.in: Likewise.
7191 * util/grub-mknetdir.in: Likewise.
7192 * util/grub-mkrescue.in: Likewise.
7193 * util/grub-mkstandalone.in: Likewise.
7194 * util/grub-reboot.in: Likewise.
7195 * util/grub-set-default.in: Likewise.
7196 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7197
561ec77e
VS
71982012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * linguas.sh: Remove autogenerated *.po.
7201
7ec2b021
VS
72022012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * po/README: Move language fetcing to ...
7205 * linguas.sh: ... here.
7206 * po/README: Point to linguas.sh.
7207
a88f3270
VS
72082012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * po/README: Exclude ko.po due to disclaimer problems.
7211
d61357ce
VS
72122012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7215 len = 0.
7216 (grub_gettext_translate_real): Handle 0th string.
7217 (grub_gettext_translate): Ensure that "" isn't translated.
7218
505e41dc
VS
72192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7222 TRANSLATORS comment.
7223 (grub_diskfilter_print_partmap): Propagate changing of error into
7224 warning.
7225
e44092db
VS
72262012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7229 to uint64_t to prevent overflow.
7230 (grub_diskfilter_lv): Increase start_extent and extent_count
7231 to uint64_t to prevent overflow.
7232
9b83956a
VS
72332012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * configure.ac: Increase version.
7236
da0d5b3f
VS
72372012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7240
7241 * po/Rules-translit: New file.
7242 * po/arabic.sed: Likewise.
7243 * po/cyrillic.sed: Likewise.
7244 * po/greek.sed: Likewise.
7245 * po/hebrew.sed: Likewise.
7246 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7247 * po/Makefile.in.in: Add extra_dist4.
7248
ac66b453
VS
72492012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7252
7253 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7254 modify names. Introduce MODE_BIGENDIAN.
7255 * grub-core/fs/minix_be.c: New file.
7256 * grub-core/fs/minix2_be.c: Likewise
7257 * grub-core/fs/minix3_be.c: Likewise.
7258 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7259 minix3_be.
7260 * grub-core/Makefile.core.def (minix_be): New module.
7261 (minix2_be): Likewise.
7262 (minix3_be): Likewise.
7263
72642012-04-01 Felix <email@hamburg.de>
7265
7266 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7267 (devs): Add MBP 2011.
7268
0a2d5a82
VS
72692012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7272
d1625889
VS
72732012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/normal/cmdline.c (print_completion): New field
7276 prompt_len.
7277 (grub_cmdline_get): Handle width properly.
7278
6d36a236
VS
72792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7282
9576977e
VS
72832012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 7286 after 29th of February.
9576977e 7287
d73ff15d
VS
72882012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 Fix exfat endianness handling.
7291
7292 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7293 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7294 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7295 Byte-swap utf16 when necessary.
7296 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7297
bbb39a45
AB
72982012-03-31 Anton Blanchard <anton@samba.org>
72992012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 Fix btrfs endianness handling.
7302
7303 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7304 (lower_bound): Make root uint64_t. Use root in le.
7305 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7306 (find_path): Fix template key init.
7307 (grub_btrfs_dir): Fix mtime byteswap.
7308 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7309
354e0af7
VS
73102012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7313 recursion_depth. Break infinite resursions. All users updated.
7314
4e75f21c
VS
73152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7318 after free.
7319 Reported by: Peter Jones.
7320
25581802
AB
73212012-03-31 Anton Blanchard <anton@samba.org>
7322
7323 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7324 8 bit values.
7325
08fbf92e
VS
73262012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/grub-install.in: Fix nvram call for PreP.
7329
5d1182a6
VS
73302012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7333 the error when some elements are missing into a warning.
7334
3f8cdd90
VS
73352012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7338
51006716
CW
73392012-03-28 Colin Watson <cjwatson@ubuntu.com>
7340
7341 * docs/grub.texi (Invoking grub-probe): New section.
7342 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7343
e1bd676b
VS
73442012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 Fix tab and wide character handling in editor and menu.
7347
7348 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7349 agglomerate control characters with combining marks.
7350 (bidi_line_wrap): Allow break on tab.
7351 (grub_unicode_get_comb_start): New function.
7352 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7353 and tab correctly.
7354 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7355 with a space.
7356 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7357 fixed_tab_size. All users updated.
7358 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7359 (grub_term_getcharwidth): Handle \t.
7360 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7361 and copy.
7362
22e6a774
VS
73632012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 Handle big-endian mdraid.
7366
7367 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7368 * grub-core/Makefile.core.def (mdraid09_be): New module.
7369 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7370 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7371 * grub-core/disk/mdraid_linux_be.c: New file.
7372
3c0eae66
VS
73732012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7376
b6cf74c9
VS
73772012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7380 missing quotes which caused confusion among translators.
7381
83c93b9c
VS
73822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * util/grub-mkconfig_lib.in: Fix typo.
7385
ac6fd218
VS
73862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7389 spaces.
7390 * tests/grub_script_leading_whitespace.in: New file.
7391 * Makefile.util.def (grub_script_leading_whitespace): New test.
7392
ba287dd8
VS
73932012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7396 to work.
7397
d2d58d0a
VS
73982012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7401 starts with control character.
7402
0382d9bb
VS
74032012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7406 overflow.
7407 (grub_gdb_outbuf): Likewise.
7408
d83ff9f9
VS
74092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7412 zero terminator. Fixes a crash.
7413
2282da4a
VS
74142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7417 beyond 4 GiB.
7418 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7419 images independently of preffered adderss field.
7420
0ae4f0bd
VS
74212012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7424 * grub-core/commands/regexp.c: Likewise.
7425 * grub-core/loader/i386/linux.c: Likewise.
7426 * grub-core/partmap/msdos.c: Likewise.
7427 * grub-core/script/execute.c: Likewise.
7428 * grub-core/term/gfxterm.c: Likewise.
7429
546fbe9b
VS
74302012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 Add variable parsing in $"..." and fix several mismatches with bash.
7433
7434 * Makefile.util.def (grub_script_gettext): New test.
7435 * grub-core/script/execute.c (parse_string): New function.
7436 (gettext_append): Likewise.
7437 (grub_script_arglist_to_argv): Use gettext_append.
7438 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7439 * tests/grub_script_gettext.in: New file.
7440
9fdb2d7b
VS
74412012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Fix handling of leading spaces in scripts.
7444
7445 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7446 spaces.
7447 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7448 other than skipping \r. All users updated.
7449 * tests/grub_script_echo1.in: Add space-related tests.
7450 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7451
1a1ac4f6
VS
74522012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7455
b63d89b6
VS
74562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * configure.ac: Bump up the version to beta2.
7459
17f38c0f
VS
74602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Fix gettext reload bugs (e.g. inability to disable gettext
7463 once enabled).
7464
7465 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7466 main_context and secondary_context. All functions updated.
7467 (grub_gettext_translate): Rename to ...
7468 (grub_gettext_translate_real): ... this. Return NULL on failed
7469 translate.
7470 (grub_gettext_translate): Handle secondary context.
7471 (grub_gettext_delete_list): Close file and zero-out the context.
7472 (grub_mofile_open): Don't call grub_gettext_delete_list.
7473 Don't close file.
7474 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7475 if locale="" to avoid pointless error message.
7476 (grub_gettext_env_write_lang): Update lang even if load fails.
7477 Handle secondary context.
7478 (grub_gettext_reread_prefix): New function.
7479 (read_main): Likewise.
7480 (read_secondary): Likewise.
7481 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7482 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7483 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7484 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7485
8e56f870
VS
74862012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * configure.ac: Decrease warning level to avoid spurious warnings and
7489 to be able to compile with GCC 4.2.
7490 * Makefile.util.def: Remove -Wno-error=logical-op.
7491
82f6d455
WB
74922012-03-10 William Bittner <william.bittner@gmail.com>
7493
7494 * util/import_unicode.py: Add missing brackets around string for
7495 python 3 support.
7496
1ecd61a4
VS
74972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 Fix efi chainloader on network root.
7500
7501 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7502 network devices.
7503 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7504 New function.
7505
14361ee8
VS
75062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7509 unused show_text member.
7510 * docs/grub.texi: Document "text" property.
7511
922aabf3
VS
75122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7515 in dprintf.
7516
ec316771
VS
75172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 Fix IMSM handling on Fedora.
7520
7521 * util/getroot.c (grub_util_is_imsm): New function.
7522 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7523
0f021838
VS
75242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * Makefile.am: Strip gold section.
7527 * conf/Makefile.common: Likewise.
7528 * gentpl.py: Likewise.
7529 * grub-core/Makefile.core.def: Likewise.
7530 * grub-core/genmod.sh.in: Likewise.
7531
1039c8eb
VS
75322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7535 * util/grub.d/20_linux_xen.in: Likewise.
7536 Based on Debian patch.
7537
6dd412cd
VS
75382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * util/grub.d/10_linux.in: Fix syntax error resulting in
7541 Richard Laager's patch.
7542 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7543
3fd8bae5
VS
75442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7547 dependencies.
7548
7eea1671
RL
75492012-03-10 Richard Laager <rlaager@wiktel.com>
7550
7551 * util/grub.d/10_linux.in: Fix ZFS root passing.
7552
e8e0566b
VS
75532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7556 * grub-core/commands/xnu_uuid.c: Likewise.
7557 * grub-core/loader/efi/appleloader.c: Likewise.
7558 * grub-core/script/execute.c: Likewise.
7559 * grub-core/script/main.c: Likewise.
7560 * util/grub-mkfont.c: Likewise.
7561
1acc5b1f
VS
75622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * util/grub-mkfont.c (options): Use more appropriate "select" that
7565 "set" for face index.
7566
35d70620
VS
75672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * util/grub-editenv.c (options): Gettextize command summaries.
7570
c9eb96b5
VS
75712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7574 "out of memory" error messagge.
7575
1f493136
VS
75762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7579 of diskfilter for diskfilter on diskfilter support.
7580
6d790129
VS
75812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7584
005f46c9
VS
75852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7588 themes/starfield.
7589
c8f778a0
VS
75902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7593
de1e64eb
VS
75942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7597
c6d54211
VS
75982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7601 of error message.
7602
dd390777
VS
76032012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7606
5fd1c522
VS
76072012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7610 message.
c6d54211 7611 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7612
fae01f6c
VS
76132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7616 Gettextize.
7617 * util/grub-mount.c (options): Likewise.
7618
292fdaff
VS
76192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7622 gettextize.
7623 * grub-core/commands/search_wrap.c (options): Likewise.
7624
ecdbae77
VS
76252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7628
52bfedfa
VS
76292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7632 size calculation.
7633 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7634 none is known.
7635
55b20e58
VS
76362012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7639 "temporary" since it's used in identifier and is limited in space.
7640
fda9d101
VS
76412012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * po/POTFILES.in: Regenerate. Include *.h since they contain
7644 translatable strings as well.
7645
6a0295e2
VS
76462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7649 byte-swap on big-endian.
7650 Reported by: Lennart Sorensen
7651
807fb77c
VS
76522012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7655 (allocate_pages): Improve dprintf.
7656 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7657 code32_start. Fill code32_start and kernel_alignment in params.
7658 (grub_cmd_initrd): Use prot_init_space.
7659
61ac50ba
VS
76602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7663
abdd26dd
VS
76642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub-install.in: Add missing dot at the end of sentence.
7667
6e69da9c
VS
76682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7671 * grub-core/commands/videotest.c: Likewise.
7672 * grub-core/loader/i386/linux.c: Likewise.
7673
4a929343
VS
76742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7677 sentence.
7678 Reported by: Milo Casagrande.
7679
bb51c6c6
VS
76802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7683 * grub-core/commands/gptsync.c: Likewise.
7684 * grub-core/commands/hashsum.c: Likewise.
7685 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7686 * grub-core/commands/legacycfg.c: Likewise.
7687 * grub-core/io/gzio.c: Likewise.
7688 * grub-core/net/net.c: Likewise.
7689 * grub-core/term/gfxterm.c: Likewise.
7690 * grub-core/term/terminfo.c: Likewise.
7691 * grub-core/tests/test_blockarg.c: Likewise.
7692 * grub-core/video/video.c: Likewise.
7693 * util/grub-install.in: Likewise.
7694 * util/grub-mkfont.c: Likewise.
7695
b2b149cb
VS
76962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7699
c7c080ad
VS
77002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7703 Reported by: David Prévot.
c7c080ad 7704
f2e243c0
VS
77052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7708 description.
7709
09963c76
VS
77102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * util/grub-script-check.c (main): Fix a syntax error message which was
7713 unclear.
7714
a50514a8
VS
77152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7718
4650daec
VS
77192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7722 messages.
7723
77242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7725
7726 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7727 without argument.
7728 * util/grub-mount.c (options): Likewise.
7729
bbc5a342
VS
77302012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7733
ef292a87
VS
77342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/net/http.c: Add TRANSLATORS comments.
7737 * grub-core/normal/cmdline.c: Likewise.
7738 * grub-core/normal/misc.c: Likewise.
7739 * grub-core/partmap/msdos.c: Likewise.
7740 * grub-core/parttool/msdospart.c: Likewise.
7741 * grub-core/script/execute.c: Likewise.
7742 * grub-core/script/main.c: Likewise.
7743 * grub-core/term/terminfo.c: Likewise.
7744 * grub-core/video/bitmap.c: Likewise.
7745 * util/grub-install.in: Likewise.
7746 * util/grub-mkimage.c: Likewise.
7747 * util/grub-mklayout.c: Likewise.
7748 * util/grub-setup.c: Likewise.
7749
0fc19bd0
VS
77502012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7753 with similar messages in grub-fstest.
7754
d95862ef
VS
77552012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * util/grub-install.in: Unify "option requires an argument" message
7758 with similar messages in other files.
7759 * util/grub-mkconfig.in: Likewise.
7760
b7308f90
VS
77612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * util/grub-set-default.in: Replace printf with gettext_printf (the
7764 string in in question is already translated from grub-reboot)
7765
559dc587
VS
77662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * configure.ac: Bump up the version to beta1.
7769
1a11761f
VS
77702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7773 case when min_align = 0.
7774
24539abd
VS
77752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7778 and fix a case when line_start overflows.
7779
32bd735b
VS
77802012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 * util/grub-reboot.in (usage): Mention id posibility.
7783 * util/grub-set-default.in (usage): Likewise.
7784
1a2fd1e6
VS
77852012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7786
7787 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7788 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7789 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7790 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7791 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7792 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7793 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7794
90eeab76
VS
77952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/commands/menuentry.c (options): Remove
7798 GRUB_ARG_OPTION_REPEATABLE.
7799 Reported by: Andreas Vogel
7800
5ad1be82
AV
78012012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7802
7803 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7804
cb055286
HE
78052012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7806
7807 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7808 error.
7809
93b1cd79
VS
78102012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 Use sort -V by the idea of Georgi Georgiev.
7813
7814 * util/grub-mkconfig_lib.in (version_sort): New function.
7815 (version_test_numeric): Use version_sort.
7816
0cdc126c
VS
78172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 Use submenus in grub-mkconfig.
7820
7821 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7822 * util/grub-mkconfig_lib.in (grub_quote): New function.
7823 (gettext_printf): Use gettext and not gettext_quoted to fix several
7824 messages.
7825 * util/grub.d/10_hurd.in: Use submenus.
7826 * util/grub.d/10_kfreebsd.in: Likewise.
7827 * util/grub.d/10_linux.in: Likewise.
7828 * util/grub.d/10_netbsd.in: Likewise.
7829 * util/grub.d/20_linux_xen.in: Likewise.
7830 * util/grub.d/30_os-prober.in: Likewise.
7831 * util/grub.d/10_illumos.in: Add missing quoting.
7832 * util/grub.d/10_windows.in: Likewise.
7833
d9bef9bc
VS
78342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Fix menu title instability bug.
7837
7838 * grub-core/commands/menuentry.c (options): New option --id.
7839 (grub_normal_add_menu_entry): New argument id. All users updated.
7840 (grub_cmd_menuentry): Handle --id.
7841 (grub_menu_init): Accept unknown arguments.
7842 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7843 feature_menuentry_options.
7844 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7845 saved_entry.
7846 (get_entry_number): Match with id as well.
7847 * include/grub/menu.h (grub_menu_entry): New member id.
7848 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7849 * util/grub.d/00_header.in: Define menuentry_id_option.
7850 * util/grub.d/10_hurd.in: Define id.
7851 * util/grub.d/10_illumos.in: Likewise.
7852 * util/grub.d/10_kfreebsd.in: Likewise.
7853 * util/grub.d/10_linux.in: Likewise.
7854 * util/grub.d/10_netbsd.in: Likewise.
7855 * util/grub.d/10_windows.in: Likewise.
7856 * util/grub.d/20_linux_xen.in: Likewise.
7857 * util/grub.d/30_os-prober.in: Likewise.
7858
78592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7860
7861 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7862 "scope" with "body".
7863
7c8d0ce7
VS
78642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7867 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7868 prot_size and prot_file_size.
7869
49de079b
VS
78702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7873 All users updated. If easily=1 require raid-5/-6 to be full.
7874 (is_node_readable): Likewise.
7875 (scan_devices): Scan incomplete but readable LVs at the end.
7876 (grub_diskfilter_memberlist): Pull missing devices.
7877 (insert_array): Skip scanning until device is complete or scan is
7878 done otherwise.
7879 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7880 check.
7881 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7882 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7883
aff05d45
MG
78842012-03-03 Matthew Garrett <mjg@redhat.com>
78852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Avoid EFI boot services when loading Linux.
7888
7889 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7890 avoid_efi_bootservices. All users updated.
7891 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7892 argument avoid_efi_bootservices. All users updated.
7893 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7894 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7895 align, min_align, relocatable, prefered_address. All users updated.
7896 Allocate avoiding boot services if kernel is relocatable.
7897 (grub_cmd_linux): Check if kernel is relocatable.
7898 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7899 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7900 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7901 avoid_efi_boot_services.
7902 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7903 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7904 (linux_kernel_params): Likewise.
7905
3935dde2
MG
79062012-03-03 Matthew Garrett <mjg@redhat.com>
79072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 Use EDID on EFI.
7910
7911 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7912 datasize_out.
7913 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7914 modes. Set gop_handle.
7915 (grub_video_gop_get_edid): New function.
7916 (grub_gop_get_preferred_mode): Likewise.
7917 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7918 (grub_video_efi_gop_adapter): Set .get_edid.
7919 * include/grub/efi/edid.h: New file.
7920 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7921
32107ec0
VS
79222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * util/grub-install.in: Load efivars unconditionally.
7925
e70a2c50
VS
79262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * po/Rules-piglatin: Change suffix from .po-update-en to
7929 .po-update-en-piglatin.
7930
8f9cace1
VS
79312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 Add a pig farm.
7934
7935 * po/piglatin.sed: New file.
7936 * po/en@piglatin.header: Likewise.
7937 * po/Rules-piglatin: Likewise.
7938 * po/README: Add en@piglatin to autogenerated languages.
7939
8f95d002
VS
79402012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7943 "Command for ...".
7944 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7945 "Check" since we don't check anything.
7946 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7947 is 64-bit one.
7948 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7949 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7950 (grub_md_sha512_real): Likewise.
7951
805a8dcc
VS
79522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/commands/gptsync.c: Fix typographic quoting.
7955 * grub-core/commands/ieee1275/suspend.c: Likewise.
7956 * grub-core/commands/parttool.c: Likewise.
7957 * grub-core/commands/search_wrap.c: Likewise.
7958 * grub-core/commands/videoinfo.c: Likewise.
7959 * grub-core/gfxmenu/gui_label.c: Likewise.
7960 * grub-core/hello/hello.c: Likewise.
7961 * grub-core/kern/emu/main.c: Likewise.
7962 * grub-core/net/net.c: Likewise.
7963 * grub-core/normal/menu.c: Likewise.
7964 * grub-core/normal/menu_text.c: Likewise.
7965 * grub-core/normal/misc.c: Likewise.
7966 * util/grub-editenv.c: Likewise.
7967 * util/grub-install.in: Likewise.
7968 * util/grub-kbdcomp.in: Likewise.
7969 * util/grub-mkconfig.in: Likewise.
7970 * util/grub-mknetdir.in: Likewise.
7971 * util/grub-mkrescue.in: Likewise.
7972 * util/grub-mkstandalone.in: Likewise.
7973 * util/grub-reboot.in: Likewise.
7974 * util/grub-set-default.in: Likewise.
7975 * util/grub-setup.c: Likewise.
7976 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7977
40211ab8
VS
79782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7981 * grub-core/commands/keystatus.c: Likewise.
7982 * grub-core/commands/loadenv.c: Likewise.
7983 * grub-core/commands/probe.c: Likewise.
7984 * grub-core/commands/regexp.c: Likewise.
7985 * grub-core/commands/true.c: Likewise.
7986 * grub-core/commands/videoinfo.c: Likewise.
7987 * grub-core/disk/cryptodisk.c: Likewise.
7988 * grub-core/disk/ldm.c: Likewise.
7989 * grub-core/disk/loopback.c: Likewise.
7990 * grub-core/disk/luks.c: Likewise.
7991 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7992 * grub-core/kern/disk.c: Likewise.
7993 * grub-core/kern/emu/hostdisk.c: Likewise.
7994
0c7d99c7
VS
79952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7998 * util/grub-install.in: Add missing quote in the comment.
7999
e7d2559b
VS
80002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
8003 * grub-core/commands/lsmmap.c: Likewise.
8004 * grub-core/commands/minicmd.c: Likewise.
8005 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8006 * grub-core/commands/regexp.c: Likewise.
8007 * grub-core/gdb/gdb.c: Likewise.
8008 * grub-core/term/gfxterm.c: Likewise.
8009 * util/grub-mkconfig.in: Likewise.
8010 * util/grub-mkfont.c: Likewise.
8011 * util/grub-mklayout.c: Likewise.
8012 * util/grub-mknetdir.in: Likewise.
8013 * util/grub-mkrescue.in: Likewise.
8014 * util/grub.d/30_os-prober.in: Likewise.
8015
49ce9e50
VS
80162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
8019 with "Direct color" and "Packed" with "Packed pixel".
8020 (grub_cmd_videoinfo): Simplify legend.
8021
e4b791fa
VS
80222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8025 absolutely unclear error message.
8026
fd1265cb
VS
80272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * util/grub-mkstandalone.in: Remove confusing leftover print.
8030
8822a8a0
VS
80312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
8034 comments.
8035 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
8036 (GRUB_MOD_INIT): Likewise.
8037 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
8038 VGA mode.
8039 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
8040 comments.
8041 * util/grub-install.in (usage): Likewise.
8042 Spell ID in whole letters.
8043 Add missing ending dot.
8044 Quote variables.
8045 * util/grub-reboot.in: Fix capitalisation.
8046 * util/grub-set-default.in: Likewise.
8047
937fd0cc
VS
80482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
8051 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
8052 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
8053 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
8054 Disable -Werror for -Wdeprecated-declarations.
8055 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
8056 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
8057 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
8058 (grub_util_get_grub_dev): Make luks handling dependent on
8059 HAVE_DEVICE_MAPPER and not __linux__.
8060 (get_win32_path): Fix format security.
8061 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8062 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8063 Don't try grub_find_zpool_from_dir.
8064 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8065 #ifdef-out paresdir.
8066
1bab1ae3
VS
80672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * util/grub-pe2elf.c (usage): Add missing noreturn.
8070 (write_section_data): Rename name to shname to avoid shadowing.
8071 (write_symbol_table): Rename name to symname to avoid shadowing.
8072 Fix write_reloc_section call.
8073
ef023e42
VS
80742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8077 to ensure that it's after the last byte of .text.
8078
48afcb75
VS
80792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 * util/ieee1275/ofpath.c (my_isdigit): New function.
8082 (trailing_digits): Use my_isdigit.
8083 (strip_trailing_digits): Likewise.
8084
88d51eff
VS
80852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8088 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8089
17edc2ba
VS
80902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/kern/i386/pc/startup.S: Define __start.
8093
ad5518d7
VS
80942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8097 strip already transforms he format.
8098
9e95e1bf
VS
80992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8102
9cc3ee5c
VS
81032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * util/grub-install.in: Add missing gettext init.
8106 * util/grub-kbdcomp.in: Likewise.
8107 * util/grub-mkconfig.in: Likewise.
8108 * util/grub-mknetdir.in: Likewise.
8109 * util/grub-mkrescue.in: Likewise.
8110 * util/grub-mkstandalone.in: Likewise.
8111 * util/grub-reboot.in: Likewise.
8112 * util/grub-set-default.in: Likewise.
8113 * util/grub.d/00_header.in: Likewise.
8114 * util/grub.d/10_hurd.in: Likewise.
8115 * util/grub.d/10_windows.in: Likewise.
8116 * util/grub.d/30_os-prober.in: Likewise.
8117 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8118
49e08a06
VS
81192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * po/Rules-swiss: Fix header comment.
8122
3809cb41
AV
81232012-02-29 Andreas Vogel <anvoit>
8124
8125 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8126 resulted in leak of arguments.
8127
fa6ec573
VS
81282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8131 reed_solomon_size const definition instead of computing it since
8132 Apple assembler doesn't support the later.
8133
22899b9c
VS
81342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * gentpl.py (kernel): Rewrite Apple part.
8137
a132afc3
VS
81382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8141
9d742bd4
VS
81422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8145 ELF section gap.
8146 (load_image): Likewise.
8147
f04a9a21
VS
81482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * configure.ac: Fix a typo in previous commit.
8151
46cf439c
VS
81522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 Don't add -Wl,-N on Apple platform.
8155
8156 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8157 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8158
c4c48c54
VS
81592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/Makefile.core.def (lzma_decompress): Use
8162 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8163
31a12124
VS
81642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/genmod.sh.in: Rewrite the Apple part.
8167
4f3aa1af
VS
81682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8171 comparison.
8172
7bd8b0c7
VS
81732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * acinclude.m4 (grub_CHECK_PIC): New test.
8176 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8177
97304d7c
VS
81782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8181 to avoid the warning.
8182
fb883812
VS
81832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8186 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8187 after. All users updated.
8188
a121c964
VS
81892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Use the common size routine in hostfs so we can read disks as well.
8192
8193 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8194 (grub_util_get_fd_size): ... this. Return size in bytes.
8195 All users updated.
8196 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8197 grub_util_get_fd_size.
8198
c66d6410
VS
81992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8202 Add blocksize retrieval.
8203
dfc8aeb0
VS
82042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * configure.ac: Restore CFLAGS after efiemu check.
8207
403e25a5
VS
82082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8211 Apple bug.
8212
382775d1
VS
82132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8216
6fd4e6e4
VS
82172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8220 (grub_cmd_halt): Likewise.
8221
bea359d6
VS
82222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8225 for local arithmetics.
8226 Break %sp init into 2 instructions.
8227 Add 0 byte at the end.
8228
32eb6ee1
VS
82292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8232 before loops.
8233
e8377389
VS
82342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8237 for context.
8238
8cb17de7
VS
82392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/disk/ldm.c (make_vg): Init part.name.
8242 (grub_ldm_detect): Silence spurious warning.
8243 (grub_util_is_ldm): Likewise.
8244
595717e6
VS
82452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8248 sane value to avoid a spurious warning.
8249
c4b7e588
VS
82502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8253 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8254
59824957
VS
82552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8258 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8259
70115b99
VS
82602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8263 hardcoding the relevant info.
8264
56733740
VS
82652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8268 missing const qualifiers.
8269 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8270
43481481
VS
82712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * util/getroot.c [__APPLE__]: Add missing includes.
8274 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8275
3cb38f01
VS
82762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8279
d9dbf11e
VS
82802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8283 avoid conflicts.
8284
0c42a45d
VS
82852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8288
46c34eb0
VS
82892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8292 and grub_file_close call.
8293
99ce1597
VS
82942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Add LZSS Mach-O support (needed for new xnu kernelcache).
8297
8298 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8299 * grub-core/loader/lzss.c: New file.
8300 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8301 on Mach-O open failure.
8302 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8303 Don't free cmdsXX in uncompressedXX is set.
8304 (grub_macho_file): Init new fields.
8305 New argument is_64bit. All users updated.
8306 Handle compressed. Error out if no suitable architecture is found.
8307 Don't close file.
8308 (grub_macho_open): New argument is_64bit. All users updated.
8309 * grub-core/loader/macho32.c: Add defines for new fields.
8310 * grub-core/loader/macho64.c: Likewise.
8311 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8312 (grub_macho_parse): Handle compressed.
8313 Defer actual processing if compressed.
8314 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8315 "filename". All users updated.
8316 (grub_macho_size): New argument "filename". All users updated.
8317 (grub_macho_get_entry_point): Likewise.
8318 (grub_macho_load): Handle compressed.
8319 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8320 (GRUB_MACHO_LZSS_OFFSET): New define.
8321 (grub_decompress_lzss): New proto.
8322 * include/grub/machoload.h (grub_macho_file): New fields to handle
8323 compressed.
8324 (grub_macho_contains_macho64): Remove proto.
8325 (grub_macho_contains_macho32): Likewise.
8326 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8327
ebd17d6f
VS
83282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8331
2702b4e4
VS
83322012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Fix make dist.
8335
8336 * Makefile.am (starfield_theme_files): New var.
8337 (starfield_DATA): Use starfield_theme_files.
8338 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8339 Add bootcheck-related files.
8340 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8341 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8342 and font_char_metrics.txt.
8343 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8344 (setjmp): Add lib/ia64/longjmp.S.
8345 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8346 * po/POTFILES.in: Regenerate.
8347 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8348 DISTFILES.common.extra1.
8349 * util/devicemap.c: Removed.
8350 * grub-core/lib/i386/relocator_backward.S: Likewise.
8351 * util/import_gcry.py: Remove unused files. Add extra_dist for
8352 ChangeLog.
8353
cf1adfdf
VS
83542012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8357 grub_gettext_delete_list before changing grub_gettext_max to avoid
8358 running out of array bounds.
8359
83602012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
8361
8362 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8363 grub_vga_text_init/grub_vga_text_fini.
8364
cf1adfdf 83652012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
8366
8367 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8368
541d92e9
VS
83692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * configure.ac: Bump to 2.00~beta0.
8372
7931dddf
VS
83732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8376 missing initialisation.
8377
f1b16fa3
VS
83782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8381
83ddae23
VS
83822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 Support v2 xnu boot arguments.
8385
8386 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8387 New argument fsbfreq_out.
8388 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8389 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8390 be used.
8391 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8392 darwin_version.
8393 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8394 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8395 (grub_xnu_boot_params): Rename to ...
8396 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8397 (grub_xnu_boot_params_v2): New struct.
8398
dc693fe6
VS
83992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8402 zeroing of CRC field before computing CRC.
8403
5a6e39c2
VS
84042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8407 Change order of allocations to decrease fragmentation.
8408
6c21f5d7
VS
84092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8412
cfe456dc
CW
84132012-02-27 Colin Watson <cjwatson@ubuntu.com>
8414
8415 Use write-combining MTRR to speed up video with buggy BIOSes.
8416
8417 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8418 (cpuid): New define.
8419 (rdmsr): Likewise.
8420 (wrmsr): Likewise.
8421 (mtrr_base): Likewise.
8422 (mtrr_mask): Likewise.
8423 (grub_vbe_enable_mtrr_entry): New function.
8424 (grub_vbe_enable_mtrr): Likewise.
8425 (grub_vbe_disable_mtrr): Likewise.
8426 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8427 control off to BIOS.
8428 (grub_video_vbe_init): Fill mtrr.
8429 (grub_video_vbe_fini): Disable mtrr.
8430 (grub_video_vbe_get_info_and_fini): Likewise.
8431 (grub_video_vbe_setup): Enable mtrr.
8432
e3c78337
CW
84332012-02-27 Colin Watson <cjwatson@ubuntu.com>
8434
8435 * include/grub/partition.h (grub_partition_map): Change prototype of
8436 embed to take a maximum value for nsectors.
8437 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8438 * include/grub/fs.h (grub_fs): Likewise.
8439 * grub-core/partmap/msdos.c (embed_signatures): New array.
8440 (pc_partition_map_embed): Check for and avoid sectors matching any
8441 of the signatures in embed_signatures, up to max_nsectors.
8442 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8443 returned sector map to max_nsectors.
8444 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8445 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8446 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8447 * util/grub-setup.c (setup): Allow for the embedding area being
8448 split into multiple blocklists. Tell dest_partmap->embed the
8449 maximum number of sectors we care about.
8450
84512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8454 Specify blocklist_install and reserver_first_sector for all fs.
8455 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8456 blocklists.
8457
984b973f
VS
84582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * util/grub-install.in: Clarify strings.
8461 Fix source dir check.
8462
f122e0d6
RL
84632012-02-27 Richard Laager <rlaager@wiktel.com>
8464
8465 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8466 "zfs" and "fuse.zfs" as synonyms.
8467
071114bb
VS
84682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * configure.ac: Put platform and target_cpu substitutions back since
8471 they are used for directories.
8472
817e6abc
RL
84732012-02-27 Richard Laager <rlaager@wiktel.com>
84742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8477 * util/grub.d/20_linux_xen.in: Likewise.
8478
897b7419
RL
84792012-02-27 Richard Laager <rlaager@wiktel.com>
8480
8481 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8482 with full paths.
8483
a414bd15
RL
84842012-02-27 Richard Laager <rlaager@wiktel.com>
8485
8486 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8487 unescape.
8488
30ac48c4
VS
84892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 Don't use insecure popen in getroot.
8492
8493 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8494 (exec_pipe): ... here.
8495 (find_root_devices_from_poolname): Use exec_pipe.
8496
53f13848
VS
84972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 Remove platform and target_cpu replacement.
8500
8501 * configure.ac: Remove platform and target_cpu substitutions.
8502 * tests/util/grub-shell.in: Use modinfo.
8503 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8504 explicitly.
8505
90cb2803
VS
85062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 Autodetect platform in grub-install but allow override.
8509
8510 * util/grub-install.in: Autodetect platform. Support --target and
8511 --directory. Read platform from modinfo.sh.
8512
b9136427
VS
85132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Support btrfs multi-volume probe.
8516
8517 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8518 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8519 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8520 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8521 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8522 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8523 grub_find_root_devices_from_btrfs if on btrfs.
8524
c36e5cd1
VS
85252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Remove any awareness of *.c util files about target.
8528
8529 * Makefile.util.def (grub-setup): Split to ...
8530 (grub-bios-setup): ... and this.
8531 (grub-sparc64-setup): ... and this.
8532 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8533 * docs/man/grub-setup.h2m: Split into ...
8534 * docs/man/grub-sparc64-setup.h2m: ... this.
8535 * docs/man/grub-bios-setup.h2m: ... and this.
8536 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8537 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8538 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8539 (grub_target_addr_t): Remove.
8540 (grub_target_size_t): Remove.
8541 (grub_target_ssize_t): Remove.
8542 * util/grub-install.in: Use new grub-*-setup.
8543 * util/grub-mkimagexx.c (Elf_Word): New define.
8544 (Elf_Half): Likewise.
8545 (Elf_Section): Likewise.
8546 (ELF_ST_TYPE): Likewise.
8547 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8548 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8549
584b2f8a
VS
85502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Replace grub_target_addr with more appropriate types.
8553
8554 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8555 grub_target_addr with grub_addr.
8556 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8557 grub_target_addr with grub_port.
8558 (grub_cmd_write): Likewise.
8559 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8560 grub_target_addr with grub_addr.
8561 (grub_cmd_write): Likewise.
8562 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8563
5a0dc6fb
VS
85642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8567 const qualifier for vendor_guid.
8568
786aff6e
VS
85692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8572 const qualifier.
8573 (efiemu_memequal): Likewise.
8574 (find_variable): Likewise.
8575
49017b17
VS
85762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Fix missing console prototype on qemu-mips.
8579
8580 * include/grub/mips/qemu_mips/console.h: New file.
8581
c5988629
MG
85822012-02-27 Matthew Garrett <mjg@redhat.com>
85832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8586 * include/grub/efi/efi.h: Likewise.
8587 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8588 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8589 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8590 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8591 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8592 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8593
e33f8d69
MG
85942012-02-27 Matthew Garrett <mjg@redhat.com>
8595
8596 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8597
fb312cd9
VS
85982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8601 error.
8602
7134247c
VS
86032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * configure.ac: Remove inappropriate use of program_transform_name
8606 on grubdir and bootdir but allow explicit specification of those
8607 variables.
8608
6a313124
VS
86092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * util/grub-mknetdir.in (grub_prefix): Removed.
8612 (subdir): Use @bootdirname@ and @grubdirname@.
8613
2311c5ca
VS
86142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8617
7d5d60f7
VS
86182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * po/POTFILES.in: Regenerated.
8621
8151bc82
VS
86222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 Remove improper use of program_transform_name on pkglibrootdir.
8625
8626 * configure.ac (pkglibrootdir): Removed.
8627 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8628 * util/grub-mkimage.c: Likewise.
8629
b4a6a533
VS
86302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8633 warning.
8634
668f304f
VS
86352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-install.in: Use file identifier if no UUID is available
8638 or user explicitly prompted for it.
8639
665f2341
NP
86402012-02-27 Navdeep Parhar <nparhar@gmail.com>
8641
8642 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8643 (freebsd_get_zfs): New function.
8644 (grub_freebsd_boot): Pass zfs UUID.
8645 (grub_cmd_freebsd): Set zfs UUID.
8646
8151bc82 86472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8648
8649 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8650 pkglibrootdir.
8651
e4c498a1
MG
86522012-02-27 Mike Gilbert <floppym@gentoo.org>
8653
8654 Add configure flag to control libzfs integration.
8655
8656 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8657
1e9a9a3f
VS
86582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8661 device.
8662 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8663 small devices.
8664
036985b8
VS
86652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8668 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8669 be used on non-modules.
8670
8671 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8672 Rename to grub_boot_init.
8673 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8674 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8675 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8676 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8677 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8678 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8679 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8680 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8681 includes.
8682 (grub_machine_init): Remove empty inits.
8683 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8684 includes.
8685 (grub_machine_init): Remove empty inits.
8686 * grub-core/term/arc/console.c: Remove explicit proto.
8687 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8688 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8689 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8690 grub_at_keyboard_fini.
8691 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8692 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8693 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8694 grub_gfxterm_fini.
8695 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8696 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8697 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8698 grub_vgatext_fini.
8699 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8700 * grub-core/term/serial.c (GRUB_MOD_INIT)
8701 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8702 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8703 grub_serial_fini.
8704 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8705 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8706 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8707 grub_terminfo_fini.
8708 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8709 (GRUB_MOD_FINI): Likewise.
8710 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8711 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8712 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8713 grub_video_radeon_fuloong2e_fini.
8714 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8715 [LOONGSON]: Rename to grub_video_sis315pro_init.
8716 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8717 grub_video_sis315pro_fini.
8718 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8719 [LOONGSON]: Rename to grub_video_sm712_init.
8720 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8721 grub_video_sm712_fini.
8722 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8723 (grub_at_keyboard_fini): Likewise.
8724 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8725 Don't declare grub_{modname}_init.
8726 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8727 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8728 New proto.
8729 (grub_keylayouts_fini) [!EMU]: Likewise.
8730 * include/grub/serial.h (grub_serial_init) [!EMU]:
8731 New proto.
8732 (grub_serial_fini) [!EMU]: Likewise.
8733 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8734 New proto.
8735 (grub_terminfo_fini) [!EMU]: Likewise.
8736 * include/grub/video.h (grub_font_init) [!EMU]:
8737 New proto.
8738 (grub_font_fini) [!EMU]: Likewise.
8739 (grub_gfxterm_init) [!EMU]: Likewise.
8740 (grub_gfxterm_fini) [!EMU]: Likewise.
8741 (grub_video_sm712_init) [!EMU]: Likewise.
8742 (grub_video_sm712_fini) [!EMU]: Likewise.
8743 (grub_video_sis315pro_init) [!EMU]: Likewise.
8744 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8745 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8746 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8747
d5534665
VS
87482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Make nand a prefix for nand devices.
8751
8752 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8753
10133b5f
VS
87542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8757 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8758
8e307a62
VS
87592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * include/grub/env.h (grub_env_find): Remove prototype.
8762 * grub-core/kern/env.c (grub_env_find): Make static.
8763 (grub_env_set): Remove useless set.
8764
a4c65f34
VS
87652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 * grub-core/kern/i386/realmode.S: Remove useless align.
8768
d87893d5
VS
87692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * include/grub/dl.h (grub_dl_load_file): Don't export.
8772
50159add
VS
87732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8776 grub_dprintf.
8777
b2582b84
VS
87782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8781 grub_errors.
8782 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8783 not reloading whole superblock but only the part which is really needed.
8784 Remove useless grub_errors.
8785 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8786 grub_errors.
8787
e2a83395
VS
87882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 Don't export grub_get_rtc.
8791
8792 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8793 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8794
e7d2a906
VS
87952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8798
6cf1363b
VS
87992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8802 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8803
eece3349
VS
88042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 Remove prio_list.
8807
8808 * include/grub/list.h (grub_prio_list): Removed.
8809 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8810 GRUB_COMMAND_PRIO_MASK.
8811 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8812 GRUB_COMMAND_FLAG_ACTIVE.
8813 (grub_prio_list_insert): Removed.
8814 (grub_prio_list_remove): Likewise.
8815 (GRUB_AS_PRIO_LIST): Likewise.
8816 (GRUB_AS_PRIO_LIST_P): Likewise.
8817 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8818 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8819 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8820 * grub-core/kern/command.c (grub_register_command_prio): Inline
8821 the prio_list code.
8822 (grub_unregister_command): Likewise.
8823
94f064b4
VS
88242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 Fix interrupt mixup from previous commit.
8827
8828 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8829 (grub_realidt): New var.
8830 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8831 Load idt.
8832 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8833 New declaration.
8834 (grub_relocator16_boot): Set grub_relocator16_idt.
8835 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8836 (LOCAL(realidt)): ... this.
8837 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8838 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8839 (grub_realidt): New variable.
8840
27317084
VS
88412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8844 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8845 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8846 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8847 Gettextize.
8848 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8849 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8850 * po/POTFILES.in: Regenerate.
8851
47b40053
VS
88522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8855 errors.
8856
2b343101
VS
88572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8860 \0.
8861 (add_length): Likewise.
8862
ff27c3dd
LK
88632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
88642012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8865
8866 GDB serial and backtrace support.
8867
8868 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8869 (prot_to_real): Likewise.
8870 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8871 * grub-core/Makefile.core.def (backtrace): New module.
8872 (gdb): Likewise.
8873 * grub-core/gdb/cstub.c: New file.
8874 * grub-core/gdb/gdb.c: Likewise.
8875 * grub-core/gdb/i386/idt.c: Likewise.
8876 * grub-core/gdb/i386/machdep.S: Likewise.
8877 * grub-core/gdb/i386/signal.c: Likewise.
8878 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8879 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8880 * include/grub/backtrace.h: Likewise.
8881 * include/grub/gdb.h: Likewise.
8882 * include/grub/i386/gdb.h: Likewise.
8883
88842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8885
8886 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8887 New function.
8888 (add_length): Likewise.
8889 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8890 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8891 proto.
8892 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8893 __argp_get_display_len.
8894
ff27c3dd 88952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8896
8897 $"..." support in scripts.
8898
8899 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8900 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8901 * grub-core/script/yylex.l: Likewise.
8902 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8903 value.
8904
ff27c3dd 89052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8906
8907 * gentpl.py: Remove obsolete pkglib_DATA handling.
8908
ff27c3dd 89092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8910
8911 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8912 mailing list.
8913
8914 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8915 * util/grub-kbdcomp.in: Likewise.
8916 * util/grub-mkconfig.in: Likewise.
8917 * util/grub-mkconfig_lib.in: Likewise.
8918 * util/grub-mknetdir.in: Likewise.
8919 * util/grub-mkrescue.in: Likewise.
8920 * util/grub-mkstandalone.in: Likewise.
8921 * util/grub-reboot.in: Likewise.
8922 * util/grub-set-default.in: Likewise.
8923 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8924
ff27c3dd 89252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8926
8927 Remove GRUB_PREFIX.
8928
8929 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8930 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8931 used for backward compatibility.
8932
ff27c3dd 89332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8934
8935 Add new all_video module.
8936
8937 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8938 * grub-core/Makefile.core.def (all_video): New module.
8939 * grub-core/genmoddep.awk: Generate dependency of all_video from
8940 video.lst.
8941 * grub-core/lib/fake_module.c: New file.
8942 * grub-core/normal/main.c (features): Add feature_all_video_module.
8943 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8944 don't do explicit search again.
47454da5 8945 insmod all_video in load_video if available.
22c7ce85 8946
ff27c3dd 89472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8948
8949 Another round of string clarification and adding TRANSLATORS comments.
8950
ff27c3dd 89512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8952
8953 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8954
ff27c3dd 89552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8956
8957 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8958 to grub_ssize_t.
8959 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8960 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8961
ff27c3dd 89622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8963
8964 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8965 trailing newline implicitly. All users updated.
8966
ff27c3dd 89672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8968
8969 Implement serial on IEEE1275 and EFI.
8970
8971 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8972 on emu. Mention arc and emu as the only platforms without serial
8973 support.
8974 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8975 ieee1275 platforms.
8976 * grub-core/term/efi/serial.c: New file.
8977 * grub-core/term/ieee1275/serial.c: Likewise.
8978 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8979 specification if no ns8250 driver is available.
8980 (grub_cmd_serial): Likewise.
8981 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8982 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8983 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8984 (grub_efi_parity_type_t): New type.
8985 (grub_efi_stop_bits_t): Likewise.
8986 (grub_efi_serial_io_interface): New struct.
8987 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8988 available for all interfaces.
8989 Add EFI and IEEE1275 fields.
8990 (grub_ofserial_init): New proto.
8991 (grub_efiserial_init): Likeiwse.
8992 * util/grub.d/00_header.in: Don't check for the presence of serial
8993 module.
8994
ff27c3dd 89952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8996
8997 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8998 name as if it was an alias.
8999
114076ef
VS
90002012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * grub-core/commands/lsacpi.c (options): Fix typo.
9003
6a656b0e
VS
90042012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 Convert grub-emu to argp.
9007
9008 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
9009 emu.
9010 * util/argp_common.c: Rename to ...
9011 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
9012 Add missing includes.
9013 * grub-core/kern/emu/main.c: Convert to argp.
9014 * po/POTFILES.in: Regenerate.
9015 * util/grub-install.in (usage): Make first letter lowcase in messages
9016 for uniformity.
9017 * util/grub-setup.c (options): Likewise.
9018
1e3f8ae8
VS
90192012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
9022 Put back accidently commented-out code.
9023
ed167a80
VS
90242012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
9027 loop check using Brent algorithm.
9028 (grub_hfsplus_btree_search): Likewise.
9029
6753c0ec
VS
90302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * util/grub-install.in: Fix usage of wrong device for PreP install.
9033
4e27343f
VS
90342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * conf/Makefile.common (CFLAGS_GNULIB): Add
9037 -Wno-unsafe-loop-optimizations.
9038 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
9039 on tools.
9040 * grub-core/commands/legacycfg.c: Add pragma to skip
9041 -Wunsafe-loop-optimizations.
9042 (check_password_md5_real): Fix loop counter type.
9043 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
9044 reading.
9045 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
9046 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
9047 loop condition.
9048 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
9049 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
9050 * grub-core/net/net.c (grub_net_route_address): Add safety loop
9051 condition.
9052 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
9053 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
9054 avoid possible infinite loops.
9055 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
9056 and -Wunsafe-loop-optimizations.
9057 * grub-core/script/yylex.l: Likewise.
9058 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
9059 (print_glyphs): Avoid infinite loops.
9060 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9061
697f18b0
GS
90622012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9063
9064 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9065 to avoid infinite loop.
9066 (disp_acpi_rsdt_table): Likewise.
9067
274416e8
VS
90682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/font/font.c (grub_font_load): Add support for default
9071 path for fonts ($prefix/fonts).
9072 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9073 for checking if string is a path.
9074 * grub-core/normal/main.c (features): Add feature_default_font_path.
9075 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9076 * util/grub.d/00_header.in: Use default directory if possible.
9077 * util/grub-install.in: Install unicode.pf2.
9078
b3e08622
VS
90792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9082 * po/Rules-swiss: New file.
9083 * po/swiss.sed: Likewise.
9084
fe42ce09
VS
90852012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/fs/btrfs.c (find_device): Fix typos.
9088 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9089 * util/grub-mkrelpath.c (argp_parser): Likewise.
9090 Reported by: Yuri Chornoivan.
9091
72f1d065
DO
90922012-02-23 Dalet Omega <daletomega@gmail.com>
9093
9094 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9095 for usual informative messages.
9096
c5884973
DO
90972012-02-23 Dalet Omega <daletomega@gmail.com>
9098
9099 Starfield theme.
9100
9101 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9102 * conf/Makefile.common: Define starfielddir.
9103 * configure.ac: Configure starfield.
9104 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9105 * themes/starfield/README: Likewise.
9106 * themes/starfield/blob_w.png: Likewise.
9107 * themes/starfield/boot_menu_c.png: Likewise.
9108 * themes/starfield/boot_menu_e.png: Likewise.
9109 * themes/starfield/boot_menu_n.png: Likewise.
9110 * themes/starfield/boot_menu_ne.png: Likewise.
9111 * themes/starfield/boot_menu_nw.png: Likewise.
9112 * themes/starfield/boot_menu_s.png: Likewise.
9113 * themes/starfield/boot_menu_se.png: Likewise.
9114 * themes/starfield/boot_menu_sw.png: Likewise.
9115 * themes/starfield/boot_menu_w.png: Likewise.
9116 * themes/starfield/slider_c.png: Likewise.
9117 * themes/starfield/slider_n.png: Likewise.
9118 * themes/starfield/slider_s.png: Likewise.
9119 * themes/starfield/src/blob_nw.xcf: Likewise.
9120 * themes/starfield/src/bootmenu/: Likewise.
9121 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9122 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9123 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9124 * themes/starfield/src/slider_c.xcf: Likewise.
9125 * themes/starfield/src/slider_n.xcf: Likewise.
9126 * themes/starfield/src/slider_s.xcf: Likewise.
9127 * themes/starfield/src/terminalbox/: Likewise.
9128 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9129 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9130 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9131 * themes/starfield/starfield.png: Likewise.
9132 * themes/starfield/terminal_box_c.png: Likewise.
9133 * themes/starfield/terminal_box_e.png: Likewise.
9134 * themes/starfield/terminal_box_n.png: Likewise.
9135 * themes/starfield/terminal_box_ne.png: Likewise.
9136 * themes/starfield/terminal_box_nw.png: Likewise.
9137 * themes/starfield/terminal_box_s.png: Likewise.
9138 * themes/starfield/terminal_box_se.png: Likewise.
9139 * themes/starfield/terminal_box_sw.png: Likewise.
9140 * themes/starfield/terminal_box_w.png: Likewise.
9141 * themes/starfield/theme.txt: Likewise.
9142
17d73325
VS
91432012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * util/grub.d/00_header.in: Add missing export theme.
9146
dbebaf92
VS
91472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9150 already included.
9151 Reported by: Eren D.
9152
3d68bffb
VS
91532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * conf/Makefile.common (grubdatadir): Removed.
9156 (Makefile.am): Move eveything grubdata to pkgdata.
9157
4b59234d
VS
91582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * grub-core/commands/acpihalt.c (get_sleep_type):
9161 Remove unused variable.
9162
463dcadc
VS
91632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9166 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9167 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9168 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9169 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9170 i18n with gettext no-op.
9171 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9172 GRUB_ACPI_OPCODE_STRING_CONST.
9173 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9174 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9175
e5b90c82
VS
91762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * po/POTFILES.in: Regenerate.
9179
2a704ca9
VS
91802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9183 -Wno-error=missing-noreturn.
9184
84f9d341
VS
91852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9188 condition to avoid possibly infinite loops.
9189 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9190 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9191
d46683f9
VS
91922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9195 condition to avoid possibly infinite loops.
9196
c44866b2
VS
91972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9200 on show_error.
9201
96790539
VS
92022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9205
1ba7e295
VS
92062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9209
21ffe8f1
VS
92102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * util/bin2h.c (usage): Add missing attribute noreturn.
9213
0ccb6b3c
VS
92142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9217 if the size isn't divisible by 512.
9218
b00d7fb6
VS
92192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 Make list_push and list_remove functions rather than inline functions
9222 to decrease size and avoid aliasing violations.
9223
9224 * include/grub/list.h (grub_list_push): Move to ...
9225 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9226 * include/grub/list.h (grub_list_remove): Move to ...
9227 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9228
9d369087
VS
92292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9232 and -Wunused-result.
9233
af0250d9
VS
92342012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9237 Reported by: Seth Goldberg
9238
aad32b14
VS
92392012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9242
ac96441c
ST
92432012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9244
9245 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9246 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9247 command line.
9248 * docs/grub.texi (Simple configuration): Document
9249 GRUB_CMDLINE_GNUMACH.
9250
92512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
9252
9253 * conf/Makefile.common (platform_SCRIPTS): New variable.
9254 (platform_PROGRAMS): Likewise.
9255 * gentpl.py: Mark *,module and *.image for install.
9256 * grub-core/gdb_grub.in: Add a notice of expected environment.
9257 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9258 (gmodule.pl): Likewise.
9259
ac96441c 92602012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
9261
9262 Replace grub_checkkey with grub_getkey_noblock.
9263
9264 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9265 (grub_getkey_noblock): ... this. All users updated.
9266
ac96441c 92672012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
9268
9269 * grub-core/kern/emu/console.c: Move to ...
9270 * grub-core/term/emu/console.c: ...here.
9271 (grub_ncurses_getkey): Fix return value if no key is detected.
9272
e51b5666
VS
92732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9276 (grub_unit_test_fini): Likewise.
9277 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9278
92792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * include/grub/test.h (GRUB_UNIT_TEST)
9282
d9a62292
VS
92832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9286 Better error handling.
9287 (grub_script_return): Likewise.
9288 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9289
77c9182f
VS
92902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9293 rimplicit redifinition.
9294
edb13cf9
VS
92952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9298 GRUB.
9299
a9e9dc7c
VS
93002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9303 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9304 prompt here.
9305
b4ba8e02
VS
93062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9309 as GRUB_ERR_BUG. Don't malloc if no device is available.
9310
dded5540
VS
93112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9314 Mark calling with invalid term as GRUB_ERR_BUG.
9315
0cf69874
VS
93162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9319 packets rather than raising an error.
9320
59bfe502
VS
93212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9324 in if.
9325
db5fc596
VS
93262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9329 diagnostic to dprintf.
9330 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9331
e4b7f404
VS
93322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9335 device name.
9336
e7b02f9e
VS
93372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9340 (grub_ntfs_iterate_dir): Likewise.
9341
0331e102
VS
93422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 Efiemu stylistic fixes and gettext.
9345
9346 * grub-core/efiemu/i386/loadcore32.c
9347 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9348 * grub-core/efiemu/i386/loadcore64.c
9349 (grub_arch_efiemu_relocate_symbols64): Likewise.
9350 * grub-core/efiemu/i386/pc/cfgtables.c
9351 (grub_machine_efiemu_init_tables): Likewise.
9352 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9353 (grub_efiemu_loadcore_initXX): Add a filename argument.
9354 All users updated.
9355 Improved error message.
9356 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9357 Add a filename argument.
9358 All users updated.
9359 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9360 Reclassify double relocation as GRUB_ERR_BUG.
9361
306fc074
VS
93622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9365 handling.
9366
794d8ef2
VS
93672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9370 on partition.
9371
93722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
9373
9374 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9375
794d8ef2 93762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
9377
9378 Improve string. Gettextize.
9379
78dde88e
VS
93802012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9383 utils.
9384 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9385
4786a90f
VS
93862012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9389 [GRUB_UTIL]: New function.
9390 (insert_array) [GRUB_UTIL]: Store partmaps.
9391 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9392 partmaps.
9393 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9394 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9395 (probe_abstraction): Print diskfilter and not raid.
9396 Reported by: Lennart Sorensen
9397
0b6225bd
VS
93982012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9401 * util/grub-mkimagexx.c (MASK3): New define.
9402 (add_value_to_slot_20b): Use MASK3.
9403 (add_value_to_slot_21): Likewise.
9404 (relocate_addresses): Fix format specification.
9405 (load_image): Explicitly init symtab_section.
9406
b055f8f6
VS
94072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9410 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9411
b77c2fb7
VS
94122012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9415 on powerpc.
9416 Reported by: Lennart Sorensen
9417
e3ec28ab
VS
94182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * gentpl.py: Add missing license header.
9421 * docs/grub.texi: Update copyright year.
9422
c8d9ead6
GS
94232012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9424
9425 Source grub-mkconfig_lib from the build directory at build time.
9426 Suggested by: Vladimir Serbinenko.
9427
9428 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9429 * util/grub-install.in: Define pkgdatadir if not already set, and source
9430 grub-mkconfig_lib from there.
9431 * util/grub-kbdcomp.in: Likewise.
9432 * util/grub-mkconfig.in: Likewise.
9433 * util/grub-mknetdir.in: Likewise.
9434 * util/grub-mkrescue.in: Likewise.
9435 * util/grub-mkstandalone.in: Likewise.
9436 * util/grub-reboot.in: Likewise.
9437 * util/grub-set-default.in: Likewise.
9438 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9439
ebcecdf1
VS
94402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 Increase warning level.
9443
9444 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9445 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9446 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9447 (TARGET_CFLAGS): Likewise.
9448 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9449 * grub-core/Makefile.core.def (decompressor_xz): Add
9450 -Wno-unreachable-code.
9451 (normal): Add -Wno-redundant-decls.
9452 (xzio): Add -Wno-unreachable-code.
9453 (lzopio): Add -Wno-redundant-decls -Wno-error.
9454 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9455 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9456 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9457 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9458 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9459 * grub-core/kern/i386/coreboot/init.c: Add exception to
9460 -Wsuggest-attribute=noreturn.
9461 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9462 * grub-core/kern/ia64/dl_helper.c: Likewise.
9463 * grub-core/kern/mips/dl.c: Likewise.
9464 * grub-core/kern/sparc64/dl.c: Likewise.
9465 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9466 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9467 (memcmp): Likewise.
9468 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9469 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9470 * grub-core/loader/mips/linux.c: Likewise.
9471 * grub-core/loader/multiboot_elfxx.c: Likewise.
9472 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9473 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9474 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9475 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9476 fixme.
9477 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9478 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9479 Fix prototype.
9480
37bb97fe
VS
94812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9484 address.
9485
29a3550b
VS
94862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9489 Avoid improper use of strings.
9490 (grub_cmd_legacy_initrdnounzip): Likewise.
9491
dfdffd0d
VS
94922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9495 attribute.
9496 (grub_util_info): Likewise.
9497 (grub_util_error): Likewise.
9498
102fae4a
VS
94992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9502 * util/grub-fstest.c (fstest): Likewise.
9503
7e94d044
VS
95042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9507 (grub_md_sha512_real): Likewise.
9508 (grub_util_get_geli_uuid): Likewise.
9509 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9510 (grub_util_biosdisk_open): Fix format specification.
9511 Respect format security.
9512 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9513 (xrealloc): Likewise.
9514 (xasprintf): Likewise.
9515
5ebd9769
VS
95162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/import_gcry.py: Include grub/crypto.h in init.c.
9519
495fc8c1
VS
95202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9523 (generate_image): Make prefix a const char *.
9524 Fix format specifications. Respect format security.
9525 Avoid void * arithmetics.
9526 Avoid shadowing.
9527 (argp_parser): Remove unused variable. Respect format security.
9528 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9529 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9530 (count_funcs): Remove unused variable.
9531 (relocate_addresses): Fix format specification.
9532 Disable x86-64 with elf32. Remove unused variables.
9533 (add_fixup_entry): Avoid shadowing.
9534 (make_reloc_section): Fix format specification.
9535 Use assert.
9536 (locate_sections): Fix format specifications.
9537 (load_image): Avoid shadowing.
9538
043c2ea3
VS
95392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9542 Fix format specifications. Respect format security.
9543 Don't translate already translated grub_errmsg.
9544 (argp_parser): Remove unused variable
9545
3ec65a81
VS
95462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9549
a4d9fe4a
VS
95502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9553 (main): Likewise. Use xmalloc. Respect format security.
9554
15b81d49
VS
95552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9558 a const char *.
9559 (argp_parser): Remove unused variable.
9560
31731fc0
VS
95612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9564 (add_pixel): Make static.
9565 (add_font): Likewise.
9566 (write_string_section): Make name and str a const char *.
9567 (write_be16_section): Make name a const char *.
9568 (print_glyphs): Make static.
9569 (write_font_ascii_bitmap): Likewise.
9570 (write_font_width_spec): Likewise.
9571 (write_font_pf2): Likewise.
9572 (argp_parser): Remove unused variable.
9573 Respect format security.
9574 (main): Avoid shadowing. Respect format security.
9575
0809527b
VS
95762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * util/grub-editenv.c (argp_parser): Make static.
9579 (create_envblk_file): Use xmalloc.
9580 (open_envblk_file): Likewise.
9581 Resepect format security.
9582 (set_variables): Respect format security.
9583
45b0c8b7
VS
95842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * util/getroot.c (grub_find_device): Respect format security.
9587 (get_mdadm_uuid): Remove unused variable.
9588 (grub_util_pull_device): Dont call gettext on already translated
9589 grub_errmsg.
9590 (find_system_device): Remove unused variable.
9591 (grub_util_get_grub_dev): Likewise.
9592 (grub_make_system_path_relative_to_its_root): Respect format security.
9593
1b024b4e
VS
95942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * util/grub-fstest.c (execute_command): Make first argument
9597 a const char *.
9598 (read_file): Avoid shadowing.
9599 Reuse underlying error message if device open fails.
9600 (cmd_cmp): Respect format security.
9601 (root): Make const char *.
9602 (fstest): Remove args argument and use global copy.
9603 Respect format security.
9604 (argp_parser): Make static.
9605 (main): Make default_root const char *.
9606
5d1d4e28
VS
96072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * util/grub-mount.c (root): Make const char *.
9610 (execute_command): Make first argument a const char *.
9611 (fuse_init): Respect format security.
9612 (argp_parser): Make static. Remove unused variable.
9613 (main): Make default_root a const char *.
9614 Respect format security.
9615
36eb7379
VS
96162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * util/grub-probe.c (probe): Don't call gettext on already translated
9619 grub_errmsg.
9620 Remove unused variables.
9621 (argp_parser): Remove unused variable.
9622
76fb2ea9
VS
96232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * util/grub-script-check.c (argp_parser): Remove unused variable.
9626 (main): Rename read to curread to avoid shadowing.
9627
56c98584
VS
96282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/misc.c (grub_util_write_image_at): Fix format specification.
9631 (grub_util_write_image): Likewise.
9632 (grub_script_execute_argument_to_string): Removed (unused).
9633 (grub_script_execute_menuentry): Likewise.
9634 (grub_putchar): Likewise.
9635
164ebb48
VS
96362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9639 (FUNCTION) [GRUB_UTIL]: Likewise.
9640 (VARIABLE) [GRUB_UTIL]: Likewise.
9641
44318d61
VS
96422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9645 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9646
31a26002
VS
96472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9650 buffer.
9651
96522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9655 (LzmaEnc_SaveState): Removed (unused).
9656 (LzmaEnc_RestoreState): Likewise.
9657 (LzmaEnc_InitPriceTables): Made static.
9658 (LzmaEnc_Construct): Likewise.
9659 (LzmaEnc_FreeLits): Likewise.
9660 (LzmaEnc_Destruct): Likewise.
9661 (LzmaEnc_Init): Likewise.
9662 (LzmaEnc_InitPrices): Likewise.
9663 (LzmaEnc_Finish): Likewise.
9664 (LzmaEnc_PrepareForLzma2): Removed (unused).
9665 (LzmaEnc_MemPrepare): Likewise.
9666 (LzmaEnc_GetNumAvailableBytes): Likewise.
9667 (LzmaEnc_GetCurBuf): Likewise.
9668 (LzmaEnc_CodeOneMemBlock): Likewise.
9669
6fa67967
VS
96702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9673 (grub_util_ldm_embed): Likewise.
9674
9a7428e6
VS
96752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * util/grub-editenv.c (print_var): Rename name to varname to
9678 avoid shadowing.
9679 (main): Rename index to curindex to avoid shadowing.
31a26002 9680 Make filename a const char *.
9a7428e6 9681
4f96abd1
VS
96822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9685 to arg_getline to avoid shadowing.
9686
44d10dad
VS
96872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9690 disk_ to avoid shadowing.
9691
340ba63e
VS
96922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9695 curindex to avoid shadowing.
9696 Make static.
9697 (MatchFinder_GetNumAvailableBytes): Make static.
9698
22965bce
VS
96992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9702 avoid shadowing.
9703
7b5784d4
VS
97042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9707 argument from encrypt to do_encrypt to avoid shadowing.
9708
6f48ca01
VS
97092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9712 incorrect nesting of #if's.
9713
a4ea2dff
VS
97142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9717 checks which are always false on some platforms.
9718 (grub_cmd_lsacpi): Likewise.
9719 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9720 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9721 Likewise.
9722
def9fc1b
VS
97232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9726 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9727
a67b2a04
VS
97282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9731 re_dfa_t to avoid breaking alignment invariants.
9732 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9733 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9734
44c6828d
VS
97352012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9738 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9739
bebe0dd0
VS
97402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9743 Fix declaration.
9744
a9cdb3cf
VS
97452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9748 conserve alignment invariants.
9749 (grub_ehci_ehcc_read16): Likewise.
9750 (grub_ehci_oper_read32): Likewise.
9751 (grub_ehci_oper_write32): Likewise.
9752 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9753 Conserve alignment invariants.
9754
ccc3b1b8
VS
97552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9758 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9759 declarations.
9760
987fbd95
VS
97612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9764 Remove unused variable.
9765
0df363f3
VS
97662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9769 Remove set in if.
9770
b2c0c4a6
VS
97712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9772
9773 * include/grub/net.h: Remove double declarations.
9774
690c531f
VS
97752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 Remove "payload" command in ia64 Linux loader since I couldn't
9778 find any evidence of it being used for anything.
9779 Replace "relocate" command with an environment variable
9780
9781 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9782 fields.
9783 (ia64_boot_payload): Removed.
9784 (last_payload): Likewise.
9785 (RELOCATE_OFF): Likewise.
9786 (RELOCATE_ON): Likewise.
9787 (RELOCATE_FORCE): Likewise.
9788 (relocate): Likewise.
9789 (free_pages): Don't free payloads.
9790 (grub_load_elf64): Use common error messages.
9791 Use "linux_relocate" variable.
9792 Increase the space after boot_params.
9793 (grub_cmd_payload): Removed.
9794 (grub_cmd_relocate): Likewise.
9795 (grub_cmd_fpswa): Improve messages.
9796 (cmd_payload): Removed.
9797 (cmd_relocate): Likewise.
9798 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9799 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9800
01783768
VS
98012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 Convert UHCI to DMA framework.
9804
9805 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9806 (grub_uhci_pci_iter): Fill new members
9807 (grub_alloc_td): Use P2V and V2P functions.
9808 (grub_free_queue): Likewise.
9809 (grub_alloc_qh): Likewise.
9810 (grub_uhci_setup_transfer): Likewise.
9811 (grub_uhci_check_transfer): Likewise.
9812
43206939
VS
98132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9816 Remove assignment in if while on it.
9817
571e140e
VS
98182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * util/grub-mkstandalone.in: Fix modules directory.
9821
a9d96eeb
VS
98222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9825 on i386-pc target.
9826 (argp_parser): Accept "auto" as compression specification.
9827
e4e37e8d
VS
98282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 Fix `help' with unloaded modules.
9831
9832 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9833 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9834 (grub_dyncmd_dispatcher): Small stylistic fix.
9835 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9836 explicit help is requested.
9837
e1ea3ade
VS
98382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9841 Explicitly init restart while on it.
9842
27556881
VS
98432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9846 uninited variable.
9847
d65f6b36
VS
98482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 * util/grub-mknetdir.in: Use . rather than source for POSIX
9851 compatibility.
9852
0a1e473c
VS
98532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9856
ce6647c8
VS
98572012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9860 variable.
9861
66747894
VS
98622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9865 without quotes.
9866
71645f6e
VS
98672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9870
0e1c1f61
VS
98712012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9874 iteration of partitions.
9875
9c4b5c13
VS
98762012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 Improve gettext support. Stylistic fixes and error handling fixes while
9879 on it.
9880
215c90cb
VS
98812012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9884 part. Instead setup the correct stack in RM.
9885 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9886 for stack.
9887 * include/grub/i386/relocator_private.h: New file.
9888
b5c1f9bf
VS
98892012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9892 argument.
9893 * util/grub-fstest.c (options): Add missing DEVICE part.
9894
b525fd83
VS
98952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 Clarify and unify messages.
9898
9899 * grub-core/commands/hashsum.c (options): Unify messages.
9900 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9901 literal-only message as translatable.
9902 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9903 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9904 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9905 commands.
9906 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9907 key, not the key used to unlock. Clarify what it's used for.
9908 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9909 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9910 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9911 * util/grub-editenv.c (options): Unify "verbose" message.
9912 * util/grub-fstest.c (read_file): Unify error message.
9913 (fstest): Add quotes around commands.
9914 (options): Unify "verbose" message.
9915 * util/grub-install.in: Add quotes around variable name.
9916 * util/grub-kbdcomp.in: Unify error message.
9917 * util/grub-mkfont.c (main): Likewise.
9918 * util/grub-mkrescue.in: Likewise.
9919 * util/grub-mklayout.c (options): Unify "verbose" message.
9920 * util/grub-mkstandalone.in: Unify help and verbose messages.
9921 * util/grub-mount.c (options): Unify "verbose" message.
9922 * util/grub-probe.c (options): Likewise.
9923 * util/grub-script-check.c (options): Likewise.
9924 * util/grub-setup.c (setup): Unify no-terminator message.
9925 (options): Use DEVICE and not DEV.
9926 Unify "verbose" message.
9927 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9928
0ae70393
VS
99292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 Improve and unify messages.
9932
9933 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9934 name. All users updated.
9935 Print filename in error.
9936 (read_device_map): Print filename in error.
9937 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9938 (grub_util_get_os_disk): Likewise.
9939 (grub_util_biosdisk_get_grub_dev): Likewise.
9940 (grub_util_check_block_device): Likewise.
9941 (grub_util_check_char_device): Likewise.
9942 (grub_make_system_path_relative_to_its_root): Likewise.
9943 * util/grub-editenv.c (create_envblk_file): Likewise.
9944 (open_envblk_file): Likewise.
9945 (write_envblk): Likewise.
9946 * util/grub-fstest.c (cmd_cp): Likewise.
9947 (cmd_cat): Likewise.
9948 (cmd_cmp): Likewise.
9949 * util/grub-menulst2cfg.c (main): Likewise.
9950 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9951 (write_font_width_spec): Likewise.
9952 (write_font_pf2): Likewise.
9953 * util/grub-mkimage.c (generate_image): New argument outname.
9954 All users updated.
9955 Remove unreacheable message.
9956 (options): Unify messages.
9957 (help_filter): Likewise.
9958 * util/grub-mklayout.c (usage): Removed (unused).
9959 (main): Print filename in error.
9960 * util/grub-mkrescue.in: Fix wrong quoting.
9961 * util/grub-setup.c (setup): Print filename in error.
9962 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9963 (check_sas): Likewise.
9964 * util/misc.c (grub_util_get_fp_size): Removed.
9965 (grub_util_get_image_size): Print filename in error.
9966 (grub_util_read_at): Removed.
9967 (grub_util_read_image): Print filename in error.
9968 (grub_util_load_image): Likewise.
9969 (grub_util_write_image_at): New argument filename. All users updated.
9970 Print filename in error.
9971 (grub_util_write_image): New argument filename. All users updated.
9972 Print filename in error.
9973 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9974 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9975
0a96117d
VS
99762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 * grub-core/Makefile.core.def (pxechain): New module.
9979 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9980 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9981 function.
9982 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9983 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9984
aca002f7
VS
99852012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9988 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9989 * include/grub/err.h (grub_error_saved): New struct.
9990 (grub_errmsg): Make array size explicit.
9991 * include/grub/misc.h (grub_error_save): New function.
9992 (grub_error_load): Likewise.
9993 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9994 (grub_error_push): Update `errno' member name.
9995 (grub_error_pop): Likewise
9996 * grub-core/net/tftp.c (tftp_data): New member save_err.
9997 (tftp_receive): Save error.
9998 (tftp_open): Restore error.
9999
a51dab13
VS
100002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
10003 to real mode down to execute A20-related code in protected mode as
10004 intended.
10005
eb6e6649
GS
100062012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
10007
10008 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
10009 NULL when the argument `level' has an unexpected value.
10010
92cd0f6e
VS
100112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 Move platform-dependent files from $prefix to $prefix/$platform.
10014
10015 * config.h.in (GRUB_TARGET_CPU): New definition.
10016 (GRUB_PLATFORM): Likewise.
10017 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
10018 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
10019 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10020 * grub-core/kern/dl.c (grub_dl_load): Likewise.
10021 * grub-core/normal/autofs.c (read_fs_list): Likewise.
10022 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
10023 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
10024 * grub-core/normal/term.c (read_terminal_list): Likewise.
10025 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
10026 $prefix/locale.
10027 (grub_gettext_init_ext): Likewise.
10028 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
10029 grub_platform.
10030 * util/grub-install.in: Update directories.
10031 * util/grub-mknetdir.in: Likewise.
10032 * util/grub-mkrescue.in: Likewise.
10033
db606889
VS
100342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
10037 grub_error framework. All users updated.
10038
c39992a4
VS
100392012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
10042 lists (by always binsearching), improve caching (cache strings
10043 used for binsearch, not only results), improve
10044 maintainability (by using more structured binary search) and correct
10045 error handling.
10046
1e5ec32f
VS
100472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/script/execute.c (grub_script_return): Fix warning.
10050
ac576cde
VS
100512012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/script/execute.c (grub_script_return): Fix potential
10054 NULL-dereference.
10055 Reported by: Jim Meyering.
10056
498453f6
VS
100572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * po/POTFILES.in: Regenerate.
10060 * util/grub-install.in: Gettextize the strings missed in first pass.
10061
8be63f2e
VS
100622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * Makefile.util.def (grub-mkdevicemap): Removed.
10065 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10066 * include/grub/util/deviceiter.h: Removed.
10067 * util/deviceiter.c: Likewise.
10068 * util/getroot.c (grub_util_get_os_disk): New function.
10069 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10070 replacement for EFI.
10071 * util/grub-mkdevicemap.c: Removed.
10072 * util/grub-probe.c (probe): Handle PRINT_DISK.
10073 (argp_parser): Handle -t disk.
10074
8e1e4e39
VS
100752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * util/grub-mkfont.c: Migrate to argp.
10078 * util/grub-mklayout.c: Likewise.
10079 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10080 * util/grub-mkrelpath.c: Likewise.
10081 * util/grub-probe.c: Likewise.
10082 * util/grub-script-check.c: Likewise.
10083
4459819a
VS
100842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * util/grub-reboot.in: Add missing datarootdir.
10087 Add missing newline.
10088 * util/grub-set-default.in: Add missing datarootdir.
10089 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10090 * util/grub-mkrescue.in: Likewise.
10091
f65741c7
VS
100922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10095
c1a33466
VS
100962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10097
10098 * util/grub-kbdcomp.in: Add decent help and gettextize.
10099 * docs/man/grub-kbdcomp.h2m: New file.
10100
c76899a0
VS
101012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 Migrate grub-mkimage.c to argp.
10104
10105 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10106 (grub-setup): Likewise.
10107 * util/grub-setup.c (print_version): Move to ...
10108 * util/argp_common.c (print_version): ... here.
10109 * util/grub-setup.c (argp_program_version_hook): Move to ...
10110 * util/argp_common.c (argp_program_version_hook): ... here.
10111 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10112 safety.
10113 * util/grub-mkimage.c (main): Migrate to argp.
10114
57db0757
VS
101152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/grub-mkrescue.in: Use same message as
10118 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10119 for better translations.
10120
18534ad9
VS
101212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10124 options with generic grub-mkrescue.in with the goal of future
10125 merge.
10126
c84ba308
VS
101272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/kern/mm.c: Add missing include of i18n.h
10130 * grub-core/lib/relocator.c: Likewise.
10131
347998c2
VS
101322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10135 error.
10136 (allocate_pages): Check return value.
10137 Replace fatal with error.
10138 (grub_linux_boot): Replace printf with dprintf.
10139 Check find_mmap_size return value.
10140 Replace fatal with error.
10141 Don't call grub_machine_fini.
10142 (grub_load_elf64): Replace printf with dprintf.
10143 (grub_cmd_linux): Likewise.
10144 (grub_cmd_initrd): Likewise.
10145 (grub_cmd_payload): Likewise.
10146
c779226e
VS
101472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10150 message.
10151 * grub-core/video/radeon_fuloong2e.c
10152 (grub_video_radeon_fuloong2e_setup): Likewise.
10153 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10154 * grub-core/video/video.c (grub_video_set_mode): Don't override
10155 standard out of memory message.
10156
dc87d45a
GS
101572012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10158
10159 NetBSD disk wedge support.
10160
10161 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10162 [__NetBSD__]: Handle NetBSD disk wedges.
10163 * util/getroot.c (convert_system_partition_to_system_disk)
10164 [__NetBSD__]: Likewise.
10165
055f856f
MW
101662012-02-03 Mark Wooding <mdw@distorted.org.uk>
10167
10168 * util/grub-mkconfig.in: Use umask rather than chmod to create
10169 grub.cfg.new to avoid insecure grub.cfg.
10170
4a9f8346
VS
101712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * grub-core/commands/ls.c: Gettextize.
10174 * grub-core/commands/setpci.c: Likewise.
10175 * grub-core/commands/videotest.c: Likewise.
10176 * grub-core/disk/geli.c: Likewise.
10177 * grub-core/kern/mm.c: Likewise.
10178 * grub-core/lib/relocator.c: Likewise.
10179 * grub-core/loader/efi/appleloader.c: Likewise.
10180 * grub-core/loader/i386/xnu.c: Likewise.
10181 * grub-core/loader/ia64/efi/linux.c: Likewise.
10182 * grub-core/loader/xnu.c: Likewise.
10183 * grub-core/net/dns.c: Likewise.
10184 * grub-core/net/net.c: Likewise.
10185 * grub-core/script/lexer.c: Likewise.
10186 * grub-core/script/parser.y: Likewise.
10187 * grub-core/script/yylex.l: Likewise.
10188 * util/getroot.c: Likewise.
10189 * util/grub-setup.c: Likewise.
10190
a646a366
VS
101912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10194 number.
10195
54e2be26
VS
101962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10199
f7c71e68
VS
102002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10203 macro.
10204 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10205 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10206
a32d5c71
VS
102072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10210 * util/grub-install.in: Gettextize.
10211 * util/grub-mkconfig.in: Likewise.
10212 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10213 if not available.
10214 (grub_warn): Gettextize.
10215 * util/grub-mknetdir.in: Gettextize.
10216 * util/grub-mkrescue.in: Likewise.
10217 * util/grub-mkstandalone.in: Likewise.
10218 * util/grub-reboot.in: Likewise.
10219 * util/grub-set-default.in: Likewise.
10220 * util/grub.d/00_header.in: Likewise.
10221 * util/grub.d/10_hurd.in: Likewise.
10222 * util/grub.d/10_kfreebsd.in: Likewise.
10223 * util/grub.d/10_linux.in: Likewise.
10224 * util/grub.d/10_netbsd.in: Likewise.
10225 * util/grub.d/10_windows.in: Likewise.
10226 * util/grub.d/20_linux_xen.in: Likewise.
10227 * util/grub.d/30_os-prober.in: Likewise.
10228 * po/POTFILES-shell.in: Regenerate.
10229
69edd81a
RL
102302012-02-03 Richard Laager <rlaager@wiktel.com>
10231
10232 * util/grub-mkimage.c (main): Fix format-security warning.
10233 * util/grub-mkrelpath.c (main): Likewise.
10234 * util/grub-probe.c (main): Likewise.
10235
65f08dbf
RL
102362012-02-03 Richard Laager <rlaager@wiktel.com>
10237
10238 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10239 failure.
10240 Put back lost PRINT_DRIVE.
10241
e9084abe
RL
102422012-02-03 Richard Laager <rlaager@wiktel.com>
10243
10244 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10245 (grub_guess_root_devices): Replace strlen with sizeof.
10246 Avoid crash.
10247 (find_root_devices_from_poolname): Remove unused variable.
10248 Handle raidzN.
10249
cf5f7ee7
VS
102502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 Support install on multi-device filesystems.
10253
10254 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10255 (grub_guess_root_devices): ...this. Return char **. All users updated.
10256 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10257 Removed.
10258 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10259 (find_root_devices_from_poolname): ... here.
10260 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10261 Support zfs-fuse.
10262 (grub_guess_root_device): Rename to ...
10263 (grub_guess_root_devices): ... this. Return char **. All users updated.
10264 * util/grub-install.in: Handle multi-device filesystems.
10265 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10266 argument. All users updated.
10267 Handle multi-device filesystems.
10268 Use 'delim' as separator.
10269 Remove device check to allow filesystems on file.
10270 (main): Support -0 argument. Handle multi-device.
10271 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10272 Fix a cross-device check while on it.
10273 (arguments): Remove root_dev.
10274 (argp_parser): Remove -r.
10275 (main): Remove root_dev.
10276
2f53a9ed
VS
102772012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10280
17e1d934
VS
102812012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10284 symbol.
10285 Reported by: NODA, Kai <nodakai>.
10286
d3e3fab5
VS
102872012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 Fix ehci on amd64.
10290
10291 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10292 pointers.
10293 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10294 (grub_ehci_setup_qh): Likewise.
10295 (grub_ehci_find_qh): Likewise.
10296 (grub_ehci_transaction): Likewise.
10297 (grub_ehci_setup_transfer): Likewise.
10298 (grub_ehci_check_transfer): Likewise.
10299 (grub_ehci_portstatus): Likewise.
10300 (grub_ehci_detect_dev): Likewise.
10301 (grub_ehci_transfer_controller_data): New field td_last_phys.
10302 (grub_ehci_setup_transfer): Fill td_last_phys.
10303 (grub_ehci_check_transfer): Use td_last_phys.
10304
3008675b
SG
103052012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10306
10307 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10308 if no submenu is present.
10309
fc9b5652
AN
103102012-02-01 Aleš Nesrsta <starous@volny.cz>
10311
10312 CBI support.
10313
10314 * include/grub/usb.h (grub_usbms_protocol_t): New values
10315 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10316 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10317 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10318 (grub_usbms_dev): Add subclass, protocol and intrpt.
10319 Remove in_maxsz and out_maxsz.
10320 (grub_usbms_reset): Rename to ...
10321 (grub_usbms_bo_reset): .. this.
10322 (grub_usbms_cbi_cmd): New function.
10323 (grub_usbms_cbi_reset): Likewise.
10324 (grub_usbms_reset): Likewise.
10325 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10326 (grub_usbms_transfer): Rename to ...
10327 (grub_usbms_transfer_bo): ... this.
10328 (grub_usbms_transfer_cbi): Likewise.
10329 (grub_usbms_transfer): Likewise.
10330
a2b81d53
AN
103312012-02-01 Aleš Nesrsta <starous@volny.cz>
103322012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10335 the support for the CS5536 modification thereos and few bugfixes.
10336
10337 * grub-core/Makefile.core.def (ehci): New module.
10338 * grub-core/bus/usb/ehci.c: New file.
10339 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10340 port and hubaddr. All users updated.
10341 Save port and hubaddr into dev structure.
10342 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10343 define.
10344 * include/grub/pci.h (grub_dma_phys2virt): New function.
10345 (grub_dma_virt2phys): Likewise.
10346 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10347
b1d51f02
VS
103482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10351 check as some mkfs implementations omit it.
10352
fc694106
VS
103532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10356
6c0920e3
VS
103572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10360 Add new member volname2.
10361 (grub_jfs_label): Use volname2 if available.
10362
d1a46f9a
VS
103632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10366 over last_mounted as seen in image generated by mkfs.nilfs2.
10367 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10368
dec8ed14
VS
103692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10372 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10373 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10374
7397c69b
VS
103752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10378 over the sector.
10379
b3fe42ad
VS
103802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10383 subvolume name (by removing a bogus and useless check).
10384
10476bb0
VS
103852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10388 sizeof while on it.
10389
9c08ad87
VS
103902012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10393 (grub_scsi_read_capacity10): ... this.
10394 (grub_scsi_read_capacity16): New function.
10395 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10396 0xffffffff.
10397 Fix off-by-one error.
10398 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10399 64-bit unsigned.
10400 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10401 (grub_scsi_read_capacity10): ... this.
10402 (grub_scsi_read_capacity_data): Rename to ...
10403 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10404 (grub_scsi_read_capacity16): New struct.
10405 (grub_scsi_read_capacity16_data): Likewise.
10406 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10407 grub_scsi_cmd_read_capacity10.
10408 New command grub_scsi_cmd_read_capacity16.
10409
bc8d0f45
VS
104102012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 SCSI >2TiB support.
10413
10414 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10415 (grub_scsi_write16): Likewise.
10416 (grub_scsi_read): Use read16 when necessary.
10417 (grub_scsi_write): Likewise.
10418 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10419 (grub_scsi_write16): Likewise.
10420 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10421
cc774926
VS
104222012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 SCSI write support (for usbms mainly).
10425
10426 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10427 a const pointer.
10428 (grub_scsi_write): Implement.
10429 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10430
67639fd7
VS
104312012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10434 variable.
10435
9079d3ed
VS
104362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10439
c6a6f204
VS
104402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * po/POTFILES.in: Regenerate.
10443
ecbf8cd1
VS
104442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10447 with grub_printf to avoid unnecessary fatal failure.
10448
0b3b3b38
VS
104492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10452 (INT_MAX): Likewise.
10453 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10454 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10455 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10456 (strcpy): Likewise.
10457 (strstr): Likewise.
10458 (strchr): Likewise.
10459 (strncpy): Likewise.
10460 (strcat): Likewise.
10461 (strncat): Likewise.
10462 (strcoll): Likewise.
10463 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10464 (GRUB_INT_MAX): Likewise.
10465
db7337a3
VS
104662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10469 unexpected error.
10470 (optimize_utf8): Likewise.
10471 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10472
f37c87e1
VS
104732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * grub-core/boot/i386/pc/lnxboot.S: Use
10476 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10477 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10478 location.
10479 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10480 definition.
10481 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10482
63fe43f3
VS
104832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10486 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10487 now to avoid double free.
10488 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10489 hostdisk.
10490 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10491 * util/grub-probe.c (escape_of_path): Always return a new copy.
10492 (print_full_name): Escape path.
10493 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10494 Fix hints on abstractions.
10495
ebe2c961
VS
104962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10499 Don't add "root" line if no compatibility hont is available.
10500 Suggested by: Seth Goldberg.
10501
2b5336a2
VS
105022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10505 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10506 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10507 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10508
74310bd8
VS
105092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10512
c30582ba
VS
105132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub-pe2elf.c (ehdr): Make static.
10516 (shdr): Likewise.
10517 (num_sections): Likewise.
10518 (offset): Likewise.
10519
5f47782c
VS
105202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 Eliminate ofpath limits and possible overflows.
10523
10524 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10525 (OF_PATH_MAX): Removed.
10526 (MAX_DISK_CAT): New const.
10527 (find_obppath): Use allocated rather than preallocated buffer.
10528 Return result. Argument of_path removed. All users updated.
10529 Add missing fdstat.
10530 (xrealpath): New function.
10531 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10532 Allocate rather than use preallocated buffer. All users updated.
10533 (__of_path_common): Use allocated rather than preallocatecd buffer.
10534 Return result. Argument of_path removed. All users updated.
10535 (vendor_is_ATA): Read only needed part form the file.
10536 (check_sas): Allocate depending on contents rather than fixed.
10537 (main) [STANDALONE]: Handle NULL result.
10538
f990cbf9
VS
105392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10542
9c6e84b8
VS
105432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 Cryptodisk write support.
10546
10547 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10548 (grub_cryptodisk_decrypt): Moved logic to ...
10549 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10550 (grub_cryptodisk_write): Implement.
10551 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10552 (grub_util_fd_write): ... this. Make global.
10553 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10554
87cf9744
VS
105552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * include/grub/list.h (grub_list_remove): Don't crash if element is
10558 removed twice.
10559
ca8c0baf
VS
105602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Rename ofconsole to console.
10563
10564 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10565 as sysnonym to console.
10566 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10567 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10568 Rename grub_ofconsole_ to grub_console_. All users updated
10569 (grub_console_term_output): Rename "ofconsole" to "console".
10570 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10571 as "console".
10572
64c8b8f6
VS
105732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10576 handling.
10577 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10578 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10579 GRUB_DISK_DEVICE_FILE_ID.
10580
f6c434d5
VS
105812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10584 and improve performance.
10585
5858b42d
VS
105862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10589 missing ieee1275/ prefix on whole disk.
10590
4ed3c26b
VS
105912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10594 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10595
df71143e
VS
105962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10599
076e7c0f
VS
106002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 Merge common RAID and LVM logic to an abstract diskfilter.
10603 Add LDM support using the same framework.
10604
10605 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10606 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10607 (libgrubmods): Remove grub-core/disk/raid.c and
10608 grub-core/partmap/gpt.c.
10609 * grub-core/Makefile.core.def (ldm): New module.
10610 (raid): Renamed to diskfilter. All users updated.
10611 * grub-core/disk/raid.c: Moved to ...
10612 * grub-core/disk/diskfilter.c: ... here.
10613 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10614 (lv_num): New var.
10615 (find_array): Renamed to ...
10616 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10617 (grub_is_array_readable): Renamed to ...
10618 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10619 (insert_array): New argument id.
10620 (is_node_readable): New function.
10621 (scan_device): Rename to ...
10622 (scan_disk): .. this. Restrict to one disk.
10623 (scan_devices): New function.
10624 (grub_diskfilter_iterate): Support multi-LV.
10625 Skip invisible and nameless LVs.
10626 (grub_diskfilter_memberlist): Support multi-LV.
10627 (grub_diskfilter_read_node): New function.
10628 (grub_raid_read): Most of logic moved to ...
10629 (read_segment): ... here
10630 (read_lv): New function.
10631 (grub_diskfilter_get_vg_by_uuid): New function.
10632 (grub_diskfilter_make_raid): Likewise.
10633 * grub-core/disk/ldm.c: New file.
10634 * grub-core/disk/lvm.c (vg_list): Removed.
10635 (lv_count): Likewise.
10636 (scan_depth): Likewise.
10637 (is_lv_readable): Likewise.
10638 (grub_lvm_getvalue): Advance pointer past the number.
10639 (find_lv): Removed.
10640 (do_lvm_scan): Refactored into ...
10641 (grub_lvm_detect): ... this. Support raid.
10642 (grub_lvm_iterate): Removed.
10643 (grub_lvm_memberlist): Likewise.
10644 (grub_lvm_open): Likewise.
10645 (grub_lvm_close): Likewise.
10646 (read_lv): Likewise.
10647 (read_node): Likewise.
10648 (is_node_readable): Likewise.
10649 (is_lv_readable): Likewise.
10650 (grub_lvm_read): Likewise.
10651 (grub_lvm_write): Likewise.
10652 (grub_lvm_dev): Use diskfilter
10653 (GRUB_MOD_INIT): Likewise.
10654 (GRUB_MOD_FINI): Likewise.
10655 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10656 new interface.
10657 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10658 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10659 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10660 grub_diskfilter_read_node.
10661 Fix a bug with xor.
10662 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10663 grub_diskfilter_read_node.
10664 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10665 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10666 (grub_disk_dev_iterate): Move from here...
10667 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10668 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10669 Make global.
10670 (grub_hostdisk_find_partition_start): Likewise.
10671 (grub_hostdisk_os_dev_to_grub_drive): New function.
10672 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10673 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10674 * util/getroot.c (make_device_name): ... here.
10675 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10676 Move to ...
10677 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10678 * grub-core/kern/emu/hostdisk.c
10679 (convert_system_partition_to_system_disk): Move to ...
10680 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10681 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10682 * util/getroot.c (device_is_wholedisk): ... here.
10683 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10684 * util/getroot.c (find_system_device): ... here.
10685 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10686 Move to ...
10687 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10688 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10689 Move to ...
10690 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10691 Handle LDM.
10692 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10693 Move to ...
10694 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10695 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10696 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10697 DISKFILTER.
10698 * include/grub/raid.h: Renamed to ...
10699 * include/grub/diskfilter.h: ... this.
10700 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10701 (GRUB_RAID_LAYOUT_*): Make into array.
10702 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10703 (grub_diskfilter_vg): New struct.
10704 (grub_diskfilter_pv_id): Likewise.
10705 (grub_raid_member): Removed.
10706 (grub_raid_array): Likewise.
10707 (grub_diskfilter_pv): New struct.
10708 (grub_diskfilter_lv): Likewise.
10709 (grub_diskfilter_segment): Likewise.
10710 (grub_diskfilter_node): Likewise.
10711 (grub_diskfilter_get_vg_by_uuid): New proto.
10712 (grub_raid_register): Inline.
10713 (grub_diskfilter_unregister): Likewise.
10714 (grub_diskfilter_make_raid): New proto.
10715 (grub_diskfilter_vg_register): Likewise.
10716 (grub_diskfilter_read_node): Likewise.
10717 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10718 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10719 (grub_util_is_ldm): Likewise.
10720 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10721 (grub_hostdisk_find_partition_start): Likewise.
10722 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10723 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10724 New definition.
10725 (grub_gpt_partition_map_iterate): New proto.
10726 * include/grub/lvm.h (grub_lvm_vg): Removed.
10727 (grub_lvm_pv): Likewise.
10728 (grub_lvm_lv): Likewise.
10729 (grub_lvm_segment): Likewise.
10730 (grub_lvm_node): Likewise.
10731 * util/getroot.c [...]
10732 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10733 (probe_abstraction): Likewise.
10734 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10735 (main): Remove dead logic.
10736
8a7f9b9c
VS
107372012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Simplify root device discover and don't fail when trying to open
10740 incorrect devices.
10741
10742 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10743 function.
10744 (get_diskname_from_path): Likewise.
10745 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10746 of iterating.
10747
30545b85
VS
107482012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10751
28ea58cf
VS
107522012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10755 pastthe end.
10756
692dabca
VS
107572012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * util/grub-install.in: Add missing \.
10760 Reported by: gentoofan
10761
f6e4ea70
VS
107622012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10765 (direct_read): Use correct compressed size.
10766 (grub_squash_read_data): Likewise.
10767
107682012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10769
10770 * docs/grub.texi (Platform limitations): New section.
10771 (Platform-specific operations): Likewise.
10772 * docs/grub-dev.texi (Porting): Likewise.
10773
76261110
VS
107742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 IEEE1275 disk write support.
10777
10778 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10779 const void *.
10780 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10781 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10782 and seek loginc to ...
10783 (grub_ofdisk_prepare): ... here.
10784 (grub_ofdisk_write): Implement.
10785
fc36d603
VS
107862012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 ARC disk write support.
10789
10790 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10791 (reopen): New argument writable. All users updated.
10792 Handle required access mode.
10793 (grub_arcdisk_write): Implement.
10794 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10795 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10796
e06c2e7a
VS
107972012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10800 (read_sblock): Don't attempt to read superblocks outside the disk size.
10801
ff447958
VS
108022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10805 first superblock to find the second one when possible.
10806
9e88df39
VS
108072012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * util/grub-install.in: Fix an ARC bug.
10810 Print a warning if no platform-specific setup is available.
10811
bb26e4ff
VS
108122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 Use static allocation rather than scratch pointer in reed_solomon.
10815 It decreases its size significantly and avoids a variable in .text.
10816
10817 * grub-core/lib/reed_solomon.c (scratch): Removed.
10818 (chosenstat): New const or static array.
10819 (sigma): Likewise.
10820 (errpot): Likewise.
10821 (errpos): Likewise.
10822 (sy): Likewise.
10823 (mstat): Likewise.
10824 (errvals): Likewise.
10825 (eqstat): Likewise.
10826 (pol_evaluate): Replace x with log_x argument. All users updated.
10827 (syndroms): Removed.
10828 (gauss_solve): Use statically allocated arrays.
10829 (rs_recover): Likewise.
10830 Calculate syndroms directly.
10831 (decode_block): Use statically allocated arrays.
10832 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10833 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10834
2e13ede5
VS
108352012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 Eliminate fixed limit on reed solomon decoder length.
10838
10839 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10840 rather than hardcoding the address.
10841 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10842 no_reed_solomon_length.
10843 Move gate_a20 to no-reed-solomon part.
10844 Don't force a particular size of no reed-solomon part.
10845 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10846 Removed.
10847 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10848 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10849
f8a9ab12
VS
108502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/commands/wildcard.c (match_files): Handle filenames
10853 without explicit device.
10854 (wildcard_expand): Don't add explicit device if not already present.
10855 * tests/grub_script_echo1.in: Add a new expansion test.
10856
87edb894
VS
108572012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 Replace single-linked with double-linked lists. It results in more
10860 compact and more efficient code.
10861
10862 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10863 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10864 (grub_list_remove): Moved from here ...
10865 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10866 (grub_prio_list_insert): Set prev.
10867 * include/grub/list.h (grub_list): Add prev. All users updated.
10868
48b391e9
VS
108692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 Handle newer autotools. Add some missing quotes while on it.
10872
10873 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10874 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10875 (pkgdata_DATA): ... here.
10876 * Makefile.util.def (update-grub_lib): Removed.
10877 * conf/Makefile.common (pkglib_DATA): Removed.
10878 (pkglib_SCRIPTS): Likewise.
10879 (pkgdata_DATA): New variable.
10880 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10881 needed.
10882 Add missing quotes.
10883 Remove unused variable while on it.
10884 * tests/util/grub-shell.in: Likewise.
10885 * util/grub-install.in: Likewise.
10886 * util/grub-mkconfig.in: Likewise.
10887 * util/grub-mknetdir.in: Likewise.
10888 * util/grub-mkrescue.in: Likewise.
10889 * util/grub-mkstandalone.in: Likewise.
10890 * util/grub.d/00_header.in: Likewise.
10891 * util/grub.d/10_hurd.in: Likewise.
10892 * util/grub.d/10_illumos.in: Likewise.
10893 * util/grub.d/10_kfreebsd.in: Likewise.
10894 * util/grub.d/10_linux.in: Likewise.
10895 * util/grub.d/10_netbsd.in: Likewise.
10896 * util/grub.d/10_windows.in: Likewise.
10897 * util/grub.d/20_linux_xen.in: Likewise.
10898 * util/grub.d/30_os-prober.in: Likewise.
10899 * util/update-grub_lib.in: Removed.
10900
109012012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10902
10903 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10904 a workaround for intel problem.
10905
66832792
PRP
109062012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
109072012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
109082012-01-23 pfsmorigo
10909
10910 * util/grub-install.in: Support dd'in into PreP partition.
10911 * util/grub-probe.c (probe): Support discovering partition type.
10912 (main): Support -t msdos_parttype.
10913
7816a17e
VS
109142012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10917 infinite recursion using counter.
10918 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10919 init to skip it if the magic check fails.
10920 (dec_stream_header): Init s->crc32.
10921
8f9d3a8c
ZB
109222012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
109232012-01-22 Zachary Bedell <pendorbound@gmail.com>
109242012-01-22 Richard Laager <rlaager@wiktel.com>
10925
10926 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10927 All users updated.
10928 (find_bestub): Determine correct size.
10929 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10930 (scan_disk): Align the size down.
10931 Call check pool before find_bestub to have ashift.
10932
b055dd32
VS
109332012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10936 dprintf in no-malloc zone.
10937
d779e9bd
ML
109382012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10939
10940 * configure.ac: Add back in test for limits.h.
10941
b508af69
VS
109422012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 Support 4K-sector NTFS.
10945
10946 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10947 (grub_ntfs_data): Remove blocksize.
10948 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10949 Remove data argument. All users updated.
10950
dad9c8b5
VS
109512012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10954 being in .text to avoid dprel references.
10955 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10956 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10957 (grub_arch_highmemsize): Likewise.
10958 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10959 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10960 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10961
d43a777e
VS
109622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10965
10966 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10967 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10968
34e4208f
VS
109692012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10972 GRUB_UTIL.
10973 (grub_set_datetime_cmos): Likewise.
10974
3ec0fc1c
VS
109752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 Make XZ compression parameters dependent on target and not host CPU.
10978
10979 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10980 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10981
22489834
VS
109822012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10985 set but not used variable.
10986
8502fbca
VS
109872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10990 created when no uuid support is compiled into mkfs.reiser.
10991
76df2068
VS
109922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10995 (utf8_to_macroman): Do the opposite.
10996 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10997
64e3f8f6
VS
109982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * configure.ac: Refise build qemu_mips w/o unifont.
11001
9c271078
VS
110022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 Eliminate grub_min/grub_max prone to overflow usage.
11005
11006 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
11007 (poll_nonroot_hub): Likewise.
11008 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
11009 (grub_affs_label): Likewise.
11010 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
11011 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
11012 (grub_hfs_label): Likewise.
11013 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
11014 * grub-core/fs/zfs/zfs.c (MIN): Remove.
11015 (zap_leaf_array_equal): Use grub_size. Remove MIN.
11016 (zap_leaf_array_get): Likewise.
11017 (dnode_get_path): Likewise.
11018 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
11019 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
11020 * grub-core/script/execute.c (grub_script_break): Likewise.
11021 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
11022 grub_max.
11023 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
11024 * include/grub/misc.h (grub_min): Removed.
11025 (grub_max): Likewise.
11026
80662dbc
VS
110272012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11028
11029 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
11030 direct.inode = 0.
11031
e6da1467
VS
110322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
11035
b1ac4cb1
VS
110362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
11039
b4bf7c3b
VS
110402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
11043 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
11044
8ee1101a
VS
110452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
11048 rather than a hack for grub_strncasemap.
11049
110502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 Support multiple initrds
11053 Note: part of this was accidently committed in r3739.
11054
11055 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
11056 initrd.
11057 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11058 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11059 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11060 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11061 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11062
4d1e2bc9
VS
110632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11066 disks with unknown size.
11067 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11068
75b49ebe
VS
110692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 Remove defines pertaining to arbitrary limits not affecting GRUB
11072 anymore.
11073
11074 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11075 (EXT2_MAX_SYMLINKCNT): Likewise.
11076 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11077 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11078 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11079 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11080 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11081 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11082 (DN_MAX_OBJECT_SHIFT): Likewise.
11083 (DN_MAX_OFFSET_SHIFT): Likewise.
11084 (DN_MAX_OBJECT): Likewise.
11085 (DNODES_PER_LEVEL_SHIFT): Likewise.
11086 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11087 (SPA_MAXBLOCKSIZE): Likewise.
11088 (SPA_BLOCKSIZES): Likewise.
11089 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11090 (MZAP_MAX_BLKSZ): Likewise.
11091
74a1dce7
VS
110922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11095 handle NULL appropriately.
11096 Remove MIN.
11097
30c7d3ce
VS
110982012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 Fix efiemu.
11101
11102 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11103 cpu/types.h.
11104 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11105 * configure.ac: Fix efiemu check.
11106
3c76ea0c
VS
111072012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11110 grub_probe.
11111 Reported by: adamwill
11112
7e532280
SG
111132012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11114
11115 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11116
30492374
VS
111172012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Fix handling of wide characters in gfxterm.
11120
11121 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11122 (clear_char): Likewise.
11123 (paint_char): Skip code == NULL chars.
11124 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11125
e70cb72f
VS
111262012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/normal/charset.c: Move comment to right place.
11129
5c827cf9
VS
111302012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11133 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11134 (grub_affs_mount): Revert the correct version checking.
11135
53603892
VS
111362012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * docs/grub.texi (Unicode): Mention several other unsupported features.
11139
ff094b9b
VS
111402011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11143 case statements as compile-time one.
11144 (direct_read): Prevent spurious warnings.
11145 (grub_squash_read_data): Likewise.
11146
c029da8a
VS
111472011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 Various squash4 fixes and LZO and XZ support.
11150
11151 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11152 Add xzembed source files.
11153 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11154 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11155 (grub_squash_inode): New subtype long_dir.
11156 (SQUASH_TYPE_LONG_DIR): New inode type.
11157 (COMPRESSION): New enum.
11158 (XZBUFSIZ): New const.
11159 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11160 (read_chunk): Use data->decompress.
11161 (zlib_decompress): New function.
11162 (lzo_decompress): Likewise.
11163 (xz_decompress): Likewise.
11164 (squash_mount): Set new data fields.
11165 (grub_squash_iterate_dir): Handle long dir.
11166 (squash_unmount): Free xzdec and xzbuf.
11167 (grub_squash_open): Check ino type.
11168 (direct_read): Stylistic fixes. Use data->decompress.
11169 (grub_squash_read_data): Likewise.
11170 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11171 (get_byte): Likewise.
11172 (grub_zlib_disk_read): Removed.
11173 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11174 (GRUB_POSIX_BOOL_DEFINED): New define.
11175 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11176 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11177 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11178 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11179
7a45a539
VS
111802011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 Don't override more informative errors.
11183
11184 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11185 * grub-core/font/font.c (open_section): Likewise.
11186 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11187 filename. Don't override errors.
11188 (grub_cmd_openbsd_ramdisk): Don't override errors.
11189 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11190 (grub_cmd_initrd): Likewise.
11191 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11192 (grub_cmd_initrd): Likewise.
11193 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11194 (grub_cmd_linux): Likewise.
11195 (grub_cmd_initrd): Likewise.
11196 (grub_cmd_payload): Likewise.
11197 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11198 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11199 (grub_cmd_module): Likewise.
11200 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11201 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11202 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11203 (grub_cmd_xnu_mkext): Likewise.
11204 (grub_cmd_xnu_ramdisk): Likewise.
11205 (grub_xnu_check_os_bundle_required): Likewise.
11206 (grub_xnu_load_kext_from_dir): Likewise.
11207 (grub_cmd_xnu_kextdir): Likewise.
11208 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11209
b2d004db
VS
112102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11213 as 1024 in block size field. Found on one of my test images.
11214 Small optimisation while on it.
11215
ec000eac
VS
112162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11219 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11220 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11221 performance fixes while on it.
11222 (grub_sfs_close): Fix memory leak while on it.
11223 (grub_sfs_label): Convert Latin1 to UTF-8.
11224
f50e1165
VS
112252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11228 space to avoid overflows.
11229 (grub_hfs_label): Convert from macroman to UTF-8.
11230
2ae254de
VS
112312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11234
0108f491
VS
112352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11238
f45f5f89
VS
112392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * unicode: Import Unicode 6.0 data.
11242
4d8c4765
VS
112432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11244
63fa8ef9
VS
11245 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11246 outside of range.
11247
112482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
11251
11252 * include/grub/charset.h (grub_getend): New function.
11253 * grub-core/script/function.c (grub_script_function_find): Use
11254 grub_getend.
11255 * grub-core/normal/completion.c (add_completion): Likewise.
11256
f3cb4a4e
VS
112572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11260 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11261 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11262 (GRUB_UNICODE_TAG_END): Likewise.
11263 (GRUB_UNICODE_LAST_VALID): Likewise.
11264
5da8dbc5
VS
112652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11268 len and make it smaller. All users updated.
11269 * util/import_unicode.py: Put length and not end character.
11270 Check length.
11271
8569f13d
VS
112722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Make better Unicode-compliant and unify some UTF-8 code pathes.
11275
11276 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11277 valid character.
11278 (grub_is_valid_utf8): Use grub_utf8_process.
11279 Check resulting code range.
11280 (grub_utf8_to_ucs4): Use grub_utf8_process.
11281 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11282 valid character.
11283
cc4fddf5
VS
112842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11287
bbc47747
VS
112882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * docs/grub.texi (Filesystems): Mention AFS.
11291
f63d6bf4
VS
112922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * docs/grub.texi (Filesystems): Clarify restrictions.
11295 (Regexp): Mention non-Unicode regexp behaviour.
11296 (Other): Mention non-Unicode matching behaviour.
11297
74bbf0db
VS
112982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11299
f63d6bf4 11300 Make HFS implementation use MacRoman.
74bbf0db
VS
11301
11302 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11303 (macroman): New const array.
11304 (macroman_to_utf8): New function.
11305 (utf8_to_macroman): Likewise.
11306 (grub_hfs_find_dir): Use utf8_to_macroman.
11307 (grub_hfs_dir): Use macroman_to_utf8.
11308 Set case_insensitive.
11309
4ea0316e
VS
113102011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11311
11312 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11313
d3c13cbd
VS
113142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 Integrate hints into autogeneration scripts.
11317
11318 * docs/grub.texi (Filesystems): Add a hostdisk example.
11319 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11320 (grub-probe): Add ofpath.
11321 * gentpl.py: Remove group nosparc64.
11322 * grub-core/commands/search.c (cache_entry): New struct.
11323 (cache): New var.
11324 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11325 * grub-core/commands/search_wrap.c (options): Add platform-specific
11326 hint options.
11327 (grub_cmd_search): Handle platform-specific hints.
11328 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11329 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11330 (grub_util_biosdisk_data): Likewise.
11331 (grub_util_biosdisk_open): Set device_map.
11332 (read_device_map): Handle "" as indication of no map.
11333 Set device_map.
11334 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11335 (grub_util_biosdisk_get_compatibility_hint): New function.
11336 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11337 * include/grub/emu/hostdisk.h
11338 (grub_util_biosdisk_get_compatibility_hint): New proto.
11339 * util/grub-install.in: Don't call grub-mkdevicemap.
11340 Add platform-specific hint to load.cfg.
11341 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11342 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11343 hints. Set root preliminary to compatibility hint, not to OS name.
11344 * util/grub-probe.c (PRINT_*): Add hints.
11345 (print): Make static.
11346 (escape_of_path): New function.
11347 (guess_bios_drive): Likewise.
11348 (guess_efi_drive): Likewise.
11349 (guess_baremetal_drive): Likewise.
11350 (print_full_name): Likewise.
11351 (probe): Handle hints.
11352 (main): Likewise.
11353 * util/ieee1275/devicemap.c: Removed.
11354 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11355 updated.
11356 (grub_util_devname_to_ofpath): Return NULL on failure.
11357
11358 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11359 resource leak.
11360 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11361
11362 * po/POTFILES.in: Regenerated.
11363
11364 Allow purely long options
11365
11366 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11367 (SHORT_ARG_USAGE): Likewise.
11368 (grub_arg_show_help): Compare opt with help_options.
11369 (parse_option): Receive opt as argument. If makes big simplificatons.
11370 All users updated
11371
00ce2df3
VS
113722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11375 Restructure to avoid warning.
11376
e77e325f
VS
113772011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * util/grub-install.in: Account for possible escaped comma in device
11380 name.
11381
165099ea
VS
113822011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11385 channel.
11386
ce4a999d
VS
113872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11390 allocation and zero-setting.
11391 (grub_ieee1275_get_devname): Check that alias is complete.
11392
379586ad
VS
113932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11396 unaligned segments.
11397
9197b0ad
VS
113982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11401 prefix.
11402 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11403 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11404 Add ieee1275 prefix.
11405
edddb7f9
VS
114062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * docs/grub.texi (Filesystems): Update.
11409
a1a8b1b9
VS
114102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Support odc, newc and bigendian cpio formats.
11413
11414 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11415 * grub-core/Makefile.core.def (newc): New module.
11416 (odc): Likewise.
11417 (cpio_be): Likewise.
11418 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11419 (MAGIC): Likewise.
11420 (MAGIC2): Likewise.
11421 (head) [MODE_ODC]: Adapt for the format.
11422 (head) [MODE_NEWC]: Likewise.
11423 (head) [!MODE_*]: Write fields of interest as arrays.
11424 (MAGIC_USTAR): Removed.
11425 (read_number) [MODE_NEWC]: Change to hex.
11426 (read_number) [!MODE_*]: Parse binary arrays.
11427 (grub_cpio_find_file): Factor out the code for better structure and
11428 always use read_number.
11429 (grub_cpio_mount): Use MAGIC and MAGIC2.
11430 (grub_cpio_dir): Exit on first hook non-0 return.
11431 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11432 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11433 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11434 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11435 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11436 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11437 * grub-core/fs/newc.c: New file.
11438 * grub-core/fs/odc.c: Likewise.
11439 * grub-core/fs/cpio_be.c: Likewise.
11440
58eba9ee
VS
114412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 Fix handling of tar numbers occupying the whole field.
11444
11445 * grub-core/fs/cpio.c (read_number): New function.
11446 (grub_cpio_find_file): Use read_number instead of strtoull.
11447
a54a0e12
VS
114482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11451 occupying the whole field size.
11452
a6120aca
LA
114532011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11454
11455 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11456
a93964ce
VS
114572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11460
3ea1ca46
SG
114612011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11462
11463 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11464 TARGET_IMG_LDFLAGS.
11465
b87f7ef2
VS
114662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11469 (mountinfo_entry): Increase the field size to take escaping into
11470 account.
11471 (find_root_device_from_libzfs): Add one byte to size of strings for
11472 security.
11473
62092395
VS
114742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11477 an assert.
11478 * util/grub-setup.c (setup): Likewise.
11479
1f0b1a77
VS
114802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11483 _LzmaDecodeA.
11484
8eba9997
VS
114852011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * docs/grub.texi (Internationalisation): New section.
11488
dd0c91e9
VS
114892011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * docs/grub.texi (Loopback booting): New section.
11492
114932011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11494
11495 * util/grub-mkstandalone.in: Fix minor typo errors.
11496
198e150a
VS
114972011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11500
11501 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11502 net/icmp.c and net/icmp6.c.
11503 (http): New module.
11504 (priority_queue): Likewise.
11505 * grub-core/io/bufio.c: Rewritten.
11506 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11507 TYPE_WITH_CONFIGFILE_OPTION.
11508 (legacy_commands): Add bootp and dhcp.
11509 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11510 (grub_legacy_parse): Likewise.
11511 * grub-core/lib/priority_queue.c: New file.
11512 * grub-core/net/arp.c: Add missing license header.
11513 (arp_find_entry): Removed.
11514 (arp_find_entry): Likewise.
11515 (grub_net_arp_resolve): Rename to ...
11516 (grub_net_arp_send_request): ...this.
11517 (grub_net_arp_receive): New card argument.
11518 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11519 Set router and DNS server.
11520 (grub_net_configure_by_dhcp_ack): Handle routing information.
11521 (grub_cmd_bootp): Set checksum.
11522 (grub_bootp_init): Remove net_dhcp.
11523 * grub-core/net/dns.c: New file.
11524 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11525 completion.
11526 (get_card_packet): Handle allocation.
11527 (grub_efinet_findcards): Set mtu.
11528 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11529 (get_card_packet): Handle allocation.
11530 (emucard): Set mtu.
11531 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11532 (GRUB_MOD_INIT): Set mtu.
11533 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11534 mtu.
11535 (get_card_packet): Handle allocation.
11536 (grub_ofnet_findcards): Set mtu.
11537 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11538 assert.
11539 (grub_net_recv_ethernet_packet): Handle IPv6.
11540 * grub-core/net/http.c: New file.
11541 * grub-core/net/icmp.c: Likewise.
11542 * grub-core/net/icmp6.c: Likewise.
11543 * grub-core/net/ip.c (ip6addr): New type.
11544 (ip6hdr): Likewise.
11545 (reassemble): Likewise.
11546 (cmp): New function.
11547 (reassembles): New variable.
11548 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11549 (id): New variable.
11550 (send_fragmented): New function.
11551 (grub_net_send_ip_packet): Rename to ...
11552 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11553 Handle non-UDP.
11554 (grub_net_recv_ip_packets): Rename to ...
11555 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11556 (free_rsm): New function.
11557 (free_old_fragments): Likewise.
11558 (grub_net_recv_ip4_packets): New function.
11559 (grub_net_send_ip6_packet): Likewise.
11560 (grub_net_send_ip_packet): Likewise.
11561 (grub_net_recv_ip6_packets): Likewise.
11562 (grub_net_recv_ip_packets): Likewise.
11563 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11564 (LINK_LAYER_CACHE_SIZE): New const.
11565 (link_layer_find_entry): New function.
11566 (grub_net_link_layer_add_address): Likewise.
11567 (grub_net_link_layer_resolve_check): Likewise.
11568 (grub_net_link_layer_resolve): Likewise.
11569 (grub_net_ipv6_get_slaac): Likewise.
11570 (grub_net_ipv6_get_link_local): Likewise.
11571 (grub_cmd_ipv6_autoconf): Likewise.
11572 (parse_ip): Handle one number representation.
11573 (parse_ip6): New functoion.
11574 (match_net): Handle IPv6.
11575 (grub_net_resolve_address): Handle IPv6 and DNS.
11576 (grub_net_resolve_net_address): Handle IPv6.
11577 (route_cmp): New function.
11578 (grub_net_route_address): Find best route.
11579 (grub_net_addr_to_str): Handle IPv6.
11580 (grub_net_addr_cmp): New function.
11581 (grub_net_add_addr): Register local route.
11582 (print_net_address): Handle net address.
11583 (grub_net_poll_cards): Retransmit TCP.
11584 (grub_net_poll_cards_idle_real): Likewise.
11585 (have_ahead): New function.
11586 (grub_net_seek_real): Use underlying seek.
11587 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11588 * grub-core/net/tcp.c: New file.
11589 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11590 (cmp): New function.
11591 (ack): Likewise.
11592 (tftp_receive): Handle unordered input.
11593 (destroy_pq): New function.
11594 (tftp_close): Close pq.
11595 * grub-core/net/udp.c: Put missing license header.
11596 (grub_net_udp_socket): New function.
11597 (udp_socket_register): Likewise.
11598 (grub_net_udp_close): Likewise.
11599 (grub_net_recv_udp_packet): Check checksum.
11600 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11601 * include/grub/misc.h (grub_memchr): New function.
11602 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11603 (grub_net_card_driver): Return buf in recv.
11604 (grub_net_slaac_mac_list): New struct.
11605 (grub_network_level_protocol_id): Add ipv6.
11606 (grub_net_network_level_addr): Likewise.
11607 (grub_net_network_level_net_addr): Likewise.
11608 (grub_net_app_protocol): Add seek.
11609 (grub_net_socket): Removed.
11610 (grub_net_sockets): Likewise.
11611 (grub_net_socket_register): Likewise.
11612 (grub_net_socket_unregister): Likewise.
11613 (FOR_NET_SOCKETS): Likewise.
11614 (grub_net_add_addr): Add const.
11615 (GRUB_NET_BOOTP_*): New enum.
11616 (grub_net_addr_cmp): New proto.
11617 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11618 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11619 (grub_net_hwaddr_to_str): NEw proto.
11620 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11621 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11622 (grub_dns_init): New proto.
11623 (grub_dns_fini): Likewise.
11624 (grub_net_tcp_retransmit): Likewise.
11625 (grub_net_link_layer_add_address): Likewise.
11626 (grub_net_link_layer_resolve_check): Likewise.
11627 (grub_net_link_layer_resolve): Likewise.
11628 (grub_net_dns_lookup): Likewise.
11629 (grub_net_add_dns_server): Likewise.
11630 (grub_net_remove_dns_server): Likewise.
11631 (GRUB_NET_TRIES): New const.
11632 (GRUB_NET_INTERVAL): Likewise.
11633 * include/grub/net/arp.h: Mostly rewritten.
11634 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11635 * include/grub/net/ip.h: Mostly rewritten.
11636 * include/grub/net/netbuff.h: Indent.
11637 * include/grub/net/tcp.h: New file.
11638 * include/grub/net/udp.h: Mostly rewritten.
11639 * include/grub/priority_queue.h: New file.
11640 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11641 (grub_swap_bytes64_compile_time): Likewise.
11642 (grub_cpu_to_be16_compile_time): Likewise.
11643 (grub_cpu_to_be32_compile_time): Likewise.
11644 (grub_cpu_to_be64_compile_time): Likewise.
11645 (grub_be_to_cpu64_compile_time): Likewise.
11646
215c1800
VS
116472011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11650 UINT_TO_PTR with cast.
11651
c17e546c
VS
116522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11655 don't use them.
11656
ff6b18b6
VS
116572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11660 already there.
11661
70ffcc93
VS
116622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11665 confusing ipxe.
11666
e5f4d260
VS
116672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11670 Add missing const attribute.
11671 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11672 Likewise.
11673 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11674 Likewise.
11675
8e54b4b7
VS
116762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11679 misaligned access.
11680 (serpent_setkey): Likewise.
11681 (serpent_encrypt_internal): Likewise.
11682 (serpent_decrypt_internal): Likewise.
11683 (serpent_encrypt): Don't put an alignment-increasing cast.
11684 (serpent_decrypt): Likewise.
11685 (serpent_test): Likewise.
11686
813c0a2b
VS
116872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11690
f2b60fbd
VS
116912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11694
11695 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11696 grub_addr_t casts.
11697 (PTR_TO_UINT64): Likewise.
11698 (PTR_TO_UINT32): Likewise.
11699
5ef5c511
VS
117002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11703 because of stack.
11704 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11705 limit.
11706
c476e6df
VS
117072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11710 text_width > available width a bit more gracefully.
11711
384ad7cc
VS
117122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11715 current address calculation.
11716
96f8caf8
VS
117172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11720 stack.
11721 (encode_block): Likewise.
11722
276b7a8b
VS
117232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11726 certainety.
11727
e3fd394a
VS
117282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11731 non-RS part to avoid RS messing with GDT.
11732 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11733 Increase to suit in realmode routines.
11734
117352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/kern/i386/realmode.S: Increase alignment.
11738 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11739
ee9c2e7a
VS
117402011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11743 be deterministic.
11744 (syndroms): Compute 0 syndrom.
11745 (rs_recover): Use 0 syndrom.
11746
7a7f7cc9
VS
117472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11750
a14b16d1
VS
117512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11754 brackets.
11755
9f59e9fc
VS
117562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11757
ca1b552c
VS
11758 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11759 account.
11760 (get_top_pad): Likewise.
11761 (get_right_pad): Likewise.
11762 (get_bottom_pad): Likewise.
11763
117642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11767
e739d698
VS
117682011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11771 attribute as the structure isn't guaranteed to be properly aligned.
11772 (grub_efi_pci_device_path): Likewise.
11773 (grub_efi_pccard_device_path): Likewise.
11774 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11775 specify the size of `memory_type'.
11776 (grub_efi_vendor_device_path): Likewise.
11777 (grub_efi_controller_device_path): Likewise.
11778 (grub_efi_acpi_device_path): Likewise.
11779 (grub_efi_expanded_acpi_device_path): Likewise.
11780 (grub_efi_atapi_device_path): Likewise.
11781 (grub_efi_scsi_device_path): Likewise.
11782 (grub_efi_fibre_channel_device_path): Likewise.
11783 (grub_efi_1394_device_path): Likewise.
11784 (grub_efi_usb_device_path): Likewise.
11785 (grub_efi_usb_class_device_path): Likewise.
11786 (grub_efi_i2o_device_path): Likewise.
11787 (grub_efi_mac_address_device_path): Likewise.
11788 (grub_efi_ipv4_device_path): Likewise.
11789 (grub_efi_ipv6_device_path): Likewise.
11790 (grub_efi_infiniband_device_path): Likewise.
11791 (grub_efi_uart_device_path): Likewise.
11792 (grub_efi_vendor_messaging_device_path): Likewise.
11793 (grub_efi_hard_drive_device_path): Likewise.
11794 (grub_efi_cdrom_device_path): Likewise.
11795 (grub_efi_vendor_media_device_path): Likewise.
11796 (grub_efi_file_path_device_path): Likewise.
11797 (grub_efi_protocol_device_path): Likewise.
11798 (grub_efi_piwg_device_path): Likewise.
11799 (grub_efi_bios_device_path): Likewise.
11800
cb8f88ea
VS
118012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11804 (grub_ucs4_to_utf8_alloc): Likewise.
11805 (grub_ucs4_to_utf8): Likewise.
11806 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11807 (grub_ucs4_to_utf8_alloc): Likewise.
11808
309e5352
VS
118092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 AFFS never uses unicode.
11812
11813 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11814 (grub_latin1_to_utf8): New inline function.
11815 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11816
e7987e1b
VS
118172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11820 overflow.
11821
efc2616e
VS
118222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11825 (grub_squash_dirent_header): Likewise.
11826 (read_chunk): Don't double swap.
11827 (grub_squash_iterate_dir): Fix swap sizes.
11828
3c349f5a
VS
118292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11832
b453412d
VS
118332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11836 (grub_hfs_iterate_dir): Likewise.
11837
12e9d4d1
VS
118382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 Fix video on platforms where unaligned access is forbidden.
11841 Make several optimisations while on it.
11842
11843 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11844 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11845 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11846 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11847 Disable.
11848 (grub_video_fbblit_replace_16bit_1bit):
11849 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11850 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11851 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11852 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11853 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11854 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11855 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11856 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11857 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11858 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11859 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11860 (grub_video_fbblit_replace_index_RGB888): Likewise.
11861 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11862 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11863 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11864 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11865 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11866 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11867 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11868 Disable.
11869 (grub_video_fbblit_blend_XXX565_1bit):
11870 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11871 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11872 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11873 void *.
11874 * grub-core/video/fb/video_fb.c (common_blitter)
11875 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11876 (grub_video_fb_create_render_target_from_pointer)
11877 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11878 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11879 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11880 definition.
11881 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11882
ace96609
VS
118832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11886 HH22 and HM10 relocations.
11887
fd261d73
VS
118882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11891
e59b7857
VS
118922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11895 allocation succeeded.
11896
9b4baaa4
VS
118972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11900 argument a u8 pointer. All users updated.
11901 Handle unaligned buffers.
11902
dc713193
VS
119032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11906 add_part to workaround compiler bug.
11907
30dd48c2
VS
119082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11911
0c6087a8
VS
119122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11915 Reserve alignment invariants.
11916 (grub_multiboot_load): Likewise.
11917 (retrieve_video_parameters): Likewise.
11918 (grub_multiboot_make_mbi): Likewise.
11919
c2e77777
VS
119202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11923 incorrect pointer.
11924
b70b6d11
VS
119252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11928 (grub_pata_pio_write): Likewise.
11929
02a2bf83
VS
119302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 Add noreturn attributes and remove unreachable code.
11933
11934 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11935 code.
11936 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11937 code. Mark as noreturn.
11938 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11939 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11940 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11941 unreachable code.
11942 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11943 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11944 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11945 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11946 * include/grub/kernel.h (grub_main): Mark as noreturn.
11947 * include/grub/reader.h (grub_rescue_run): Likewise.
11948
2019d09e
VS
119492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11952 redundant declaration.
11953
d1c501ee
VS
119542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11957 redundant declaration.
11958 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11959
61664420
VS
119602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11963 to ensure alignment.
11964 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11965 alignment. Ensure tmp alignment.
11966 (grub_cmd_hdparm): Ensure buf alignment.
11967 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11968 to ensure alignment.
11969 (grub_ata_dumpinfo): Ensure text alignment.
11970 (grub_atapi_identify): Preserve alignment invariant.
11971 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11972
0d51ee20
VS
119732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11976 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11977 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11978 * include/grub/misc.h (grub_reboot)
11979 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11980 (grub_halt) [__mips__]: Likewise.
11981
753ef8c1
VS
119822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11985 Remove redundant declaration.
11986 (grub_mmap_get_post64): Likewise.
11987 (grub_mmap_get_upper): Likewise.
11988 (grub_mmap_get_lower): Likewise.
11989
85c85365
VS
119902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11993 uint32_t * to ensure alignment.
11994 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11995
a23f2cc4
VS
119962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11997
93018f64
VS
11998 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11999 uint16_t * to ensure alignment.
12000 (sun_pc_partition_map_iterate): Make `block' a union to ensure
12001 alignment.
12002
120032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
12006 to ensure alignment.
12007 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
12008
58acccd6
VS
120092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/fs/ntfs.c (u16at): Make into inline function.
12012 Handle unaligned pointers.
12013 (u32at): Likewise.
12014 (u64at): Likewise.
12015 (fixup): Use byte access instead of v16at.
12016 (find_attr): Fix imporper usage of v32at.
12017 (read_data): Likewise.
12018 (list_file): Handle byte-swapping and unaligned strings.
12019 (grub_ntfs_label): Likewise.
12020
9b05cad7
VS
120212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
12024 as it's not necessarily aligned.
12025
b3950b84
VS
120262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
12029 redundant declaration.
12030 (grub_serial_init): Likewise.
12031 (grub_terminfo_init): Likewise.
12032
fcd232b7
VS
120332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
12036 function.
12037 (ZAP_HASH_IDX): Likewise.
12038 (ZAP_LEAF_HASH_SHIFT): Likewise.
12039 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
12040 (LEAF_HASH): Likewise.
12041 (ZAP_LEAF_NUMCHUNKS): Likewise.
12042 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
12043 alignment invariants. Return pointer. All users updated.
12044 (ZAP_LEAF_ENTRY): Make into inline function.
12045 (NBBY): Removed.
12046 (xor): LIkewise.
12047 (xor_out): Use grub_crypto_xor.
12048 (dnode_get_path): Use grub_get_unaligned.
12049 (nvlist_find_value): Likewise.
12050 (grub_zfs_nvlist_lookup_uint64): Likewise.
12051 (grub_zfs_nvlist_lookup_string): Likewise.
12052 (get_nvlist_size): Likewise.
12053 (grub_zfs_open): Likewise.
12054 (fill_fs_info): Likewise.
12055 (grub_zfs_dir): Likewise.
12056 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
12057 alignment invariants.
12058 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
12059 necessarily aligned.
12060
f138623a
VS
120612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12064
564840dc
VS
120652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12068 arithmetic to conserve alignment invariants.
12069
9b40df20
VS
120702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12073 redundant declaration.
12074 (grub_efiemu_mm_obtain_request): Likewise.
12075 (grub_efiemu_prepare): Likewise.
12076
d1c930f9
VS
120772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12080 to match types.
12081
4c5f3056
VS
120822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12085 case of aunaligned recptr.
12086 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12087 alignment.
12088 (grub_hfsplus_btree_search): Handle unaligned index.
12089
728cba91
VS
120902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12093 to get freetag and skip.
12094
eb561f31
VS
120952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12098 array.
12099 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12100 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12101
20993fbb
VS
121022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12105 name for checksum and fix allocation algorithm.
12106
1f313b94
VS
121072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * include/grub/types.h (grub_properly_aligned_t): New type.
12110 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12111 (grub_get_unaligned16): Add explicit casts.
12112 (grub_get_unaligned32): Likewise.
12113 (grub_get_unaligned64): Likewise.
12114 (grub_set_unaligned16): New function.
12115 (grub_set_unaligned32): Likewise.
12116
47ae27ec
VS
121172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12120
78c2cd1c
VS
121212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12124 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12125 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12126
53072f9b
VS
121272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12130 conditionals.
12131
055dc239
VS
121322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12135 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12136
496bd074
VS
121372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 Unify and improve RAID and crypto xor.
12140
12141 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12142 changed to grub_crypto_xor
12143 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12144 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12145 Use bigger types when possible.
12146
ef6e4335
VS
121472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/disk/raid.c (scan_devices): Fix condition.
12150
5d048bf2
VS
121512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12154 Make name a const ptr.
12155
ee533335
VS
121562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12159 first argument a const pointer.
12160 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12162 proto.
12163 (grub_children_iterate): Likewise.
12164 (grub_machine_mmap_iterate): Remove redundant declaration.
12165
cc8f3668
VS
121662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12169 (grub_cmd_acpi) [!x86]: Disable EBDA.
12170
c5fc563a
VS
121712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 Enable UTF8 in gnulib regexp.
12174
12175 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12176 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12177 (isupper): Use grub_isupper.
12178 (isascii): New inline function.
12179 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12180 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12181 * grub-core/normal/charset.c (grub_utf8_process): New function.
12182 (grub_utf8_to_utf16): Use grub_utf8_process.
12183 (grub_encode_utf8_character): New function.
12184 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12185 * include/grub/charset.h (grub_utf8_process): New declaration.
12186 (grub_encode_utf8_character): Likewise.
12187 * include/grub/misc.h (grub_islower): New inline function.
12188 (grub_isupper): Likewise.
12189 (grub_strchrsub): Moved down to fix the definitions.
12190
0af2346f
VS
121912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12194 specification.
12195
74dbd244
VS
121962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * include/grub/loader.h (grub_loader_register_preboot_hook):
12199 Use struct preboot * and not void * for handle. All users updated.
12200 (grub_loader_unregister_preboot_hook): Likewise.
12201
1bc8f60d
VS
122022011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12205 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12206 UTF-16-BE. All users updated.
12207 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12208 (grub_hfsplus_iterate_dir): Likewise.
12209 (grub_hfsplus_label): Likewise.
12210
48d6e456
VS
122112011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12214
bf3a3857
VS
122152011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 Add missing const qualifiers.
12218
12219 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12220 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12221 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12222 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12223 (grub_lvm_check_flag): Likewise.
12224 * grub-core/efiemu/i386/coredetect.c
12225 (grub_efiemu_get_default_core_name): Likewise
12226 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12227 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12228 * grub-core/fs/ntfs.c (fixup): Likewise.
12229 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12230 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12231 (fzap_lookup): Likewise.
12232 (zap_lookup): Likewise.
12233 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12234 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12235 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12236 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12237 (grub_freebsd_add_meta_module): Likewise.
12238 (grub_cmd_freebsd_module): Likewise.
12239 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12240 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12241 (grub_xnu_writetree_get_size): Likewise.
12242 (grub_xnu_writetree_toheap_real): Likewise.
12243 (grub_xnu_find_key): Likewise.
12244 (grub_xnu_create_key): Likewise.
12245 (grub_xnu_create_value): Likewise.
12246 (grub_xnu_register_memory): Likewise.
12247 (grub_xnu_check_os_bundle_required): Likewise.
12248 (grub_xnu_scan_dir_for_kexts): Likewise.
12249 (grub_xnu_load_kext_from_dir): Likewise.
12250 * grub-core/normal/color.c (color_list): Likewise.
12251 * grub-core/normal/completion.c (current_word): Likewise.
12252 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12253 * grub-core/term/serial.c (grub_serial_find): Likewise.
12254 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12255 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12256 Likewise.
12257 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12258 (grub_freebsd_add_meta_module): Likewise.
12259 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12260 * include/grub/net.h (grub_net_card_driver): Likewise.
12261 (grub_net_card): Likewise.
12262 (grub_net_app_protocol): Likewise.
12263 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12264 * include/grub/serial.h (grub_serial_find): Likewise.
12265 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12266 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12267 (grub_xnu_create_value): Likewise.
12268 (grub_xnu_find_key): Likewise.
12269 (grub_xnu_scan_dir_for_kexts): Likewise.
12270 (grub_xnu_load_kext_from_dir): Likewise.
12271
12272 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12273 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12274 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12275 Moved from here ...
12276 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12277
112b4837
CW
122782011-11-28 Colin Watson <cjwatson@ubuntu.com>
12279
12280 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12281
49e891ac
VS
122822011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12285 (read_device): Fix size calculation.
12286
fd258e5c
RM
122872011-11-25 Robert Millan <rmh@gnu.org>
12288
12289 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12290 (find_root_device_from_libzfs): Add zpool output parser to be used
12291 as fallback when libzfs isn't available.
12292
78845dc2
SG
122932011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12294
12295 * po/Makefile.in.in: Add missing escape-continuation.
12296
adac5211
VS
122972011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12300
10b64f1c
VS
123012011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12304
bb416954
VS
123052011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12308
bdfe9eeb
VS
123092011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12312
581ffa8a
VS
123132011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/lib/adler32.c: Add missing license specification.
12316 * grub-core/lib/crc64.c: Likewise.
12317 * grub-core/loader/i386/pc/plan9.c: Likewise.
12318 * grub-core/partmap/plan.c: Likewise.
12319
2536cf64
LK
123202011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12321
12322 Add facility to debug GRUB with gdb under qemu.
12323
12324 * grub-core/gdb_grub.in: New file.
12325 * grub-core/gmodule.pl.in: Likewise.
12326 * grub-core/Makefile.core.def (gmodule.pl): New script.
12327 (gdb_grub): Likewise.
12328
bc108a4a
VS
123292011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * util/grub-mount.c (argp_parser): Accept relative pathes.
12332 * util/grub-fstest.c (argp_parser): Likewise.
12333
111c1778
VS
123342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 Plan9 support.
12337
12338 * Makefile.util.def (libgrubmods): Add
12339 grub-core/partmap/plan.c.
12340 * docs/grub.texi: Notice Plan9 support.
12341 * grub-core/Makefile.core.def (plan9): New module.
12342 (part_plan): Likewise.
12343 * grub-core/loader/i386/pc/plan9.c: New file.
12344 * grub-core/partmap/plan.c: Likewise.
12345 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12346 define.
12347 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12348 * include/grub/mm.h (grub_extend_alloc): New inline function.
12349
c30be3b6
VS
123502011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 Make Reed-Solomon faster by using power of generator representation of
12353 GF(256)*.
12354
12355 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12356 (gf_double_t): Likewise.
12357 (gf_invert): Removed.
12358 (gf_powx): New array.
12359 (gf_powx_inv): Likewise.
12360 (scratch): Move higher.
12361 (gf_reduce): Removed.
12362 (gf_mul): Use powx.
12363 (gf_invert): Likewise.
12364 (init_inverts): Replaced with ...
12365 (init_powx): ...this. All users updated.
12366 (pol_evaluate): Replace multiplications with additions.
12367 (rs_encode): Likewise.
12368 (gauss_eliminate): Call gf_invert.
12369 (grub_reed_solomon_add_redundancy): Call init_powx.
12370 (grub_reed_solomon_recover): Call init_powx unconditionally.
12371
fa5aeffc
VS
123722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12375
a346b81c
VS
123762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12379 disk->partiton for safety.
12380
d89ee414
VS
123812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12382
12383 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12384 Fix a memory leak.
12385 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12386
91ee7b6d
VS
123872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12390
91e5a33d
VS
123912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12394
9edd7be2
VS
123952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Fix spaces handling in proc/self/mountinfo.
12398
12399 * util/getroot.c (unescape): New function.
12400 (grub_find_root_device_from_mountinfo): Use unescape.
12401
ba102053
VS
124022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 Support ZFS embedding.
12405
12406 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12407 (grub_zfs_fs): Register grub_zfs_embed.
12408
aa94b870
VS
124092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Fix MIPS compilation.
12412
12413 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12414 * include/grub/offsets.h: Rename decompressor fields from
12415 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12416 * util/grub-mkimage.c (image_targets): Use new names.
12417
5fbdac14
VS
124182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 Defer multiboot device parsing until we're in compressed part.
12421
12422 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12423 bsd_part. setdevice has fallen into disuse.
12424 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12425 (bsd_part): Likewise.
12426 (boot_dev): New variable.
12427 (multiboot_trampoline): Don't parse multiboot device.
12428 Pass multiboot device in %edx.
12429 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12430 grub_boot_device.
12431 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12432 Likewise.
12433 * grub-core/kern/i386/pc/startup.S: Save edx.
12434 (grub_boot_drive): Removed.
12435 (grub_install_dos_part): Likewise.
12436 (grub_install_bsd_part): Likewise.
12437 (grub_boot_device): New variable.
12438 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12439 (grub_install_bsd_part): Likewise.
12440 (grub_boot_drive): Likewise.
12441 (grub_boot_device): New variable.
12442 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12443 Removed.
12444 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12445 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12446 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12447 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12448 * util/grub-install.in: Remove redundant condition.
12449
691cbb58
VS
124502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12451
12452 Fix bug introduced by previous commit.
12453
12454 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12455
60240b8b
VS
124562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Use decompressors framework on i386-pc. It increases core size
12459 by 46 bytes but improves compatibility and maintainability.
12460
12461 * grub-core/Makefile.core.def (lzma_decompress): New image.
12462 (kernel): Add i386_pc_ldflags.
12463 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12464 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12465 to real_to_prot, prot_to_real and device info.
12466 * include/grub/offsets.h: Renamed decompressor offsets.
12467 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12468 (image_target_desc): Remove raw_size and rename decompressor fields.
12469 (compress_kernel): Handle lzma.
12470 (generate_image): Handle decompressors on i386-pc.
12471
e9d3421c
VS
124722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * configure.ac: Add -fno-asynchronous-unwind-tables.
12475
2b23074a
VS
124762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 Move assembly code to C by using intwrap. It increases core size
12479 by 88 bytes but improves compatibility and maintainability.
12480
12481 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12482 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12483 ... here. Translated to C.
12484 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12485 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12486 ... here. Translated to C.
12487 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12488 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12489 ... here. Translated to C.
12490 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12491 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12492 ... here. Translated to C.
12493 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12494 * grub-core/term/i386/pc/console.c (grub_console_cls):
12495 ... here. Translated to C.
12496 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12497 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12498 ... here. Translated to C.
12499 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12500 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12501 Translated to C.
12502 * grub-core/term/i386/pc/console.c (int10_9): New function.
12503 (grub_console_putchar): Likewise.
12504 * include/grub/i386/pc/console.h: Removed the not anymore shared
12505 functions.
12506
678f4b67
VS
125072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 Move grub_chainloader_real_boot out of the kernel.
12510
12511 * grub-core/Makefile.am: Remove machine/loader.h.
12512 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12513 Removed.
12514 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12515 variable.
12516 (grub_relocator16_keep_a20_enabled): Likewise.
12517 (grub_relocator16_boot): Fill new variables.
12518 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12519 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12520 relocator.
12521 (grub_chainloader_unload): Likewise.
12522 (grub_chainloader_cmd): Likewise.
12523 * include/grub/i386/pc/loader.h: Removed.
12524 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12525 and esi. All initialisers updated.
12526
4626edf6
VS
125272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
125282011-11-12 Colin Watson <cjwatson@ubuntu.com>
12529
12530 * Makefile.util.def (grub-mount): New util.
12531 * .bzrignore: Add grub-mount.
12532 * configure.ac: Check for fuse and enable grub-mount if available.
12533 * docs/man/grub-mount.h2m: New file.
12534 * util/grub-mount.c: Likewise.
12535
10f0117b
VS
125362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * grub-core/commands/efi/fixvideo.c: Gettextize.
12539 * grub-core/commands/hashsum.c: Likewise.
12540 * grub-core/commands/i386/cmostest.c: Likewise.
12541 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12542 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12543 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12544 * grub-core/commands/lsmmap.c: Likewise.
12545 * grub-core/commands/menuentry.c: Likewise.
12546 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12547 * grub-core/commands/setpci.c: Likewise.
12548 * grub-core/loader/i386/bsd.c: Likewise.
12549 * grub-core/loader/i386/linux.c: Likewise.
12550 * util/getroot.c: Likewise.
12551 * util/grub-editenv.c: Likewise.
12552 * util/grub-fstest.c: Likewise.
12553 * util/grub-mkfont.c: Likewise.
12554 * util/grub-mkimage.c: Likewise.
12555 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12556 * util/grub-pe2elf.c: Likewise.
12557 * util/grub-probe.c: Likewise.
12558 * util/grub-setup.c: Likewise.
12559 * util/ieee1275/ofpath.c: Likewise.
12560 * util/misc.c: Likewise.
12561 * util/raid.c: Likewise.
12562
566f779b
RM
125632011-11-11 Robert Millan <rmh@gnu.org>
12564
12565 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12566 __attribute__((unused)) from `os_dev', which *is* being used.
12567
b50787de
VS
125682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12571 forgotten define.
12572 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12573 GRUB_IA64_DL_GOT_ALIGN.
12574 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12575 GRUB_IA64_DL_TRAMP_ALIGN.
12576
119d11c8
VS
125772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Replace grub_fatal with normal errors in i386 linux loader.
12580
12581 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12582 (allocate_pages): Check find_efi_mmap_size return value.
12583 (grub_e820_add_region): Return error.
12584 (grub_linux_boot): Check mmap return value.
12585
6e0632e2
VS
125862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * grub-core/commands/acpihalt.c: Gettextized.
12589 * grub-core/commands/cacheinfo.c: Likewise.
12590 * grub-core/commands/cmp.c: Likewise.
12591 * grub-core/commands/efi/loadbios.c: Likewise.
12592 * grub-core/commands/gptsync.c: Likewise.
12593 * grub-core/commands/ieee1275/suspend.c: Likewise.
12594 * grub-core/commands/legacycfg.c: Likewise.
12595 * grub-core/commands/memrw.c: Likewise.
12596 * grub-core/commands/minicmd.c: Likewise.
12597 * grub-core/commands/parttool.c: Likewise.
12598 * grub-core/commands/time.c: Likewise.
12599 * grub-core/commands/videoinfo.c: Likewise.
12600 * grub-core/disk/geli.c: Likewise.
12601 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12602 * grub-core/disk/luks.c: Likewise.
12603 * grub-core/disk/lvm.c: Likewise.
12604 * grub-core/font/font_cmd.c: Likewise.
12605 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12606 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12607 * grub-core/gfxmenu/view.c: Likewise.
12608 * grub-core/kern/emu/hostdisk.c: Likewise.
12609 * grub-core/kern/emu/main.c: Likewise.
12610 * grub-core/kern/emu/misc.c: Likewise.
12611 * grub-core/kern/emu/mm.c: Likewise.
12612 * grub-core/kern/mips/arc/init.c: Likewise.
12613 * grub-core/kern/mips/loongson/init.c: Likewise.
12614 * grub-core/kern/partition.c: Likewise.
12615 * grub-core/lib/i386/halt.c: Likewise.
12616 * grub-core/lib/mips/arc/reboot.c: Likewise.
12617 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12618 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12619 * grub-core/loader/i386/xnu.c: Likewise.
12620 * grub-core/loader/multiboot.c: Likewise.
12621 * grub-core/net/bootp.c: Likewise.
12622 * grub-core/net/net.c: Likewise.
12623 * grub-core/normal/term.c: Likewise.
12624 * grub-core/partmap/bsdlabel.c: Likewise.
12625 * grub-core/parttool/msdospart.c: Likewise.
12626 * grub-core/term/gfxterm.c: Likewise.
12627 * grub-core/term/terminfo.c: Likewise.
12628 * grub-core/video/i386/pc/vbe.c: Likewise.
12629 * util/grub-menulst2cfg.c: Likewise.
12630 * util/grub-mkdevicemap.c: Likewise.
12631 * util/grub-mklayout.c: Likewise.
12632 * util/grub-mkrelpath.c: Likewise.
12633 * util/grub-script-check.c: Likewise.
12634 * util/ieee1275/grub-ofpathname.c: Likewise.
12635 * util/resolve.c: Likewise.
12636
073aa7a9
VS
126372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 Support %1$d syntax.
12640
12641 * tests/printf_unit_test.c: New file.
12642 * Makefile.util.def (printf_test): New test.
12643 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12644
c76b5417
VS
126452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12648 fix.
12649
df067ad1
VS
126502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12653 dprintf.
12654 * grub-core/font/font.c (grub_font_load): Likewise.
12655
5b289bc5
VS
126562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * util/grub-macho2img.c: Add comment concerning gettext.
12659 * grub-core/lib/legacy_parse.c: Likewise.
12660
c1860f87
VS
126612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12664 (grub_xvasprintf): Likewise.
12665
d35d0d37
VS
126662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 Add const keyword to grub_env_get and gettextize week days.
12669
12670 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12671 (grub_read_hook_datetime): Return const char *.
12672 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12673 updated.
12674 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12675 Mark for gettext.
12676 (grub_get_weekday_name): Return const char *. Call gettext.
12677 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12678 char * and len as the argument. All users updated.
12679 (grub_script_argv_split_append): Receive const char *.
12680 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12681 * include/grub/env.h (grub_env_get): Likewise.
12682 (grub_env_read_hook_t): Return const char *.
12683 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12684 (grub_script_argv_split_append): Likewise.
12685
9aed8a71
VS
126862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12689
067fdf00
VS
126902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12693 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12694
a8bd9d39
VS
126952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12698 Fix prototype.
12699
f7ce5baf
VS
127002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 Fix mips compilation.
12703
12704 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12705 normal decoder.
12706 (hashes): Use in embed decoder as well (for sizes).
12707 (dec_stream_header): Fix embed decompressor logic.
12708 (dec_stream_footer): Likewise.
12709
9bb182f3
VS
127102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12713 an error and not a fatal on unrecognised relocation types.
12714
63a9e6f6
VS
127152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12718 Issue error rather than printf on unknown arguments.
12719
4c458569
VS
127202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12723 Make buf a const.
12724
e2d22baf
VS
127252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12728 Fix module name.
12729
53dc8590
VS
127302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12733 leftover debug printf.
12734
6c189294
VS
127352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12738
f7688369
VS
127392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12742 A stylistic fix.
12743
11a775a3
VS
127442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12747
33f784e8
SL
127482011-11-10 Shea Levy <slevy@tieronedesign.com>
12749
12750 Allow all modules to perform serial IO
12751
12752 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12753 * include/grub/serial.h (grub_serial_port_configure): New inline
12754 function.
12755 (grub_serial_port_fetch): Likewise.
12756 (grub_serial_port_put): Likewise.
12757 (grub_serial_port_fini): Likewise.
12758 (grub_serial_find): New proto.
12759
f6276525
VS
127602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 Put symlink at the end of the node and fix a potential
12763 memory corruption.
12764
12765 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12766 Make symlink into an array.
12767 (set_rockridge): Set have_symlink and alloc_dirents.
12768 (grub_iso9660_read_symlink): Use new layout.
12769 (grub_iso9660_iterate_dir): Fix memory corruption.
12770 Use new layout.
12771 (grub_iso9660_dir): Set have_symlink.
12772 (grub_iso9660_open): Likewise.
12773
c3591189
VS
127742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 Remove local keyword.
12777
12778 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12779 (version_test_gt): Likewise.
12780 (version_find_latest): Likewise.
12781 (gettext_printf): Likewise.
12782 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12783
cb544caa
VS
127842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12787
45bd824d
VS
127882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 Fix ZFS memory and resource leaks.
12791
12792 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12793 All users updated.
12794 Free type on exit.
12795 (fill_vdev_info): New parameter inserted. All users updated.
12796 (check_pool_label): Likewise.
12797 (scan_disk): Likewise.
12798 (scan_devices): Close non-inserted disks.
12799 (fzap_iterate): Free l.
12800 (unmount_device): Free children descripto memory.
12801
ad9a2f44
VS
128022011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12805 argument (access out of bounds).
12806
6b68db81
VS
128072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12810 >= 6 drives.
12811
28840fda
VS
128122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12815 Fix declaration.
12816
8a5a3a5b
VS
128172011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 Fix several memory leaks.
12820
12821 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12822 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12823 (grub_cpio_dir): Likewise.
12824 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12825 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12826 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12827 (grub_romfs_label): Likewise.
12828 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12829 (squash_unmount): New function.
12830 (grub_squash_dir): Fix memory leak.
12831 (grub_squash_open): Likewise.
12832 (grub_squash_read): Likewise.
12833 (grub_squash_mtime): Likewise.
12834 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12835 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12836 * util/grub-fstest.c (fstest): Likewise.
12837
57b01250
VS
128382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12841 avoid accessing beyond the array.
12842
19e81ba7
VS
128432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12846
52b656c0
VS
128472011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Several AFFS fixes.
12850
12851 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12852 (GRUB_AFFS_FLAG_FFS): Removed.
12853 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12854 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12855 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12856 (grub_fshelp_node): Make block 32-bit.
12857 Add block_cache and last_block_cache.
12858 (grub_affs_read_block): Fill and use block cache.
12859 (grub_affs_read_file): Removed.
12860 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12861 boot block.
12862 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12863 safety.
12864 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12865 space.
12866 (grub_affs_close): Free block cache.
12867 (grub_affs_read): Use grub_fshelp_read_file directly.
12868
438a746a
VS
128692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12872 with no error set.
12873
49a45021
VS
128742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12877 used variable.
12878 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12879 Likewise.
12880
3ae17eb8
VS
128812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12884
12885 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12886 byteswap when needed.
12887
27610c38
VS
128882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Fix FreeBSD compilation.
12891
12892 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12893 to avoid circular dependency.
12894 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12895 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12896 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12897
4a19b601
VS
128982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12899
12900 Fix ZFS crypto error types.
12901
12902 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12903 (grub_gcm_decrypt): Likewise.
12904 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12905 from PBKDF2.
12906
958ee221
VS
129072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 Illumos support.
12910
12911 * Makefile.util.def (10_illumos): New script.
12912 * configure.ac: Set COND_HOST_ILLUMOS.
12913 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12914 Support Illumos calls.
12915 (find_partition_start) [__sun__]: Likewise.
12916 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12917 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12918 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12919 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12920 device.
12921 * util/grub-probe.c (probe) [__sun__]: Do character check.
12922 * util/grub.d/10_illumos.in: New file.
12923
cac14fb6
VS
129242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 Support escaped commas in hostdisk.
12927
12928 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12929 (find_grub_drive): Use unescape_cmp.
12930 (make_device_name): Escape commas.
12931
78e08dc3
VS
129322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12935
9f421dd1
VS
129362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12939 variable.
12940
ed64e9e2
VS
129412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Support trampoline jumps on powerpc.
12944
12945 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12946 __ia64__ path.
12947 (grub_dl_load_segments): Set mod->sz.
12948 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12949 segments.
12950 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12951 (jump): Likewise.
12952 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12953 function.
12954 (trampoline): New struct.
12955 (trampoline_template): New const.
12956 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12957 * include/grub/dl.h (grub_dl): Add sz element.
12958 [__powerpc__]: Follow __ia64__.
12959 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12960 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12961 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12962 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12963
3084ede4
VS
129642011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 ZFS crypto support.
12967
12968 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12969 * grub-core/Makefile.core.def (zfscrypt): New module.
12970 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12971 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12972 it. All users updated.
12973 (grub_zfs_decrypt): New var.
12974 (grub_zfs_load_key): Likewise.
12975 (zio_checksum_functions): Add SHA256+MAC.
12976 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12977 (zio_read): Handle encrypted blocks.
12978 (zap_verify): Remove incorrect check.
12979 (fzap_iterate): Handle non-standard fzap.
12980 (zap_iterate): Likewise.
12981 (zap_iterate_u64): New function.
12982 (dnode_get_fullpath): Load keys.
12983 * grub-core/fs/zfs/zfscrypt.c: New file.
12984 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12985 (grub_crypto_ecb_encrypt): Make input const.
12986 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12987 (grub_crypto_ecb_encrypt): Make input const.
12988 (GRUB_CIPHER_AES): New macro.
12989 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12990 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12991 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12992 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12993 prefix. All users updated.
12994 (grub_zfs_add_key): New proto.
12995 (grub_zfs_decrypt): Likewise.
12996 (grub_zfs_load_key): Likewise.
12997 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12998 * util/grub-fstest.c (options): Add -K option.
12999 (argp_parser): Likewise.
13000
b632b404
VS
130012011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 Support zle compression on ZFS.
13004
13005 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
13006 (decomp_table): Add zle.
13007 * include/grub/zfs/zio.h (zio_compress): Add zle.
13008
c7ba4f69
VS
130092011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 Support BtrFS embedding.
13012
13013 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
13014 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
13015 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
13016 * util/grub-setup.c (setup): Use fs embedding if available.
13017 Add additional sanity check.
13018
455377d9
VS
130192011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * util/grub-install.in: Fix condition for config_opt.
13022
c2fd16ca
VS
130232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 Support third redundancy strip on raidz3.
13026
13027 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
13028 Return error on singularity. All users updated.
13029 (read_device): Don't stop on 3rd failure on raidz3.
13030
8622923b
VS
130312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 Support case-insensitive ZFS subvolumes.
13034
13035 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
13036 All users updated.
13037 (zap_hash): Likewise.
13038 (name_cmp): New function.
13039 (zap_leaf_array_equal): New parameter case_insensitive.
13040 All users updated.
13041 (zap_leaf_lookup): Likewise.
13042 (fzap_lookup): Likewise.
13043 (zap_lookup): Likewise.
13044 (dnode_get_path): New parameter case_insensitive. Retrieve case
13045 sensitiviness of a volume. All users updated.
13046 (dnode_get_fullpath): New parameter case_insensitive.
13047 All users updated.
13048 (grub_zfs_dir): Set info.case_insensitiveness.
13049
95f2e860
VS
130502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 Support second redundancy strip on raidz(2,3).
13053
13054 * grub-core/fs/zfs/zfs.c (powx): New array.
13055 (powx_inv): Likewise.
13056 (poly): New const.
13057 (xor_out): New function.
13058 (gf_mul): Likewise.
13059 (recovery): Likewise.
13060 (read_device): Use second redundancy strip.
13061
11ee4389
VS
130622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 Use a power of generator representation of GF(256) multiplication group
13065 to save space time and complexity.
13066
13067 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13068 (raid6_table2): Likewise.
13069 (powx): New array.
13070 (powx_inv): Likewise.
13071 (poly): New const.
13072 (grub_raid_block_mul): Replace with ...
13073 (grub_raid_block_mulx): ...this.
13074 (grub_raid6_init_table): Rewritten.
13075 (grub_raid6_recover): Use power of generator representation.
13076
09e2763f
VS
130772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13080 for the right device.
13081
8bec9a28
VS
130822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13085 expected by grub-mkimage and it's more clear since there is no implicit
13086 padding.
13087
dbd3a32e
VS
130882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13091 disk.
13092 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13093
182c872a
PMH
130942011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13095
13096 * util/grub-mkrescue.in: Fix handling xorriso option.
13097
1e51cabd
VS
130982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13101 NULL.
13102
9cc3581d 131032011-11-03 crocket <crockabiscuit@gmail.com>
13104
13105 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13106
158dc1ea
VS
131072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 XZ CRC64 and SHA256 support.
13110
13111 * Makefile.util.def (libgrubmods): Add crc64.c.
13112 * grub-core/Makefile.core.def (crc64): New module.
13113 * grub-core/lib/crc64.c: New file.
13114 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13115 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13116 Fix the type.
13117 (MAX_HASH_SIZE): New define.
13118 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13119 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13120 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13121 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13122 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13123 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13124 Handle non-crc32 hashes.
13125 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13126 (dec_stream_header): Handle non-crc32 hashes.
13127 (dec_stream_footer): Likewise.
13128 (dec_block_header): Likewise.
13129 (dec_main): Likewise.
13130 (xz_dec_init): Likewise.
13131 (xz_dec_reset): Likewise.
13132 (xz_dec_end): Likewise.
13133 * util/import_gcry.py: Add CRC64 line.
13134
9d9b3d2f
VS
131352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13138 as well.
13139
7d0ac931
VS
131402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 Make reiserfs label retrieval similar to other *_label functions.
13143
13144 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13145 (REISERFS_MAX_LABEL_LENGTH): Removed.
13146 (REISERFS_LABEL_OFFSET): Likewise.
13147 (grub_reiserfs_label): Rewritten.
13148
131492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13152 field.
13153
cf5ba824
VS
131542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13157
17744004
VS
131582011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13161 drive failure on both raidz and raidz2.
13162
aca5aefc
VS
131632011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 Fix RAIDZ(2) for >= 5 devices.
13166
13167 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13168 asize argument. All users updated.
13169
ce8ca56e
VS
131702011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 Fix RAIDZ(2).
13173
13174 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13175 (fill_vdev_info_real): Set ashift.
13176 (read_device): Rewrite RAIDZ part based on reverse engineering.
13177
7c01e783
VS
131782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13181 don't report potentially unavialiable fields in debug output.
13182 (find_path): Fix double-free and memory leak.
13183
ce109e84
VS
131842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 Read label on UFS1.
13187
13188 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13189 (grub_ufs_fs): Always set .label.
13190
87661123
VS
131912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 Use shifts in UFS.
13194
13195 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13196 (grub_ufs_data): New field log2_blksz.
13197 (grub_ufs_read_file): Use shifts.
13198 (grub_ufs_mount): Check block size and logarithm it.
13199
46bc1dc2
VS
132002011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13203 long symlinks.
13204
19ee2987
VS
132052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 Handle symlinks and long names on tar and cpio.
13208
13209 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13210 (ATTR_FILE): Likewise.
13211 (ATTR_DIR): Likewise.
13212 (ATTR_LNK): Likewise.
13213 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13214 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13215 L and K entries.
13216 (grub_cpio_mount): Zero-fill data.
13217 (handle_symlink): New function.
46bc1dc2
VS
13218 (grub_cpio_dir): Handle symlinks.
13219 (grub_cpio_open): Likewise.
13220 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 13221
c83a08d8
VS
132222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 Fix iso9660 filename limitations and fix memory leaks.
13225
13226 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13227 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13228
45cdd3ea
VS
132292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Fix JFS file name length limitations.
13232
13233 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13234 (grub_jfs_diropen): Fix maximum filename length.
13235 (grub_jfs_getent): Fix filename length.
13236 (grub_jfs_lookup_symlink): Fix size checks.
13237
94ef05c2
VS
132382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13241 string.
13242
785ab8c7
VS
132432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13244
eb0b6b45
VS
13245 Leverage BFS implementation to read AFS.
13246
13247 * Makefile.util.def (libgrubmods): Add afs.c.
13248 * grub-core/Makefile.core.def (afs): New module
13249 * grub-core/fs/afs.c: New file.
13250 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13251
132522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 13255
c4a1628f
VS
132562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/fs/bfs.c: Run indent.
13259
5825b379
VS
132602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 BFS implementation based on the specification.
13263
13264 * grub-core/fs/bfs.c: New file.
13265 * Makefile.util.def (libgrubmods): Add bfs.c.
13266 * grub-core/Makefile.core.def (bfs): New module.
13267
42b2a706
VS
132682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * util/grub-fstest.c (cmd_cp): Clarify error message.
13271 (cmd_cmp): Likewise.
13272
61b99bfc
YB
132732011-10-30 Yves Blusseau <blusseau@zetam.org>
13274
13275 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13276 and befs_be.
13277
faba3d16
VS
132782011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 Remove afs and befs because of copyright problem.
13281
13282 * grub-core/fs/afs.c: Removed.
13283 * grub-core/fs/afs_be.c: Removed.
13284 * grub-core/fs/befs.c: Removed.
13285 * grub-core/fs/befs_be.c: Removed.
13286 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13287 * grub-core/Makefile.core.def (afs): Removed.
13288 (afs_be): Likewise.
13289 (befs): Likewise.
13290 (befs_be): Likewise.
13291
c39224b0
VS
132922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 Prefer rockridge over Joliet.
13295
13296 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13297 to ...
13298 (set_rockridge): ... here.
13299 (grub_iso9660_mount): Check rockridge on the primary label when
13300 discovering. Ignore Joliet if Rockridge is present.
13301
e551115a
VS
133022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 Use shifts in nilfs2.
13305
13306 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13307 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13308 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13309 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13310 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13311 (grub_nilfs2_entries_per_block): Replaced with ...
13312 (grub_nilfs2_log_entries_per_block_log): ... this.
13313 (grub_nilfs2_blocks_per_group): Replaced with ...
13314 (grub_nilfs2_blocks_per_group_log): ... this.
13315 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13316 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13317 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13318 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13319 (grub_nilfs2_palloc_entry_offset): Replaced ...
13320 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13321 (grub_nilfs2_dat_translate): Use shifts.
13322 (grub_nilfs2_read_inode): Likewise.
13323 (GRUB_MOD_INIT): Ensure that logs are correct.
13324
564dd58c
VS
133252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 Use shifts in minix filesystem.
13328
13329 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13330 (GRUB_MINIX_ZONE2SECT): Likewise.
13331 (grub_minix_data): Replace block_size with log_block_size.
13332 (grub_minix_read_file): Use shifts.
13333 (grub_minix_mount): Check block size and take a logarithm.
13334
ed9ba06d
VS
133352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 Use shifts in squash4.
13338
13339 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13340 (squash_mount): Check block size and take logarithm.
13341 (direct_read): Use shifts.
13342
ad03fe76
VS
133432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 Correct befs block counting logic.
13346
13347 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13348 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13349 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13350 (grub_afs_read_inode): Use block_shift.
13351 (RANGE_SHIFT): New definition.
13352 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13353 unexpected conditions, use shifts and appropriate types.
13354 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13355
6563f63d
VS
133562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/disk/raid.c (scan_devices): Check partition.
13359 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13360
5b1ae25f
VS
133612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 Support BFS (befs) UUID.
13364
13365 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13366 (grub_afs_small_data_element_header): New struct.
13367 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13368 (grub_afs_read_attribute) [MODE_BFS]: New function.
13369 (grub_afs_iterate_dir): Allocate for complete inode.
13370 (grub_afs_mount): Likewise.
13371 (grub_afs_uuid) [MODE_BFS]: New function.
13372 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13373
f8d82408
VS
133742011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13377 (zfs_unmount): Fix memory leak.
13378
5773fb64
VS
133792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 Support NTFS reparse points.
13382
13383 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13384 (symlink_descriptor): New struct.
13385 (grub_ntfs_read_symlink): New function.
13386 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13387 (grub_ntfs_open): Likewise.
13388
91c3fdde
VS
133892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13392
3be82e10
VS
133932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 fstest xnu_uuid subcommand.
13396
13397 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13398 grub-core/commands/xnu_uuid.c.
13399 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13400 (fstest): Handle xnu_uuid.
13401 (options): Document xnu_uuid.
13402 (argp_parser): Parse xnu_uuid.
13403
8e32442e
VS
134042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13407 -l argument. Add newline at the end if printing.
13408 (GRUB_MOD_INIT): Document -l.
13409
52a05075
VS
134102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13413
1869edb5
VS
134142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13415
13416 ZFS multi-device and version 33 support.
13417
13418 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13419 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13420 (grub_zfs_data): Add multidev-ice-related fields.
13421 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13422 (dva_get_offset): Make dva const.
13423 (zfs_fetch_nvlist): New function.
13424 (fill_vdev_info_real): Likewise.
13425 (fill_vdev_info): Likewise.
13426 (check_pool_label): Likewise.
13427 (scan_disk): Likewise.
13428 (scan_devices): Likewise.
13429 (read_device): Likewise.
13430 (read_dva): Likewise.
13431 (zio_read_gang): Use read_dva.
13432 (zio_read_data): Likewise.
13433 (zap_leaf_lookup): Add missing endian conversion.
13434 (zap_verify): Add missing endian conversion. All users updated.
13435 (fzap_lookup): Likewise.
13436 (fzap_iterate): Likewise.
13437 (dnode_get_path): Handle SA bonus.
13438 (nvlist_find_value): Make input const. All users updated.
13439 (unmount_device): New function.
13440 (zfs_unmount): Use unmount_device.
13441 (zfs_mount): Use scan_disk.
13442 (zfs_mtime): New function.
13443 (grub_zfs_open): Handle system attributes.
13444 (fill_fs_info): Likewise.
13445 (grub_zfs_dir): Likewise.
13446 (grub_zfs_fs): Add mtime.
13447 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13448 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13449 (SA_MTIME_OFFSET): Likewise.
13450 (SA_SYMLINK_OFFSET): Likewise.
13451 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13452 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13453 (fstest): Support zfsinfo.
13454 (argp_parser): Likewise.
13455
186b4028
VS
134562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13459 error.
13460
134612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13462
13463 ZFS fixes.
13464
13465 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13466 sharing the same block. Iterate over correct number of indices.
13467 (dnode_get_path): Handle symlinks correctly.
13468
c0584900
VS
134692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13472
67e2bd71
VS
134732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Read label on HFS+.
13476
13477 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13478 (grub_hfsplus_btree_search): Fix types.
13479 (grub_hfsplus_label): Implement.
13480
e9cc6b7b
VS
134812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13484
19832ddb
VS
134852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13488
66b40850
VS
134892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Fix symlink handling on iso9660.
13492
13493 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13494 All users updated.
13495 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13496 (grub_iso9660_read_symlink): Moved most of code ...
13497 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13498
db821363
VS
134992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13502 Use union to avoid breaking strict-aliasing rules.
13503
e1211949
VS
135042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 Support multi-extent iso files.
13507
13508 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13509 Add node.
13510 (grub_fshelp_node): Revamp. All users updated.
13511 (FLAG_*): New enum.
13512 (read_node): New function.
13513 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13514 All users updated.
13515 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13516 (get_node_size): New function.
13517 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13518 entries.
13519 Fix memory leak on . and ..
13520 (grub_iso9660_read): Use read_node.
13521 (grub_iso9660_close): Free node.
13522
d4888031
VS
135232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 Fix tar 4G limit and handle paths containing dot.
13526
13527 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13528 (canonicalize): New function.
13529 (grub_cpio_find_file): Use canonicalize. Store offs in
13530 grub_disk_addr_t.
13531 (grub_cpio_dir): Use grub_disk_addr_t.
13532 (grub_cpio_open): Likewise.
13533
9f12e664
VS
135342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13537
13538 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13539 unused flags.
13540 (grub_squash_inode): Add long_file and block_size.
13541 (grub_squash_cache_inode): New struct.
13542 (grub_squash_dirent): Make types into enum.
13543 (SQUASH_TYPE_LONG_REGULAR): New type.
13544 (grub_squash_frag_desc): Add field size.
13545 (SQUASH_BLOCK_FLAGS): New enum.
13546 (grub_squash_data): Use grub_squash_cache_inode.
13547 (grub_fshelp_node): Make ino_chunk 64-bit.
13548 (read_chunk): Minor argument change. All users updated.
13549 (squash_mount): Use correct le_to_cpu.
13550 (grub_squash_open): Handle LONG_REGULAR.
13551 (direct_read): New function.
13552 (grub_squash_read_data): Handle blocks correctly.
13553
9f326fba
VS
135542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13557
f4d9b64b
VS
135582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13561
5bbd28b8
VS
135622011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 Fix 2G limit on ZFS.
13565
13566 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13567 types.
13568 (uberblock_verify): Likewise.
13569 (dmu_read): Likewise.
13570 (grub_zfs_read): Likewise. Remove invalid cast.
13571
68c72069
VS
135722011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13575 (grub_jfs_blkno): Fix incorrect shift.
13576 (grub_jfs_read_file): Use more appropriate types.
13577
6e536dc8
VS
135782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Support triple indirect on minix2 and minix3.
13581
13582 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13583 Declare triple_indir_zone.
13584 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13585 indirect.
13586
e0864e7a
VS
135872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 Minix FS fixes.
13590
13591 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13592 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13593 Rename ctime to mtime. All users updated.
13594 (grub_minix_get_file_block): Fix types and double indirect computations.
13595
89481cab
VS
135962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13599 if no label is found.
13600 (grub_fat_iterate_dir): Fix file size type.
13601 (grub_fat_iterate_dir): Likewise.
13602
f646e143
VS
136032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13606 save some space.
13607 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13608 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13609
534d769e
VS
136102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13613
e084ba18
VS
136142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * util/import_gcry.py: Accept space between # and include.
13617
3471ecdf
VS
136182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13621
124df5f6
VS
136222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13625
13626 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13627 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13628 yylex_strncpy.
13629 * grub-core/script/yylex.l: Add fine-grained #pragma.
13630
4defb8d5
VS
136312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13634 New inline function.
13635 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13636 Likewise.
13637 (memset) [GRUB_UTIL]: Likewise.
13638 (memcmp) [GRUB_UTIL]: Likewise.
13639
4e94ae65
VS
136402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13643 inline function rather than a define.
13644
18c575e5
VS
136452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * util/grub-setup.c: Add missing include.
13648
f8bc22a8
VS
136492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * util/ieee1275/grub-ofpathname.c: Add missing include.
13652
3ce69fc9
VS
136532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13656 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13657 Likewise.
13658
d1e293bb
VS
136592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13662 grub_memcmp usage.
13663
7a5c54a4
VS
136642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * util/grub-install.in: Add datarootdir as per automake manual
13667 suggestion.
13668 * util/grub-mknetdir.in: Likewise.
13669
136702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13671
13672 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13673 suggestion.
13674 * util/grub.d/10_kfreebsd.in: Likewise.
13675 * util/grub.d/10_linux.in: Likewise.
13676 * util/grub.d/10_netbsd.in: Likewise.
13677 * util/grub.d/10_windows.in: Likewise.
13678 * util/grub.d/20_linux_xen.in: Likewise.
13679
766f7d08
VS
136802011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 Remove redundant grub_kernel_image_size.
13683
13684 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13685 _edata and _start.
13686 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13687 the small code. It moves it only by few bytes but simplifies the code.
13688 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13689 _start.
13690 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13691 (grub_kernel_image_size): Removed.
13692 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13693 (grub_kernel_image_size): Removed.
13694 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13695 compiled with Apple toolchain.
13696 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13697 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13698 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13699 (grub_total_module_size): Likewise.
13700 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13701 Removed.
13702 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13703 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13704 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13705 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13706 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13707 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13708 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13709 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13710 Removed.
13711 (grub_total_module_size): Removed.
13712 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13713 (image_targets): Likewise.
13714 Set .compressed_size to no field on sparc.
13715 (generate_image): Remove kernel_image_size handling.
13716
fcf1d672
SJ
137172011-10-19 Szymon Janc <szymon@janc.net.pl>
13718
13719 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13720 NULL pointer dereference.
13721
de9c615e
VS
137222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13725 done with a dedicated section.
13726
13727 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13728 Ensure the correct position of boot_path.
13729 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13730 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13731 other fields.
13732 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13733 * include/grub/boot.h: Removed. All references removed.
13734 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13735 Removed.
13736 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13737
e55599dc
VS
137382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13741 name.
13742
36dd20ad
VS
137432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13746
f8f72eb8
VS
137472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13750 Don't add the bogus brackets.
13751
a374751b
VS
137522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 ExFAT support.
13755
13756 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13757 * grub-core/Makefile.core.def (exfat): New module.
13758 * grub-core/fs/exfat.c: New file.
13759 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13760 (GRUB_FAT_ATTR_*): Make into an enum.
13761 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13762 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13763 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13764 (GRUB_FAT_MAXFILE): Removed.
13765 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13766 (grub_current_fat_bpb_t): New type.
13767 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13768 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13769 (grub_fat_dir_node_t): New type.
13770 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13771 (fat_log2) [MODE_EXFAT]: Removed.
13772 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13773 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13774 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13775 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13776 (grub_fat_label) [MODE_EXFAT]: New function.
13777 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13778 reserved_first_sector to 0.
13779
544c2487
VS
137802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 Move grub_reboot out of the kernel.
13783
13784 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13785 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13786 * grub-core/lib/efi/reboot.c: ... here.
13787 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13788 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13789 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13790 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13791 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13792 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13793 * grub-core/lib/ieee1275/reboot.c: ... here.
13794 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13795 * grub-core/lib/mips/arc/reboot.c: ... here.
13796 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13797 * grub-core/lib/mips/loongson/reboot.c: ...here.
13798 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13799 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13800 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13801 * include/grub/i386/reboot.h: New file.
13802 * include/grub/mips/loongson/ec.h: Fix includes.
13803 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13804 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13805 * grub-core/lib/i386/reboot.c: New file.
13806
a97501d2
VS
138072011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 Make grub_prefix into module to fix the arbitrary limit and save
13810 some space.
13811
13812 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13813 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13814 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13815 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13816 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13817 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13818 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13819 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13820 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13821 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13822 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13823 * include/grub/ia64/efi/kernel.h: Removed.
13824 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13825 (grub_prefix): Removed.
13826 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13827 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13828 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13829 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13830 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13831 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13832 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13833 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13834 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13835 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13836 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13837 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13838 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13839 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13840 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13841 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13842 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13843 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13844 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13845 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13846 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13847 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13848 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13849 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13850 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13851 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13852 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13853 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13854 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13855 from module.
13856 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13857 prefix_end.
13858 (image_targets): Likewise.
13859 (generate_image): Put prefix as a module.
13860
39705fad
VS
138612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 Replace grub_module_iterate with FOR_MODULES.
13864
13865 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13866 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13867 (grub_efi_modules_addr): ...this.
13868 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13869 (grub_efi_init): Set grub_modbase.
13870 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13871 (grub_modbase): New variable.
13872 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13873 (grub_modbase): New variable.
13874 (grub_machine_init): Set grub_modbase.
13875 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13876 (grub_modbase): New variable.
13877 (grub_machine_init): Set grub_modbase.
13878 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13879 (grub_modbase): New variable.
13880 (grub_machine_init): Set grub_modbase.
13881 * grub-core/kern/main.c (grub_module_iterate): Remove.
13882 (grub_modules_get_end): Use grub_modbase.
13883 (grub_load_modules): Use FOR_MODULES.
13884 (grub_load_config): Likewise.
13885 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13886 (grub_modbase): New variable.
13887 (grub_machine_init): Set grub_modbase.
13888 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13889 (grub_modbase): New variable.
13890 (grub_machine_init): Set grub_modbase.
13891 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13892 Removed.
13893 (grub_modbase): New variable.
13894 (grub_machine_init): Set grub_modbase.
13895 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13896 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13897 (grub_module_iterate): Likewise.
13898 (grub_modbase): New variable declaration.
13899 (FOR_MODULES): New macro.
13900
2afb7f6c
VS
139012011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13904 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13905
366e34fa
VS
139062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 Fix few obvious type discrepancies.
13909
13910 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13911 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13912 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13913 variable.
13914 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13915 and connected types.
13916 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13917 offset.
13918 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13919 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13920 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13921 and connected types.
13922
177b960e
VS
139232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 Fix python 3.x incompatibilities.
13926
13927 * gentpl.py: Put brackets around print strings.
13928 * util/import_gcry.py: Open explicitly as utf-8.
13929 Use in instead of has_key.
13930
3b619ae1
VS
139312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13934 (GRUB_XFS_INO_AGBITS): Make into inline function.
13935 (GRUB_XFS_INO_INOINAG): Likewise.
13936 (GRUB_XFS_INO_AG): Likewise.
13937 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13938 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13939 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13940 (GRUB_XFS_EXTENT_SIZE): Likewise.
13941 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13942 (GRUB_XFS_NEXT_DIRENT): Likewise.
13943 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13944 (grub_xfs_read_file): Fix offset type.
13945
8bcebcb8
RM
139462011-10-15 Robert Millan <rmh@gnu.org>
13947
13948 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13949
0017e5ef
RM
139502011-10-15 Robert Millan <rmh@gnu.org>
13951
13952 Fix build problem on FreeBSD and GNU/kFreeBSD.
13953
13954 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13955
d8919552
VS
139562011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13959
13960 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13961 types.
13962 (grub_hfsplus_btree_recoffset): Likewise.
13963 (grub_hfsplus_btree_recptr): Likewise.
13964 (grub_hfsplus_find_block): Likewise.
13965 (grub_hfsplus_btree_search): Likewise.
13966 (grub_hfsplus_read_block): Likewise.
13967 (grub_hfsplus_read_file): Likewise.
13968 (grub_hfsplus_mount): Likewise.
13969 (grub_hfsplus_btree_iterate_node): Likewise.
13970 (grub_hfsplus_btree_search): Likewise.
13971 (grub_hfsplus_iterate_dir): Likewise.
13972 (grub_hfsplus_read): A small code simplification.
13973
c81296b6
VS
139742011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/kern/emu/hostdisk.c
13977 (convert_system_partition_to_system_disk): Don't assume that children
13978 of mapper nodes are mapper nodes.
13979
0eb8ffb1
VS
139802011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13983 * include/grub/misc.h (grub_isxdigit): New function.
13984 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13985 switched to grub_isxdigit.
13986 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13987 number starting with a letter.
13988
a98f4a08
RM
139892011-10-09 Robert Millan <rmh@gnu.org>
13990
13991 LVM support for FreeBSD and GNU/kFreeBSD.
13992
13993 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13994 GNU/kFreeBSD.
13995 (LVM_DEV_MAPPER_STRING): Move from here ...
13996 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13997 * util/getroot.c: Include `<grub/util/lvm.h>'.
13998 (grub_util_get_dev_abstraction): Enable
13999 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
14000 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
14001 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
14002 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
14003 support it.
14004 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
14005 GNU/kFreeBSD.
14006 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
14007 when LVM abstraction is required for ${GRUB_DEVICE}.
14008
050e8e90
SJ
140092011-10-06 Szymon Janc <szymon@janc.net.pl>
14010
14011 Add support for LZO compression in GRUB:
14012 - import of minilzo library,
14013 - LZO decompression for btrfs,
14014 - lzop files decompression.
14015
14016 * grub-core/io/lzopio.c: New file.
14017 * grub-core/lib/adler32.c: Likewise.
14018 * grub-core/lib/minilzo/lzoconf.h: Likewise.
14019 * grub-core/lib/minilzo/lzodefs.h: Likewise.
14020 * grub-core/lib/minilzo/minilzo.c: Likewise.
14021 * grub-core/lib/minilzo/minilzo.h: Likewise.
14022 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
14023 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
14024 grub-core/lib/minilzo/minilzo.c to common.
14025 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
14026 cflags in cppflags.
14027 * grub-core/Makefile.core.def (btrfs): Likewise.
14028 * grub-core/Makefile.core.def (lzopio): New module.
14029 (adler32): Likewise.
14030 * grub-core/fs/btrfs.c: Include minilzo.h.
14031 (GRUB_BTRFS_COMPRESSION_LZO): New define.
14032 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
14033 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
14034 (grub_btrfs_lzo_decompress): New function.
14035 (grub_btrfs_extent_read): Add support for LZO compression type.
14036 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
14037 (GRUB_USHRT_MAX): Likewise.
14038 (GRUB_UINT_MAX): Likewise.
14039 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
14040 (UINT_MAX): Likewise.
14041 (CHAR_BIT): Likewise.
14042 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
14043 grub-core/lib/posix_wrap/limits.h
14044 (UCHAR_MAX): Likewise.
14045 * include/grub/file.h (grub_file_filter_id): New compression filter
14046 GRUB_FILE_FILTER_LZOPIO.
14047 * include/grub/file.h (grub_file_filter_id): Set
14048 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
14049 * include/grub/types.h (grub_get_unaligned16): New function.
14050 (grub_get_unaligned32): Likewise.
14051 (grub_get_unaligned64): Likewise.
14052 * util/import_gcry.py (cryptolist): Add adler32.
14053
0eb8ffb1
VS
140542011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
14057 in perspective decreases the complexity of build system and fixes
14058 compilation right now.
14059
ce79cc99 140602011-10-01 Ales Nesrsta <starous@volny.cz>
14061
14062 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14063 (fixed problem related to using UHCI with coreboot).
14064
8667a314
BC
140652011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14066
14067 * gentpl.py: Use Autogen macros so that the output template file
14068 (Makefile.tpl) size is reduced.
14069
fc5efcc0
MK
140702011-09-29 Mads Kiilerich <mads@kiilerich.com>
14071
14072 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14073 extra_dist.
14074
d1ab689d
ML
140752011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14076
14077 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14078 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14079
c05de032
ML
140802011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14081
14082 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14083 _fullpath.
14084
cca7ccd8
ML
140852011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14086
14087 Remove extra declaration of sleep for mingw32.
14088
14089 * util/misc.c (sleep) [__MINGW32__]: Removed.
14090 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14091
e0b0dc83
GS
140922011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14093
14094 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14095 type and packname.
14096 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14097 Resurrected.
14098 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14099 (grub_netbsd_btinfo_bootwedge): New struct.
14100 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14101 New function.
14102 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14103
91a1a164
TH
141042011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14105
14106 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14107 loader.
14108
2ded951e
AB
141092011-09-28 Andreas Born <futur.andy@googlemail.com>
14110
14111 Fix incorrect identifiers in bash-completion.
14112
14113 * util/bash-completion.d/grub-completion.bash.in
14114 (_grub_mkpasswd-pbkdf2): Rename to ...
14115 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14116 (_grub_script-check): Rename to ...
14117 (_grub_script_check): ... this. All users updated.
14118
69915030
VS
141192011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14122 Return 0 if disk isn't biosdisk.
14123
20fd15f9
GS
141242011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14125
14126 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14127 on NetBSD.
14128 * Makefile.util.def (grub-fstest): Likewise.
14129
1a7d7db9
GS
141302011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14131
14132 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14133 Get sector size from disk label.
14134
2221ab6c
CW
141352011-09-05 Colin Watson <cjwatson@ubuntu.com>
14136
14137 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14138 */README* as well as README*.
14139 Reported by: Axel Beckert.
14140
ca51c4a0
VS
141412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14144 case of less than 256 MiB of RAM.
14145
ab80f326
VS
141462011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * grub-core/commands/wildcard.c (make_regex): Handle @.
14149
4155e697
VS
141502011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14153
ab178c08
SJ
141542011-08-21 Szymon Janc <szymon@janc.net.pl>
14155
14156 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14157 AC_LANG_CONFTEST macros.
14158
7dc3c686
SJ
141592011-08-20 Szymon Janc <szymon@janc.net.pl>
14160
14161 Add grub-fstest option to uncompress data for commands.
14162
14163 * util/grub-fstest.c (uncompress): New var.
14164 (options): New option -u.
14165
fe8d4a7b
SJ
141662011-08-20 Szymon Janc <szymon@janc.net.pl>
14167
14168 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14169 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14170
a5219af1
SJ
141712011-08-20 Szymon Janc <szymon@janc.net.pl>
14172
14173 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14174 file type was not recognized correctly (not gzip or corrupted).
14175
f87abff5
VS
141762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14179 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14180
d94497ea
VS
141812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14184 loongson.
14185 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14186 video_radeon_fuloong2e.
14187 * grub-core/video/radeon_fuloong2e.c: New file.
14188 * include/grub/video.h (grub_video_id_t): Add new ID
14189 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14190
0d1fd011
VS
141912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14194 define.
14195 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14196 that PRID matches the detected subplatform and reset the subplatform
14197 if it doesn't.
14198
84beb0ee
VS
141992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14202
1227c133
VS
142032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 Fix PCI iterating on functions >= 4.
14206
14207 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14208 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14209 Removed.
14210 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14211 (grub_pci_read): Fix bitmask.
14212 (grub_pci_read_word): Likewise.
14213 (grub_pci_read_byte): Likewise.
14214 (grub_pci_write): Likewise.
14215 (grub_pci_write_word): Likewise.
14216 (grub_pci_write_byte): Likewise.
14217
9594c689
VS
142182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14221 can still be specified in TARGET_CFLAGS)
14222
14a2562c
VS
142232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14226
14227 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14228 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14229 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14230 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14231 (FULOONG): Rename to ...
14232 (FULOONG2F): ... this. All users updated.
14233 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14234 (machtype_fuloong2f_str): ... this.
14235 (machtype_fuloong2e_str): New string.
14236 Check for machtype_fuloong2e_str.
14237 * grub-core/loader/mips/linux.c (loongson_machtypes)
14238 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14239 * grub-core/term/serial.c (loongson_defserial)
14240 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14241 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14242 loongson_defserial.
14243 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14244 Rename to ...
14245 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14246 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14247 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14248 to IMAGE_FULOONG2F_FLASH. All users updated.
14249 (image_targets): Rename images.
14250 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14251
b526cbb6
SJ
142522011-08-19 Szymon Janc <szymon@janc.net.pl>
14253
14254 Make enable of disk cache statistics code configurable.
14255
14256 * configure.ac: --enable-cache-stats added.
14257 * config.h.in (DISK_CACHE_STATS): New define.
14258 * grub-core/Makefile.core.def (cacheinfo): New command.
14259 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14260 * grub-core/commands/cacheinfo.c: New file.
14261 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14262 moved to cacheinfo.c.
14263 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14264 debug code.
14265 * include/grub/disk.h: Likewise.
14266
fb739ccd
SJ
142672011-08-19 Szymon Janc <szymon@janc.net.pl>
14268
14269 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14270 * grub-core/Makefile.am: Likewise.
14271
2bba8cfd
VS
142722011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14275 non-zero pull.
14276
43526629
VS
142772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14280 All users updated.
14281 (grub_jfs_lookup_symlink): Use correct starting inode.
14282
5c144cc8
VS
142832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * util/grub-setup.c (main): Add missing gcry initialisation.
14286
b1257f65
VS
142872011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Don't accept text modes on EFI when booting Linux.
14290
14291 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14292 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14293
828bc390
ML
142942011-08-15 Mario Limonciello <mario_limonciello@dell.com>
142952011-08-15 Colin Watson <cjwatson@ubuntu.com>
14296
14297 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14298 use of "/path/.." as in grub-install for EFI as well as handling
14299 symlinks correctly.
14300 Fixes Debian bug #637768.
14301
5f60ccac
CW
143022011-08-15 Colin Watson <cjwatson@ubuntu.com>
14303
14304 * util/grub-probe.c: Remove duplicate #include.
14305
6dc212f9
RM
143062011-08-10 Robert Millan <rmh@gnu.org>
14307
14308 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14309
14310 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14311 function.
14312 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14313 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14314
66816d85
RM
143152011-08-03 Robert Millan <rmh@gnu.org>
14316
14317 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14318 la_array as packed.
14319 Reported by: Zachary Bedell
14320
20168fca
CW
143212011-07-26 Colin Watson <cjwatson@ubuntu.com>
14322
14323 * configure.ac: The Loongson port requires grub-mkfont due to its
14324 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14325 be built.
14326
303b6246
CW
143272011-07-26 Colin Watson <cjwatson@ubuntu.com>
14328
14329 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14330 processing arguments (otherwise help2man fails when GRUB has not yet
14331 been installed).
14332
6795300e
VS
143332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14334
41aa28ea
VS
14335 New script grub-mkstandalone.
14336
14337 * Makefile.util.def (grub-mkstandalone): New script.
14338 * docs/man/grub-mkstandalone.h2m: New file.
14339 * util/grub-mkstandalone.in: Likewise.
14340
143412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 Support ATA disks with 4K sectors.
6795300e
VS
14344
14345 * include/grub/ata.h (grub_ata): New member log_sector_size.
14346 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14347 (grub_ata_identify): Read sector size.
14348 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14349
92227597
VS
143502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * util/grub-install.in: Don't use uhci outside of x86.
14353
c77069f5
VS
143542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * util/grub-mkrescue.in: Add missing quotes.
14357
143582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
14359
14360 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14361 dereference.
14362
583168a2
VS
143632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14366
6be1c01f
VS
143672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 * include/grub/video.h: add missing EXPORT_FUND on
14370 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14371
a1167439
VS
143722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * include/grub/mips/kernel.h: Fix define conflict.
14375
bf66054f
VS
143762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14379 all four ways.
14380
8fc4fa45
CW
143812011-07-21 Colin Watson <cjwatson@ubuntu.com>
14382
14383 Preferred resolution detection for VBE.
14384
14385 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14386 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14387 the Flat Panel extension, in line with the X.org VESA driver.
14388 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14389 New function.
14390 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14391 (grub_vbe_bios_read_edid): Likewise.
14392 (grub_vbe_get_preferred_mode): Likewise.
14393 (grub_video_vbe_setup): When the mode is "auto", try to get the
14394 preferred mode from VBE, and use the largest mode that is no larger
14395 than the preferred mode (some BIOSes expose a preferred mode that is
14396 not in their mode list!). If this fails, fall back to 640x480 as a
14397 safe conservative choice.
14398 (grub_video_vbe_get_edid): New function.
14399 (grub_video_vbe_adapter): Add get_edid.
14400 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14401 (struct grub_video_adapter): Add get_edid.
14402 (grub_video_edid_checksum): Add prototype.
14403 (grub_video_edid_preferred_mode): Likewise.
14404 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14405 structure.
14406
14407 * grub-core/commands/videoinfo.c (print_edid): New function.
14408 (grub_cmd_videoinfo): Print EDID if available.
14409
14410 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14411 is more appropriate on a wider range of platforms than 640x480.
14412 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14413 documentation.
14414
ca5572a9
VS
144152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14418
e4bcf625
VS
144192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * po/POTFILES.in: Regenerate.
14422
c4edd548
VS
144232011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14426 incorrect memory usage.
14427
16a2bab0
VS
144282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * util/grub-install.in: Source grub-mkconfig_lib.
14431
2e418de6
VS
144322011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 Remove getroot.c from core on emu platform.
14435
14436 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14437 kern/emu/raid.c.
14438 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14439 useless.
14440 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14441 * util/getroot.c (get_win32_path): ... here.
14442 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14443 * util/getroot.c (fini_libzfs): ... here.
14444 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14445 * util/getroot.c (grub_get_libzfs_handle): ... here.
14446 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14447 Moved from here...
14448 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14449 * grub-core/kern/emu/misc.c
14450 (grub_make_system_path_relative_to_its_root): Moved from here...
14451 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14452 * grub-core/kern/emu/getroot.c: Moved from here ...
14453 * util/getroot.c: ... here. All users updated.
14454 * grub-core/kern/emu/raid.c: Moved from here ...
14455 * util/raid.c: ... here. All users updated.
14456
def9832a
VS
144572011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * po/POTFILES.in: Regenerate.
14460
cd8fe79a
VS
144612011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 Fix compilation on GNU/Linux.
14464
14465 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14466 Disable geli.
14467 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14468 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14469 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14470
a251b719
VS
144712011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
144722011-07-07 Michael Gorven <michael@gorven.za.net>
144732011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14474
14475 LUKS and GELI support.
14476
14477 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14478 grub-core/disk/luks.c, grub-core/disk/geli.c,
14479 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14480 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14481 grub-core/lib/arg.c.
14482 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14483 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14484 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14485 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14486 (grub-bin2h): Add libgcry.a.
14487 (grub-mkimage): Likewise.
14488 (grub-mkrelpath): Likewise.
14489 (grub-script-check): Likewise.
14490 (grub-editenv): Likewise.
14491 (grub-mkpasswd-pbkdf2): Likewise.
14492 (grub-pe2elf): Likewise.
14493 (grub-fstest): Likewise.
14494 (grub-mkfont): Likewise.
14495 (grub-mkdevicemap): Likewise.
14496 (grub-probe): Likewise.
14497 (grub-ofpath): Likewise.
14498 (grub-mklayout): Likewise.
14499 (example_unit_test): Likewise.
14500 (grub-menulst2cfg): Likewise.
14501 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14502 * grub-core/Makefile.core.def (cryptodisk): New module.
14503 (luks): Likewise.
14504 (geli): Likewise.
14505 * grub-core/disk/AFSplitter.c: New file.
14506 * grub-core/disk/cryptodisk.c: Likewise.
14507 * grub-core/disk/geli.c: Likewise.
14508 * grub-core/disk/luks.c: Likewise.
14509 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14510 grub_util_is_lvm.
14511 (grub_util_get_dm_abstraction): New function.
14512 (grub_util_follow_gpart_up): Likewise.
14513 (grub_util_get_geom_abstraction): Likewise.
14514 (grub_util_get_dev_abstraction): Use new functions.
14515 (grub_util_pull_device): Pull GELI and LUKS.
14516 (grub_util_get_grub_dev): Handle LUKS and GELI.
14517 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14518 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14519 (follow_geom_up): Removed.
14520 (grub_util_fd_seek): New function.
14521 (open_device): Use grub_util_fd_seek.
14522 (nread): Rename to ..
14523 (grub_util_fd_read): ... this. All users updated.
14524 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14525 (grub_crypto_cbc_decrypt): Likewise.
14526 (grub_crypto_hmac_write): Likewise.
14527 (grub_crypto_hmac_buffer): Likewise.
14528 (grub_password_get): Extend to util.
14529 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14530 New member modname.
14531 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14532 * include/grub/cryptodisk.h: New file.
14533 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14534 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14535 LUKS and GELI.
14536 (grub_util_follow_gpart_up): New proto.
14537 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14538 (grub_util_fd_read): Likewise.
14539 (grub_cryptodisk_cheat_mount): Likewise.
14540 (grub_util_cryptodisk_print_uuid): Likewise.
14541 (grub_util_get_fd_sectors): Likewise.
14542 * util/grub-fstest.c (mount_crypt): New var.
14543 (fstest): Mount crypto if requested.
14544 (options): New option -C.
14545 (argp_parser): Parse -C.
14546 (main): Init and fini gcry.
14547 * util/grub-install.in: Support cryptodisk install.
14548 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14549 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14550 cryptodisk.
14551 (prepare_grub_to_access_device): Likewise.
14552 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14553 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14554 (probe_cryptodisk_uuid): New function.
14555 (probe_abstraction): Likewise.
14556 (probe): Use new functions.
14557 * util/import_gcry.py: Create Makefile.utilgcry.def.
14558 Add modname member.
14559
9bfdcbbc
VS
145602011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 Lazy device scanning.
14563
14564 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14565 (grub-setup): Remove util/raid.c.
14566 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14567 * grub-core/disk/lvm.c (scan_depth): New variable.
14568 (grub_lvm_iterate): Rescan if necessary.
14569 (find_lv): New function based on grub_lvm_open.
14570 (grub_lvm_open): Use find_lv. Rescan on error.
14571 (is_node_readable): New function.
14572 (is_lv_readable): Likewise.
14573 (grub_lvm_scan_device): Skip already found disks.
14574 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14575 Stop if searched device is found and readable.
14576 * grub-core/disk/raid.c (inscnt): New variable.
14577 (scan_depth): Likewise.
14578 (scan_devices): New function based on grub_raid_register. Abort if
14579 looked for device is found.
14580 (grub_raid_iterate): Rescan if needed.
14581 (find_array): NEw function based on -grub_raid_open.
14582 (grub_raid_open): Use find_array and rescan.
14583 (insert_array): Set became_readable_at.
14584 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14585 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14586 New function.
14587 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14588 (grub_util_pull_device): New function.
14589 (grub_util_get_grub_dev): Call grub_util_pull_device.
14590 * util/raid.c: Moved to ..
14591 * grub-core/kern/emu/raid.c: ... here.
14592 (grub_util_raid_getmembers): New parameter "bootable".
14593 All users updated. Support 1.x.
14594 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14595 All users updated.
14596 * include/grub/disk.h (grub_disk_pull_t): New enum.
14597 (grub_disk_dev): Change iterate prototype.
14598 All users updated.
14599 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14600 New proto.
14601 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14602 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14603 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14604 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14605 All users updated.
14606 * include/grub/util/raid.h: Removed.
14607
1c358e59
VS
146082011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 * po/POTFILES.in: Regenerate.
14611
abee94ed
VS
146122011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 Unify sparc init with other ieee1275.
14615
14616 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14617 instead of kern/sparc64/ieee1275/init.c.
14618 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14619 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14620 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14621 grub/machine/kernel.h.
14622 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14623 (grub_claim_heap) [__sparc__]: Use sparc version.
14624 (grub_machine_init): Moved args parsing to
14625 (grub_parse_cmdline): ...this.
14626 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14627 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14628 New definition.
14629 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14630
14631 Move BOOTP to separate file.
14632
14633 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14634 * grub-core/net/net.c: Move all BOOTP functions to
14635 * grub-core/net/bootp.c: ... here.
14636
14637 Use frame interface on PXE.
14638
14639 * grub-core/Makefile.core.def (pxecmd): Removed.
14640 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14641 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14642 * grub-core/i386/pc/pxe.c: Moved from here ...
14643 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14644 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14645 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14646
14647 EFI network support.
14648
14649 * grub-core/Makefile.core.def (efinet): New module.
14650 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14651 here...
14652 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14653 All users updated.
14654 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14655 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14656 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14657 * grub-core/net/drivers/efi/efinet.c: New file.
14658 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14659 (grub_efi_net_config): New extern var.
14660
14661 Various cleanups and bugfixes.
14662
14663 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14664 error.
14665 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14666 disk declared as partition.
14667 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14668 leak on failure.
14669 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14670 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14671 (grub_debug_zalloc): Likewise.
14672 (grub_debug_realloc): Likewise.
14673 (grub_debug_memalign): Likewise.
14674 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14675 Check that target is IPv4.
14676 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14677 local-mac-address as fallback.
14678 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14679 memory leak.
14680 * grub-core/net/ip.c (ipchksum): Rename to ...
14681 (grub_net_ip_chksum): ... this. All users updated.
14682 (grub_net_recv_ip_packets): Special handling for DHCP.
14683 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14684
14685 Unify prefix handling
14686
14687 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14688 (grub_machine_get_bootlocation): ... this.
14689 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14690 (grub_machine_get_bootlocation): ... this.
14691 (grub_prefix): New variable.
14692 (prefix): Removed.
14693 (root_dev): New variable.
14694 (dir): Likewise.
14695 (main): Use new variables.
14696 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14697 Revamped into ...
14698 (grub_machine_get_bootlocation): ... this.
14699 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14700 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14701 (grub_machine_get_bootlocation): ... this.
14702 (grub_machine_set_prefix): Removed.
14703 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14704 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14705 Revamped into ...
14706 (grub_machine_get_bootlocation): ... this.
14707 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14708 (grub_set_prefix_and_root): ... this. All users updated.
14709 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14710 Revamped into ...
14711 (grub_machine_get_bootlocation): ... this.
14712 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14713 (grub_machine_get_bootlocation): New proto.
14714 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14715
14716 Less intrusive and more reliable seek on network implementation.
14717
14718 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14719 (grub_file_seek): Don't call grub_file_net_seek.
14720 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14721 (grub_net_fs_read_real): .. this.
14722 (grub_net_seek_real): Use net->offset.
14723 (grub_net_fs_read): Seek if necessary.
14724
14725 Unify IEEE1275 netwotk config with the other platforms.
14726
14727 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14728 New variable.
14729 (grub_machine_get_bootlocation): Support network.
14730 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14731 Support type and device parsing.
14732 (grub_ieee1275_get_device_type): New function.
14733 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14734 into ...
14735 (grub_ieee1275_net_config_real): ... this.
14736 (grub_ofnet_probecards): Removed.
14737 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14738 * include/grub/ieee1275/ofnet.h: Removed.
14739 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14740 extern var.
14741 (grub_ieee1275_get_device_type): New function.
14742
14743 Unify network device closing across platforms and make more robust.
14744
14745 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14746 grub_grubnet_fini.
14747 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14748 already.
14749 * grub-core/net/net.c (grub_net_network_level_interface_register):
14750 Update num_ifaces.
14751 (grub_net_card_unregister): Close all interfaces.
14752 (receive_packets): Don't poll if no iterfaces are registered.
14753 Open if necessary.
14754 (grub_net_fini_hw): New function.
14755 (grub_net_restore_hw): Likewise.
14756 (fini_hnd): New variable.
14757 (GRUB_MOD_INIT): Register preboot hook.
14758 (GRUB_MOD_FINI): Run and unregister preboot hook.
14759
14760 Poll network cards when idle.
14761
14762 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14763 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14764 * grub-core/net/net.c (receive_packets): Save last poll time.
14765 (grub_net_poll_cards_idle_real): New function.
14766 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14767 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14768 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14769
14770 Rename ofnet interfaces.
14771
14772 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14773 (grub_ofnet_findcards): Use ofnet_%s names.
14774
14775 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14776
14777 Cleanup socket opening.
14778
14779 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14780 (grub_net_fs_close): Likewise.
14781 (grub_net_fs_read_real): Use eof member.
14782 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14783 (+grub_net_udp_close): New inline function.
14784
14785 * include/grub/net/tftp.h: Moved to the top of ...
14786 * grub-core/net/tftp.c: ... here.
14787 * include/grub/net/ip.h: Moved mostly to the top of ...
14788 * grub-core/net/ip.c: ... here.
14789 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14790 * grub-core/net/ethernet.c: ... here.
14791
14792 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14793
14794 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14795 FS name.
14796
14797 * include/grub/net/ip.h (ipv4_ini): Removed.
14798 (ipv4_fini): Likewise.
14799
14800 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14801 (grub_net_send_ip_packets): Likewise.
14802
cf1337aa
VS
148032011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14806 grub_read_cmos prototype.
14807
93c06ff9
VS
148082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 VGA text support in qemu-mips
14811
14812 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14813 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14814 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14815 text.
14816 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14817 * grub-core/kern/vga_init.c: ... this.
14818 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14819 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14820 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14821 Adjust.
14822 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14823 GRUB_MACHINE_PCI_IO_BASE.
14824
748ccabe
VS
148252011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 MIPS qemu flash support.
14828
14829 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14830 magic.
14831 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14832 (grub_machine_init): Probe memory if its size isn't known.
14833 * util/grub-mkimage.c (image_targets): Add flash targets.
14834 (generate_image): Handle flash targets.
14835
d7345994
VS
148362011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 MIPS qemu at_keyboard support.
14839
14840 * gentpl.py (videoinkernel): Add qemu-mips.
14841 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14842 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14843 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14844 modules.
14845 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14846 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14847 * grub-core/term/serial.c (grub_serial_register)
14848 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14849
a07a81b3
VS
148502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 CMOS support on sparc.
14853
14854 * gentpl.py (cmos): Add powerpc and sparc.
14855 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14856 powerpc and sparc.
14857 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14858 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14859 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14860 grub_set_datetime_cmos.
14861 * grub-core/lib/ieee1275/cmos.c: New file.
14862 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14863 (find_rtc): Set no_ieee1275_rtc on error.
14864 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14865 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14866 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14867 fail. Move value to argument. All users updated
14868 (grub_cmos_write): Likewise.
14869 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14870 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14871 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14872 grub_get_datetime_cmos and grub_set_datetime_cmos.
14873
77546584
GS
148742011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14875
14876 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14877 sourcing grub-mkconfig_lib.
14878 * util/update-grub_lib.in: Likewise.
14879 * util/grub.d/00_header.in: Likewise.
14880 * util/grub.d/10_hurd.in: Likewise.
14881 * util/grub.d/10_kfreebsd.in: Likewise.
14882 * util/grub.d/10_linux.in: Likewise.
14883 * util/grub.d/10_netbsd.in: Likewise.
14884 * util/grub.d/10_windows.in: Likewise.
14885 * util/grub.d/20_linux_xen.in: Likewise.
14886 * util/grub.d/30_os-prober.in: Likewise.
14887
54894791
CW
148882011-06-28 Colin Watson <cjwatson@ubuntu.com>
14889
14890 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14891 default_bg_color rather than black.
14892 (grub_gfxterm_fullscreen): Likewise.
14893 (grub_gfxterm_background_color_cmd): Save new background color in
14894 default_bg_color.
14895
8d5d8444
VS
148962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14899
5afeb5bd
VS
149002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14903 mismerge.
14904
ba7df45e
VS
149052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 Chainloading on coreboot support.
14908
14909 * grub-core/Makefile.core.def (chain): Add coreboot.
14910 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14911
d0b526b2
VS
149122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14915 if it happens.
14916
5ff1d945
VS
149172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 Implement time command.
14920
14921 * grub-core/Makefile.core.def (time): New module.
14922 * grub-core/commands/time.c: New file.
14923 * grub-core/script/parser.y: Remove "time" keyword.
14924 * grub-core/script/yylex.l: Likewise.
14925
5ebaad7e
VS
149262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14929
bdea3798
VS
149302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14933 when handling leftovers.
14934
b28c5655
VS
149352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14938 so that help2man doesn't fail.
14939
b6f945dc
VS
149402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14943 type in pointers on sparc64.
14944 (get_card_packet): Likewise.
14945
f9b75e8a
CW
149462011-06-27 Colin Watson <cjwatson@ubuntu.com>
14947
14948 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14949 with `*'.
14950 (grub_cmd_videoinfo): Fetch current video mode.
14951
1e3d9b86
VS
149522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14955 because of underlying system restrictions.
14956
efff4b1c
VS
149572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14960 necessary.
14961
9fc9ce37
VS
149622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 Coreboot video support.
14965
14966 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14967 (vbe): Likewise.
14968 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14969 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14970 here ...
14971 * grub-core/kern/i386/int.S: ... here.
14972 * grub-core/video/i386/pc/vbe.c: Updated includes.
14973 * grub-core/video/i386/pc/vga.c: Likewise.
14974 * include/grub/i386/coreboot/memory.h
14975 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14976 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14977 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14978 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14979 Disable interrupts.
14980 * include/grub/i386/pc/vga.h: Removed. All users updated.
14981
41bec7fe
VS
149822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14985 definitions for dprintf.
14986 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14987
ca80309d
VS
149882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14991 prototype.
14992 (get_card_packet): Likewise.
14993
9e322ce8
YB
149942011-06-26 Yves Blusseau <blusseau@zetam.org>
14995
14996 Display the path of the file when file is not found
14997
14998 * grub-core/fs/fat.c: Display the filename when file is not found.
14999 * grub-core/fs/fshelp.c: Likewise.
15000 * grub-core/fs/hfs.c: Likewise.
15001 * grub-core/fs/jfs.c: Likewise.
15002 * grub-core/fs/minix.c: Likewise.
15003 * grub-core/fs/ufs.c: Likewise.
15004 * grub-core/fs/btrfs.c: Likewise.
15005 * grub-core/commands/i386/pc/play.c: Likewise.
15006
cbf597af
SJ
150072011-06-26 Szymon Janc <szymon@janc.net.pl>
15008
15009 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
15010 pointer checks before calling grub_free().
15011 * grub-core/commands/wildcard.c (match_devices): Likewise.
15012 * grub-core/commands/wildcard.c (match_files): Likewise.
15013 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
15014 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
15015 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
15016 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
15017 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
15018 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
15019 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
15020 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15021 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
15022
6295b32f
P
150232011-06-25 Patrick <p55@mailinator.com>
15024
15025 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
15026
77c0840b
VS
150272011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
15030 (grub_pxe_send): Likewise.
15031 (GRUB_MOD_INIT): Fix types.
15032
40ea05de
SJ
150332011-06-24 Szymon Janc <szymon@janc.net.pl>
15034
15035 * grub-core/io/xzio.c: Fix code style issues
15036
90162423
MRA
150372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
150382011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
15039
15040 Network infrastructure.
15041 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
15042
15043 * include/grub/net/arp.h: New file.
90162423
MRA
15044 * include/grub/net/device.h: Likewise.
15045 * include/grub/net/ethernet.h: Likewise.
15046 * include/grub/net/ip.h: Likewise.
15047 * include/grub/net/netbuff.h: Likewise.
15048 * include/grub/net/tftp.h: Likewise.
15049 * include/grub/net/udp.h: Likewise.
15050 * include/grub/ieee1275/ofnet.h: Likewise.
15051 * include/grub/emu/export.h: Likewise.
15052 * include/grub/net.h: Likewise.
15053 * grub-core/net/arp.c: Likewise.
15054 * grub-core/net/ethernet.c: Likewise.
15055 * grub-core/net/ip.c: Likewise.
15056 * grub-core/net/udp.c: Likewise.
15057 * grub-core/net/tftp.c: Likewise.
15058 * grub-core/net/netbuff.c: Likewise.
15059 * grub-core/net/net.c: Likewise.
15060 * grub-core/net/drivers/emu/emunet.c: Likewise.
15061 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15062 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15063 export.h.
15064 * grub-core/Makefile.core.def (net): New module.
15065 (tftp): Likewise.
15066 (ofnet): Likewise.
15067 (emunet): Likewise.
15068 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15069 network protocols.
15070 * grub-core/kern/device.c (grub_net_open) : New variable.
15071 (grub_device_open): Handle network device.
15072 (grub_device_close): Likewise.
15073 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15074 (grub_grubnet_fini): Likewise.
15075 (grub_file_seek): Seek in network device.
15076 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15077 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15078 network root.
15079 (grub_machine_fini): Call grub_grubnet_fini.
15080 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15081 network.
15082 (grub_ieee1275_get_aliasdevname): New function.
15083 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15084 Add unofficial Solaris network info.
15085 (grub_multiboot_make_mbi): Likewise.
15086 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15087 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15088 * include/grub/device.h (grub_fs): Removed.
15089 * include/grub/err.h (grub_err_t): Add network-related values.
15090 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15091 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15092 (grub_ieee1275_get_aliasdevname): New proto.
15093 * include/grub/net.h: Rewritten.
423a1849 15094
031f22a0
VS
150952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15098 names.
15099
4388ca72
VS
151002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15103 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15104 it truncates the output.
15105 Reported by: Ximin Luo.
15106
98e2f506
VS
151072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15110
2a5e94d8
VS
151112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15114 partmap before abstraction.
15115
535c1910
AK
151162011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15117
15118 * util/grub-mkconfig_lib.in: Add missing quotes.
15119
bc09e1a2
VS
151202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15123 old method if mountinfo would return /dev/root and /dev/root doesn't
15124 exist.
15125
290766fb
VS
151262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 ZFS zlib support
15129
15130 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15131 (decomp_table): Add zlib entries.
15132 (zio_read): USe 8 bits for compression function rather than 3.
15133 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15134
151352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * grub-core/disk/ahci.c: Add missing license statements.
15138 * grub-core/fs/romfs.c: Likewise.
15139 * grub-core/lib/ia64/setjmp.S: Likewise.
15140 * grub-core/loader/i386/pc/freedos.c: Likewise.
15141 * grub-core/loader/ia64/efi/linux.c: Likewise.
15142 * grub-core/video/colors.c: Likewise.
15143 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15144
5ab3f48a
VS
151452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15146
15147 AHCI support.
15148
15149 * grub-core/Makefile.core.def (ata_pthru): Removed.
15150 (ahci): New module.
15151 (pata): Likewise.
15152 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15153 on unload.
15154 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15155 readwrite.
15156 (grub_hdparm_do_check_powermode_cmd): Likewise.
15157 (grub_hdparm_do_smart_cmd): Likewise.
15158 (grub_hdparm_set_val_cmd): Likewise.
15159 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15160 * grub-core/disk/ahci.c: New file.
15161 * grub-core/disk/ata.c: Factor out the low-level part into ...
15162 * grub-core/disk/pata.c: ... here.
15163 * grub-core/disk/ata_pthru.c: Contents moved to ...
15164 * grub-core/disk/pata.c: ... here.
15165 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15166 (grub_scsi_iterate): Use grub_scsi_names.
15167 (grub_scsi_open): Likewise.
15168 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15169 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15170 (grub_ata_regs_t): New struct.
15171 (grub_disk_ata_pass_through_parms): Likewise.
15172 (grub_ata_device): Renamed to ...
15173 (grub_ata): ... this.
15174 (grub_ata_dev): New struct.
15175 Removed all low-level inline functions.
15176 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15177 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15178 iterate hooks and open. All users updated.
15179 * util/grub-install.in: Handle AHCI disk module.
15180
c31dc5f5
SJ
151812011-06-23 Szymon Janc <szymon@janc.net.pl>
15182
15183 Add support for DRI and RSTn markers in JPEG files.
15184
15185 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15186 (JPEG_MARKER_RST0): Likewise.
15187 (JPEG_MARKER_RST1): Likewise.
15188 (JPEG_MARKER_RST2): Likewise.
15189 (JPEG_MARKER_RST3): Likewise.
15190 (JPEG_MARKER_RST4): Likewise.
15191 (JPEG_MARKER_RST5): Likewise.
15192 (JPEG_MARKER_RST6): Likewise.
15193 (JPEG_MARKER_RST7): Likewise.
15194 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15195 (grub_jpeg_decode_dri): New function.
15196 (grub_jpeg_decode_sos): Move image data related part into
15197 grub_jpeg_decode_data function.
15198 (grub_jpeg_decode_data): New function.
15199 (grub_jpeg_reset): New function.
15200 (grub_jpeg_decode_jpeg): Handle new markers.
15201
fe12fd5b
VS
152022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * util/ieee1275/ofpath.c (check_sas): Close fd.
15205 (main): Free of_path.
15206 Reported by: David Volgyes <dvolgyes>.
15207
03147f46
VS
152082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15211 Reported by: David Volgyes <dvolgyes>.
15212
cad3237f
VS
152132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15216 file after stat.
15217 Reported by: David Volgyes <dvolgyes>.
15218
13548d26
VS
152192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15222
15223 Reported by: David Volgyes <dvolgyes>.
15224
e061a1b5
VS
152252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15228 Prevent memory leak.
15229
1abe47dc
VS
152302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15233 (main): Close file.
e061a1b5 15234 Reported by: David Volgyes <dvolgyes>.
1abe47dc 15235
fbc62666
VS
152362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15239 to continue if allocation is failed.
15240
15241 Reported by: David Volgyes <dvolgyes>.
15242
e98c83e9
DV
152432011-06-23 David Volgyes <dvolgyes>
15244
15245 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15246 dereference.
15247
a199a8cd
VS
152482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 Fix spurious warning.
15251
15252 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15253 (acorn_partition_map_find): Use .bin member.
15254
e2d1dba0
VS
152552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15258 /dev/root as a valid device.
15259
8a5d6919
JM
152602011-06-23 Jim Meyering <meyering@redhat.com>
15261
e2d1dba0
VS
15262 Avoid NULL deref in grub_device_open.
15263
8a5d6919
JM
15264 * grub-core/kern/device.c (grub_device_open): Don't dereference
15265 a NULL pointer upon failed grub_env_get.
15266
f7db6f4a
VS
152672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 Support non-512B sectors and agglomerate reads.
15270
15271 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15272 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15273 (disk_io_guid): Removed.
15274 (make_devices): Locate solely by BlockIO.
15275 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15276 (grub_efidisk_read): Use read_blocks.
15277 (grub_efidisk_write): Use write_blocks.
15278 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15279 log_sector_size.
15280 (get_safe_sectors): Handle non-512B sectors.
15281 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15282 sectors.
15283 (grub_biosdisk_write): Handle non-512B sectors.
15284 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15285 (grub_scsi_read): Remove special non-512B block handling (now handled
15286 one level up).
15287 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15288 and do sanity checks.
15289 (grub_disk_adjust_range): Handle non-512B sectors.
15290 (transform_sector): New function.
15291 (grub_disk_read_small): Likewise.
15292 (grub_disk_read): Rewritten.
15293 (grub_disk_write): Handle non-512B sectors.
15294 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15295 log_sector_size.
15296 (open_device): Use log_sector_size.
15297 (grub_util_biosdisk_read): Likewise.
15298 (grub_util_biosdisk_write): Likewise.
15299 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15300 non-512B sectors.
15301 (pc_partition_map_embed): Likewise.
15302 * include/grub/disk.h (grub_disk): New field log_sector_size.
15303 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15304 (GRUB_DISK_CACHE_BITS): Increased to 6.
15305 * util/grub-fstest.c (fstest): New command testload.
15306 (argp_parser): Likewise.
15307
881ac815
RM
153082011-06-16 Robert Millan <rmh@gnu.org>
15309
15310 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15311 `ata' driver on kernel of FreeBSD 9.
15312
15313 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15314 (get_ataraid_disk_name): New functions.
15315 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15316 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15317 get_ataraid_disk_name() and get_ada_disk_name().
15318
1e9aef7d
CW
153192011-06-13 Colin Watson <cjwatson@ubuntu.com>
15320
15321 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15322 input format.
15323
351c7c8a
CW
153242011-05-29 Colin Watson <cjwatson@ubuntu.com>
15325
15326 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15327 `ftp.gnu.org' for `alpha.gnu.org'.
15328
6b4e6430
CW
153292011-05-27 Colin Watson <cjwatson@ubuntu.com>
15330
15331 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15332 partitions under /dev/disk/by-id/.
15333
c64db050
CW
153342011-05-27 Colin Watson <cjwatson@ubuntu.com>
15335
15336 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15337 after ten consecutive open failures. Scanning all the way up to
15338 10000 is excessive and can cause serious performance problems in
15339 some configurations.
15340 Fixes Ubuntu bug #787461.
15341
245f4aba
VS
153422011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15345 opening new one.
15346
f767c929
VS
153472011-05-21 Colin Watson <cjwatson@ubuntu.com>
153482011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 Don't stat devices unless we have to.
15351
15352 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15353 dir == /dev/mapper.
15354 (grub_guess_root_device): Use already known os_dev if possible.
15355 * grub-core/kern/emu/hostdisk.c
15356 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15357 if device is known to be a dm one.
15358
f35fa3a6
CW
153592011-05-20 Colin Watson <cjwatson@ubuntu.com>
15360
15361 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15362 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15363 Reported by: Pawel Tecza.
15364
9a79fcf2
VS
153652011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15368 (lsefisystab): Likewise.
15369 (lssal): Likewise.
15370 (lsefimmap): Likewise.
15371 (hdparm): Enable on qemu-mips.
15372 (setjmp): Add ia64 nodist.
15373 (serial): Simplify tags.
15374
63e3eea9
CW
153752011-05-18 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * Makefile.util.def (grub-ofpathname): Install manual page.
15378
09728256
CW
153792011-05-18 Colin Watson <cjwatson@ubuntu.com>
15380
15381 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15382
8b63a142
CW
153832011-05-18 Colin Watson <cjwatson@ubuntu.com>
15384
15385 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15386
e775d8ed
VS
153872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15388
15389 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15390 into dprintf.
15391
bf947d36
VS
153922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 Use full 64-bit division.
15395
15396 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15397 (grub_divmod64): ... this.
15398 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15399 version.
15400
b84f26c5
CW
154012011-05-18 Colin Watson <cjwatson@ubuntu.com>
15402
15403 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15404 `source'.
15405
5626056f
CW
154062011-05-18 Colin Watson <cjwatson@ubuntu.com>
15407
15408 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15409 to avoid accidents when debugging with 'sh -x'.
15410 * grub-core/gensyminfo.sh.in: Likewise.
15411 * tests/example_scripted_test.in: Likewise.
15412 * tests/grub_cmd_regexp.in: Likewise.
15413 * tests/grub_script_blanklines.in: Likewise.
15414 * tests/grub_script_dollar.in: Likewise.
15415 * tests/grub_script_expansion.in: Likewise.
15416 * tests/grub_script_final_semicolon.in: Likewise.
15417 * tests/partmap_test.in: Likewise.
15418 * tests/util/grub-shell-tester.in: Likewise.
15419 * tests/util/grub-shell.in: Likewise.
15420
e2965f4a
CW
154212011-05-18 Colin Watson <cjwatson@ubuntu.com>
15422
15423 Move gfxmenu color handling to video, so that gfxterm can use it
15424 too.
15425
15426 * grub-core/gfxmenu/named_colors.c: Move to ...
15427 * grub-core/video/colors.c: ... here. Rename
15428 grub_gui_get_named_color to grub_video_get_named_color.
15429 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15430 * grub-core/video/colors.c (my_isxdigit): ... here.
15431 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15432 Move to ...
15433 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15434 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15435 to ...
15436 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15437
15438 * include/grub/gui.h (grub_gui_color_t): Move to ...
15439 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15440 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15441 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15442 * include/grub/gui.h (grub_gui_map_color): Move to ...
15443 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15444 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15445 to ...
15446 * include/grub/video.h (grub_video_get_named_color): ... here.
15447 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15448 * include/grub/video.h (grub_video_parse_color): ... here.
15449
15450 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15451 video/colors.c.
15452 (gfxmenu): Remove gfxmenu/named_colors.c.
15453 (video) [videomodules]: Add video/colors.c.
15454
15455 Add a background_color command.
15456
15457 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15458 function.
15459 (GRUB_MOD_INIT): Register background_color command.
15460 (GRUB_MOD_FINI): Unregister background_color command.
15461 (redraw_screen_rect): Allow blend/replace of text layer to be
15462 controlled independently from whether there is a background bitmap.
15463 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15464 changing bitmap.
15465
1e4b4390
VS
154662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15467
26618ff0
VS
15468 Patch BPB in ntldr and chainloader --bpb.
15469
1e4b4390
VS
15470 * grub-core/fs/fat.c: Include grub/fat.h.
15471 (grub_fat_bpb): Moved to ...
15472 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15473 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15474 grub/ntfs.h.
15475 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15476 Moved from here...
15477 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15478 here.
15479 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15480 New function.
15481 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15482 (GRUB_MOD_INIT): Show --bpb.
15483 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15484 * grub-core/normal/main.c (features): New variable.
15485 (GRUB_MOD_INIT): Set feature_* variables.
15486 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15487 proto.
15488 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15489
cf02731e
VS
154902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15493 for cleanness.
15494
e3a1073f
VS
154952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 FreeDOS direct loading support.
15498
15499 * docs/grub.texi (Supported OS): Add FreeDOS.
15500 * grub-core/Makefile.core.def (freedos): New module.
15501 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15502 variable.
15503 (grub_relocator16_boot): Handle %ebx.
15504 * grub-core/lib/i386/relocator16.S: Likewise.
15505 * grub-core/loader/i386/pc/freedos.c: New file.
15506
05caa461
VS
155072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 Long Linux command line support.
15510
15511 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15512 (maximal_cmdline_size): New variable.
15513 (allocate_pages): Use maximal_cmdline_size.
15514 (grub_cmd_linux): Set and use maximal_cmdline_size.
15515 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15516 (allocate_pages): Use maximal_cmdline_size.
15517 (grub_cmd_linux): Set and use maximal_cmdline_size.
15518 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15519 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15520 and cmdline_size.
15521
a2491e23
VS
155222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
155232011-05-18 Colin Watson <cjwatson@ubuntu.com>
15524
15525 Improve devmapper support
15526
15527 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15528 (grub_util_is_lvm): New function.
15529 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15530 than lvm if not dmraid.
15531 Handle mapped md nodes.
15532 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15533 (grub_util_device_is_mapped): ... this. Make always available. All users
15534 updated.
15535 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15536 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15537 dmraid nodes.
15538 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15539
6ad6223e
VS
155402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15543
15544 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15545 * grub-core/modinfo.sh.in: New file.
15546 * grub-core/Makefile.core.def (modinfo.sh): New script.
15547 * util/grub-mknetdir.in: Use modinfo.sh.
15548 * util/grub-mkrescue.in: Likewise.
15549
543a8f6e
VS
155502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15553 Fix potential usage of Elf32 instead of Elf64 when compiling on
15554 32-bit architecture. Add endianness macros while on it.
15555
4959e111
VS
155562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Use mipsel- rather than mips- in directories involving mipsel ports to
15559 allow both endiannesses coexist.
15560
15561 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15562 mips. All conditions adjusted.
15563 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15564 variable.
15565 * util/grub-install.in: Adjust conditions to take renaming into account.
15566 * util/grub-mkimage.c (image_targets): Likewise. New target
15567 mips-qemu_mips-elf for bigendian mips.
15568
35341bbc
VS
155692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Avoid unnecessary copying on MIPS.
15572
15573 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15574 early if src == dest.
15575 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15576 compression is none.
15577
b772baed
VS
155782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 Reduce memory footprint on SGI by putting modules before the kernel
15581 as opposed to after.
15582
15583 * grub-core/Makefile.core.def (kernel): Increase linking address.
15584 (none_decompress): Likewise.
15585 (xz_decompress): Likewise.
15586 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15587 address.
15588 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15589 layout change.
15590 (grub_arch_modules_addr): New function.
15591 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15592 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15593 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15594 here.
15595 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15596 (grub_total_modules_size): ... this. Make global.
15597 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15598 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15599 New definition.
15600 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15601 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15602 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15603 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15604 * util/grub-mkimage.c (image_target_desc): New flag
15605 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15606 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15607 (generate_image): Handle images with modules before kernel.
15608
566a1917
VS
156092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Prevent potential loss of memory map by overwrite on qemu-mips.
15612
15613 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15614 Save ram size in $s4.
15615 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15616 All users changed to grub_arch_memsize.
15617 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15618 Loongson.
15619 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15620 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15621 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15622 external variable.
15623
5d420cd9
CW
156242011-05-17 Colin Watson <cjwatson@ubuntu.com>
15625
15626 * .bzrignore: Remove grub-dumpbios.
15627
d064b830
CW
156282011-05-17 Colin Watson <cjwatson@ubuntu.com>
15629
15630 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15631 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15632 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15633 existing options which append).
15634 * docs/grub.texi (Simple configuration): Document new options.
15635 Reported by: Ian Jackson. Fixes Debian bug #617538.
15636
3ca2b466
CW
156372011-05-17 Colin Watson <cjwatson@ubuntu.com>
15638
15639 * util/grub-fstest.c (cmd_cat): New function.
15640 (fstest): Handle CMD_CAT.
15641 (options): Add cat.
15642 (argp_parser): Handle cat.
15643
24c9143a
CW
156442011-05-17 Colin Watson <cjwatson@ubuntu.com>
15645
15646 * Makefile.util.def (grub-bin2h): Don't install.
15647 * docs/man/grub-bin2h.h2m: Remove.
15648
90f7ac19
VS
156492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15652 place.
15653
8d4a5178
VS
156542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 Reenable qemu-mips port.
15657
15658 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15659 Fix small arc bug while on it.
15660 * gentpl.py: Handle qemu_mips.
15661 * grub-core/Makefile.am: Likewise.
15662 * grub-core/Makefile.core.def: Likewise.
15663 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15664 inappropriate includes.
15665 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15666 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15667 * grub-core/kern/main.c (grub_modules_get_end)
15668 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15669 * grub-core/kern/mips/qemu-mips: Moved to ..
15670 * grub-core/kern/mips/qemu_mips: ... this.
15671 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15672 (grub_machine_init): Call terminfo_init and serial_init.
15673 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15674 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15675 New variable.
15676 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15677 parameter passing.
15678 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15679 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15680 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15681 * include/grub/mips/qemu_mips/cmos.h: New file.
15682 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15683 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15684 Removed.
15685 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15686 Use correct mips-style address.
15687 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15688 (GRUB_TICKS_PER_SECOND): Removed.
15689 (grub_get_rtc): Likewise.
15690 (grub_cpu_idle): Likewise.
15691 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15692 New definition.
15693 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15694 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15695 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15696 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15697 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15698 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15699 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15700 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15701
400b9371
VS
157022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 SGI ARCS port.
15705
15706 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15707 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15708 platforms.
15709 * configure.ac: New target mips-arc.
15710 * gentpl.py: Likewise.
15711 * grub-core/Makefile.am: Likewise.
15712 * grub-core/Makefile.core.def: Likewise.
15713 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15714 (none_decompress): Likewise.
15715 (lsdev): New module.
15716 (datetime): Use lib/arc/datetime.c on ARC.
15717 (part_dvh): New module.
15718 * grub-core/commands/arc/lsdev.c: New file.
15719 * grub-core/disk/arc/arcdisk.c: Likewise.
15720 * grub-core/kern/mips/arc/init.c: Likewise.
15721 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15722 aligned addresses.
15723 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15724 support.
15725 (grub_arch_dl_relocate_symbols): Likewise.
15726 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15727 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15728 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15729 platforms.
15730 * grub-core/lib/arc/datetime.c: New file.
15731 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15732 pci.h on non-loongson.
15733 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15734 (grub_linux_boot): Set unused registers to 0.
15735 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15736 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15737 * grub-core/mmap/mips/uppermem.c: ...here.
15738 * grub-core/partmap/dvh.c: New file.
15739 * grub-core/term/arc/console.c: Likewise.
15740 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15741 (grub_terminfo_set_current): Add terminal "arc".
15742 (grub_terminfo_readkey): Support ARC sequences.
15743 * include/grub/arc/arc.h: New file.
15744 * include/grub/arc/console.h: Likewise.
15745 * include/grub/disk.h (grub_disk_dev_id): Add
15746 GRUB_DISK_DEVICE_ARCDISK_ID.
15747 * include/grub/mips/arc/kernel.h: New file.
15748 * include/grub/mips/arc/memory.h: Likewise.
15749 * include/grub/mips/arc/time.h: Likewise.
15750 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15751 * include/grub/mips/kernel.h (grub_halt): ... here.
15752 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15753 here...
15754 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15755 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15756 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15757 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15758 proto.
15759 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15760 from here ...
15761 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15762 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15763 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15764 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15765 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15766 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15767 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15768 (grub_phys_addr_t): Moved from here ...
15769 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15770 (grub_vtop): Moved from here ...
15771 * include/grub/mips/memory.h (grub_vtop): ... here.
15772 (grub_map_memory): Moved from here ...
15773 * include/grub/mips/memory.h (grub_map_memory): ... here.
15774 (grub_unmap_memory): Moved from here ...
15775 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15776 (grub_machine_mmap_iterate): Moved from here ...
15777 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15778 (grub_mmap_get_lower): Moved from here ...
15779 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15780 (grub_mmap_get_upper): Moved from here ...
15781 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15782 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15783 here ...
15784 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15785 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15786 here ...
15787 * include/grub/mips/time.h (grub_get_rtc): ... here.
15788 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15789 here ...
15790 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15791 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15792 here ...
15793 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15794 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15795 definition.
15796 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15797 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15798 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15799 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15800 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15801 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15802 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15803 (GRUB_MACHINE_LINK_ADDR): Likewise.
15804 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15805 to 6.
15806 * util/grub-install.in: Run dvhtool on ARC.
15807 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15808 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15809
c8ecc840
VS
158102011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15813 blocks.
15814
153a4b55
VS
158152011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15818 after enabling port.
15819
ff44d107
VS
158202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 Skip incorrect USB devices.
15823
15824 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15825 configcnt == 0.
15826 * include/grub/usb.h (grub_usb_err_t): New enum value
15827 GRUB_USB_ERR_BADDEVICE.
15828
638dbe4f
VS
158292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 Fuloong video init support.
15832
15833 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15834 well.
15835 (grub_vga_read_arx): New function.
15836 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15837 definition.
15838 (framebuffer): New members io, mmioptr and mmiobase.
15839 (read_sis_cmd): New function.
15840 (write_sis_cmd): Likewise.
15841 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15842 rather than 640x400.
15843 * grub-core/video/sis315_init.c: New file.
15844
c3fc520c
VS
158452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15848 non-loongson.
15849 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15850 to grub_dl_register_symbol.
15851
67b1e5c9
VS
158522011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 Fix compilation errors.
15855
15856 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15857 potentially unused.
15858 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15859 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15860 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15861 to loongson machines.
15862
b756f75f
VS
158632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 Several FS mtime support.
15866
15867 * grub-core/fs/affs.c (grub_affs_time): New struct.
15868 (grub_affs_file): New field mtime.
15869 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15870 type. Removed 'size'. New field 'di'. All users updated.
15871 (grub_affs_mount): Simplify checsum checking.
15872 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15873 (grub_affs_dir): Handle mtime.
15874 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15875 (grub_cpio_dir): Likewise.
15876 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15877 (grub_hfs_filerec): New field mtime.
15878 (grub_hfs_dir): Handle mtime.
15879 (grub_hfs_mtime): New function.
15880 (grub_hfs_fs): Register grub_hfs_mtime.
15881 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15882 (grub_iso9660_dir): New field mtime.
15883 (grub_fshelp_node): New field dirent.
15884 (iso9660_to_unixtime): New function.
15885 (iso9660_to_unixtime2): Likewise.
15886 (grub_iso9660_read_symlink): Use node->dirent.
15887 (grub_iso9660_iterate_dir): Likewise.
15888 (grub_iso9660_dir): Set mtime.
15889 (grub_iso9660_mtime): New function.
15890 (grub_iso9660_fs): Register grub_iso9660_mtime.
15891 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15892 (grub_jfs_inode): New fields atime, ctime and mtime.
15893 (grub_jfs_dir): Set mtime.
15894 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15895 * grub-core/fs/ntfs.c (list_file): Set mtime.
15896 (grub_ntfs_dir): Likewise.
15897 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15898 (grub_reiserfs_iterate_dir): Set mtime.
15899 (grub_reiserfs_dir): Likewise.
15900 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15901 (grub_fshelp_node): Likewise.
15902 (grub_sfs_iterate_dir): Set mtime.
15903 (grub_sfs_dir): Likewise.
15904 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15905 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15906 (grub_xfs_inode): New fields atime, mtime, ctime.
15907 (grub_xfs_dir): Set mtime.
15908 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15909 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15910 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15911
15912 Support UDF symlinks.
15913
15914 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15915 (grub_ufs_read_symlink): New function. All users updated.
15916
15917 Check amiga partmap checksum.
15918
15919 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15920 (grub_amiga_partition): Likewise.
15921 (amiga_partition_map_checksum): New function.
15922 (amiga_partition_map_iterate): Check checksum.
15923
5470225d
VS
159242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 ROMFS support.
15927
15928 * Makefile.util.def (libgrubmods.a): Add romfs.
15929 * grub-core/Makefile.core.def (romfs): New module.
15930 * grub-core/fs/romfs.c: New file.
15931
d4680a35
VS
159322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 Squashfs v4 support.
15935
15936 * Makefile.util.def (libgrubmods.a): Add squash4.
15937 * grub-core/Makefile.core.def (squash4): New module.
15938 * grub-core/fs/squash4.c: New file.
15939 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15940 disk_input_start, disk_input.
15941 (get_byte): Handle disk_input.
15942 (grub_zlib_disk_read): New function.
15943 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15944
bcb18e74
FZ
159452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
159462011-05-15 Feiran Zheng <famcool@gmail.com>
15947
15948 * Makefile.util.def (libgrubmods.a): Add minix3.
15949 * grub-core/Makefile.core.def (minix3): New module.
15950 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15951 (GRUB_MINIX_BSIZE): Removed.
15952 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15953 (grub_minix_ino_t): New type.
15954 (grub_minix_le_to_cpu_ino): New macro.
15955 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15956 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15957 (grub_minix_data): New field block_size.
15958 (grub_minix_read_file): Handle 64-bit correctly.
15959 * grub-core/fs/minix3.c: New file.
15960
32297d5f
TG
159612011-05-15 Tristan Gingold <gingold@free.fr>
159622011-05-15 Robert Millan <rmh.grub@aybabtu.com>
159632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 IA64 support.
15966
15967 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15968 * configure.ac: Add ia64-efi target.
15969 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15970 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15971 * gentpl.py: Add ia64_efi platform.
15972 Rename x86_efi to efi and Add ia64-efi. All users updated.
15973 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15974 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15975 Remove kern/generic/rtc_get_time_ms.c on EFI.
15976 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15977 kern/ia64/dl_helper.c on ia64-efi.
15978 Add kern/emu/cache.c on emu.
15979 (linux): Use on loader/ia64/efi/linux.c on ia64.
15980 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15981 whether symbol is a function.
15982 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15983 (grub_symbol): New field 'isfunc'.
15984 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15985 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15986 (grub_dl_load_segments): Place all sections into the same region.
15987 [__ia64__]: Create trampolines and got.
15988 [GRUB_MACHINE_EMU]: Call mprotect.
15989 (grub_dl_resolve_symbols): Resolve symbol type as well.
15990 [__ia64__]: Create function descriptors.
15991 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15992 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15993 (grub_get_rtc): New function.
15994 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15995 * grub-core/kern/emu/cache.S: Renamed to ...
15996 * grub-core/kern/emu/cache_s.S: ... this.
15997 [__ia64__]: Add a nop.
15998 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15999 [__ia64__]: New function.
16000 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
16001 * grub-core/kern/ia64/dl.c: New file.
16002 * grub-core/kern/ia64/dl_helper.c: Likewise.
16003 * grub-core/kern/ia64/efi/init.c: New file.
16004 * grub-core/kern/ia64/efi/startup.S: Likewise.
16005 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
16006 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
16007 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
16008 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
16009 * grub-core/loader/ia64/efi/linux.c: New file.
16010 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
16011 (GRUB_MOD_DEP): Likewise.
16012 (grub_dl) [__ia64__]: New fields got and tramp.
16013 (grub_dl): New field 'base'.
16014 (grub_dl_register_symbol): New argument isfunc. All users updated.
16015 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
16016 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
16017 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
16018 (grub_ia64_dl_get_tramp_got_size): New proto.
16019 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
16020 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
16021 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
16022 * include/grub/efi/api.h: Skip call wrappers on ia64.
16023 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
16024 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
16025 * include/grub/elf.h (ELF_ST_INFO): New definition.
16026 * include/grub/ia64/efi/kernel.h: New file.
16027 * include/grub/ia64/efi/memory.h: Likewise.
16028 * include/grub/ia64/efi/time.h: Likewise.
16029 * include/grub/ia64/kernel.h: Likewise.
16030 * include/grub/ia64/setjmp.h: Likewise (from glibc).
16031 * include/grub/ia64/time.h: New file.
16032 * include/grub/ia64/types.h: Likewise.
16033 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
16034 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
16035 New protos.
16036 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
16037 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
16038 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
16039 * util/grub-mkimage.c (image_target_desc): New field pe_target.
16040 All users updated.
16041 (EFI64_HEADER_SIZE): New definition. All users updated.
16042 (image_targets): Add ia64-efi.
16043 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
16044 jumpers_addr. All users updated.
16045 Create function descriptors.
16046 (count_funcs): New function.
16047 (unaligned_uint32): New struct.
16048 (MASK20): New definition.
16049 (MASK19): Likewise.
16050 (MASKF21): Likewise.
16051 (add_value_to_slot_20b): New function.
16052 (add_value_to_slot_21_real): Likewise.
16053 (add_value_to_slot_21): Likewise.
16054 (ia64_kernel_trampoline): New struct.
16055 (nopm): New variable.
16056 (jump): Likewise.
16057 (make_trampoline): New function.
16058 (relocate_addresses): Handle ia64.
16059 (make_reloc_section): Likewise.
16060 (load_image): Likewise.
16061
983b414d
VS
160622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16065 warning. Move variables before code while on it.
16066
5d063cdc
VS
160672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 Fuloong support.
16070
16071 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16072 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16073 * grub-core/boot/mips/loongson/fuloong.S: New file.
16074 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16075 Explicitly init CS5536.
16076 [FULOONG]: Don't use serial until CS5536 is available.
16077 Set GPIO based on dumps.
16078 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16079 [FULOONG]: Handle GPIO and memory controller differences.
16080 Parse machine type in $a2.
16081 * grub-core/boot/mips/startup_raw.S: Determine and save the
16082 architecture.
16083 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16084 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16085 init on architecture type.
16086 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16087 SIS315E. Don't init at_keyboard on fuloong.
16088 (grub_halt): Support Fuloong.
16089 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16090 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16091 (loongson_machtypes): New array.
16092 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16093 type.
16094 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16095 config. All users updated. Handle CS5536 serial.
16096 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16097 default port on machine type. Register serial as inactive.
16098 * grub-core/video/sis315pro.c: New file.
16099 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16100 definition.
16101 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16102 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16103 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16104 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16105 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16106 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16107 to ...
16108 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16109 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16110 definition.
16111 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16112 (grub_arch_machine): New extern var.
16113 * include/grub/mips/loongson/serial.h
16114 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16115 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16116 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16117 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16118 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16119 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16120 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16121 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16122 * include/grub/term.h (grub_term_register_input_inactive): New inline
16123 function.
16124 (grub_term_register_output_inactive): Likewise.
16125 * include/grub/video.h (grub_video_driver_id): New value
16126 GRUB_VIDEO_DRIVER_SIS315PRO.
16127 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16128 New field "names". All users updated.
16129 New field value IMAGE_FULOONG_FLASH.
16130 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16131
6ada82d1
JU
161322011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16133
16134 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16135 and add some clarification.
16136
90c571a4
VS
161372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16140 platforms if kernel is compressed.
16141
de04eecf
VS
161422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16145 unused modules since currently referrence counter isn't reliable and
16146 there isn't much memory to recover there anyway.
16147
57688121
VS
161482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16151 rather than resetting it to allow modules to reference themselves
16152 in init.
16153
3d2c7e35
VS
161542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16157 counter on dependencies since grub_dl_unref already handles this.
16158
b25db218
VS
161592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16162 on error if not already done.
16163
25a45338
VS
161642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 Fix few potential memory misusage.
16167
16168 * grub-core/font/font.c (load_font_index): Don't free char_index to
16169 avoid double free.
b25db218
VS
16170 (grub_font_load): Zero-fill font at alloc for safety.
16171 Close file on error.
16172 (free_font): Free bmp_idx.
25a45338 16173
0cac83df
VS
161742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * docs/grub.texi (Installation): Fix several outdated claims.
16177
2217a143
VS
161782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 Handle module_license on windows.
16181
16182 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16183 sections shifted.
16184 (insert_string): Make argument const char * instead of char *.
16185 (write_section_data): Handle long section names.
16186 Handle module_license.
16187
d4de6b01
VS
161882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16191 handle class-free menuentries.
16192 (grub_normal_add_menu_entry): Add a check to be sure.
16193
4c2a3b43
VS
161942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16197 PgUp and PgDown.
16198
85c6210f
VS
161992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 * configure.ac: Bump version to 1.99.
16202
36084912
VS
162032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Give ATA device a bit more time on first try in order to allow disks
16206 to spin up.
16207
16208 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16209 if dev->present is 1. Reset dev->present on failure.
16210 (grub_ata_device_initialize): Set dev->present to 1.
16211 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16212 (grub_ata_device): New member 'present'.
16213
bda0e219
VS
162142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * util/grub-mkimage.c (generate_image): Update hash.
16217
19e1c41b
VS
162182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 Flush caches on DMA memory.
16221
16222 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16223 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16224 (grub_dma_free): Likewise.
16225 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16226
91bbcc0c
VS
162272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16230 to avoid asm treating ld and sd as macros.
16231
60ddfad3
VS
162322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16233
16234 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16235 decompressor.
16236
a298aa04
VS
162372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16240 grub_decompress_core since later would fail if grub_decompress_core
16241 is too far.
16242
9b44feca
VS
162432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16246 R_MIPS_JALR since it's used by newer compiler.
16247
56dbe7b4
VS
162482011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16251
52856af2
VS
162522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16255 file_path to 0 for surety.
16256 (grub_chainloader_boot): Set exit_data to NULL.
16257 Unset the loader once done.
16258 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16259
9c9bfc6d
VS
162602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16263 unknown key into a dprintf.
16264
dd94a3df
VS
162652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16268 on first non-existant partition.
16269
fa68d99c
VS
162702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16273 openning fails.
16274 Reported by: Mark Korenberg.
16275
157effb7
VS
162762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16279 overflow.
16280
ea75312f
VS
162812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16284 before closing to ensure that it will be readable by grub-setup.
16285
072b5d31
VS
162862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16289 (devpath_1): Use MAKE_PIWG_PATH.
16290 (devpath_2): Likewise.
16291 (devpath_3): Likewise.
16292 (devpath_4): Likewise.
16293 (devpath_5): Likewise.
16294 (devpath_6): Likewise.
16295
16296 The appleldr.mod was checked that to be binary identical to previous
16297 version.
16298
7fae0051
Z
162992011-05-05 Zach <mikezackles>
16300
16301 Support 2010 Macbooks.
16302
16303 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16304 (devs): Add devpath_6.
16305
7c515bee
VS
163062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16309 /dev/random. /dev/urandom is good enough for our purposes (salting).
16310
ed660bd8
VS
163112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16314
ee5614b7
VS
163152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16318 hexadecimal.
16319
664889a6
VS
163202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16323 and not 0 on failure.
16324
bd405bbc
CW
163252011-05-03 Colin Watson <cjwatson@ubuntu.com>
16326
16327 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16328 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16329 disk; otherwise grub_fs_probe will not fall back to the next
16330 filesystem.
16331 (grub_pxefs_open): Likewise, for consistency.
16332 Reported and tested by: Ezekiel Grave.
16333
4ebff753
CW
163342011-05-03 Colin Watson <cjwatson@ubuntu.com>
16335
16336 * tests/partmap_test.in: Don't hardcode path to parted.
16337 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16338
8f942553
CW
163392011-05-01 Colin Watson <cjwatson@ubuntu.com>
16340
16341 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16342 of `ls' to find out which devices are available.
16343
3c62402d
VS
163442011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16347 than source address for efi mmap buffer.
16348
723f63f2
VS
163492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16352 wrong action on non-detecting the magic.
16353
68797f92
VS
163542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16355
16356 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16357 already supplied by another part of the module (fixes compilation on
16358 FreeBSD).
16359
6be8715d
VS
163602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16363 match the one used by mdadm.
16364
e91dba5b
CW
163652011-04-21 Colin Watson <cjwatson@ubuntu.com>
16366
16367 * po/README: Add instructions for creating po/LINGUAS.
16368
c85140b3
CW
163692011-04-21 Colin Watson <cjwatson@ubuntu.com>
16370
16371 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16372 #551428.
16373
16374 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16375 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16376 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16377 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16378 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16379 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16380 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16381 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16382 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16383 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16384 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16385 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16386 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16387 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16388 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16389 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16390 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16391 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16392 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16393 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16394 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16395 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16396
92051871
CW
163972011-04-21 Colin Watson <cjwatson@ubuntu.com>
16398
16399 * grub-core/kern/emu/getroot.c
16400 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16401 test that was incorrectly reintroduced in r3214.
16402 Reported by: Ian Dall. Fixes Savannah bug #33133.
16403
b13f79a4
CW
164042011-04-21 Colin Watson <cjwatson@ubuntu.com>
16405
16406 Fix stack pointer handling in 16-bit relocator.
16407
16408 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16409 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16410 Fixes Ubuntu bug #683904.
16411
9b710a88
VS
164122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * configure.ac: Bump version to 1.99~rc2.
16415
d97e7b59
VS
164162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16419 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16420 * grub-core/lib/x86_64/setjmp.S: Likewise.
16421 * grub-core/lib/mips/setjmp.S: Likewise.
16422 * grub-core/lib/powerpc/setjmp.S: Likewise.
16423 * grub-core/lib/sparc64/setjmp.S: Likewise.
16424
0624551c
VS
164252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16428 * grub-core/lib/efi/datetime.c: Likewise.
16429
e8f28d4c
VS
164302011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16433 New function.
16434 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16435 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16436 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16437
bba79a15
VS
164382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16439
16440 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16441 bitmap.
16442 (grub_gfxterm_term_init): Likewise.
16443
abc474ef
VS
164442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16445
16446 Take into account the decorations the computing menu entry width.
16447
16448 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16449 (grub_gfxmenu_create_box): Register get_border_width.
16450 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16451 if available.
16452 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16453 get_border_width.
16454
e74b3947
EP
164552011-04-18 Endres Puschner <code@e7p.de>
16456
16457 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16458 Don't skip first class.
16459
34faa595
VS
164602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16463 chunks.
16464 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16465
93a777e3
VS
164662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 Complete 64-bit division support.
16469
16470 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16471 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16472 * include/grub/misc.h (grub_divmod64): Rename to ...
16473 (grub_divmod64_full): ... this.
16474 (grub_divmod64): New inline function.
16475
a5102d94
VS
164762011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16479
f3fb7b36
VS
164802011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16483 performing the necessary test.
16484
9ac718b0
VS
164852011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16488 (kfreebsd.elf): Likewise.
16489 (pc-chainloader.elf): Likewise.
16490 (ntldr.elf): Likewise.
16491
50d2cc5a
VS
164922011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 Identify RAID by its UUID rather than (guessed) name.
16495
16496 * grub-core/disk/raid.c (ascii2hex): New function.
16497 (grub_raid_open): Accept mduuid/%s specification.
16498 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16499 (get_mdadm_uuid): ... this.
16500 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16501
e03f7bea
VS
165022011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16505 to negative size.
16506
e74c3112
CW
165072011-04-13 Colin Watson <cjwatson@ubuntu.com>
16508
16509 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16510 btrfs subvolume.
16511 * util/grub.d/20_linux_xen.in: Likewise.
16512
78fa584f
CW
165132011-04-13 Colin Watson <cjwatson@ubuntu.com>
16514
16515 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16516 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16517
16518 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16519 Build a list of relevant visible mounts using the mnt_id and
16520 parent_mnt_id fields, and then scan that list at the end.
16521
9d5f8162
CW
165222011-04-12 Colin Watson <cjwatson@ubuntu.com>
16523
16524 * docs/grub.texi (normal): New section.
16525 (normal_exit): New section.
16526 (Embedded configuration): Add reference to normal.
16527 (GRUB only offers a rescue shell): Likewise.
16528 * docs/grub-dev.texi (Error Handling): Fix typo.
16529
09a9d66f
CW
165302011-04-12 Colin Watson <cjwatson@ubuntu.com>
16531
16532 * NEWS: Drop obsolete entry about probe-only btrfs support.
16533
0c676933
CW
165342011-04-12 Colin Watson <cjwatson@ubuntu.com>
16535
16536 * util/import_gcry.py: Fix typo.
16537
ec9f5e0d
VS
165382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 * NEWS: Add btrfs support.
16541
fe6b2cba
VS
165422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
165432011-04-11 Colin Watson <cjwatson@ubuntu.com>
16544
16545 BtrFS support. Written by me (Vladimir) with important bugfixes and
16546 even more important testing by Colin.
16547
16548 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16549 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16550 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16551 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16552 mem_input_off and mem_input. All users updated to accept in-RAM input.
16553 (gzio_seek): New function.
16554 (test_zlib_header): Likewise.
16555 (grub_gzio_read): Likewise.
16556 (grub_zlib_decompress): Likewise.
16557 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16558 Accept partial and non-virtual mounts.
16559 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16560 avoid receiving /dev/dm-X as device.
16561 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16562 Handle bind and partial mounts.
16563 * grub-core/lib/crc.c: New file.
16564 * include/grub/deflate.h: Likewise.
16565 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16566 proto.
16567 * include/grub/lib/crc.h: New file.
16568
e745cf0c
VS
165692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Implement automatic module license checking according to new GNU
16572 guidelines.
16573
16574 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16575 (grub_dl_load_core): Use grub_dl_check_license.
16576 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16577 (GRUB_MOD_LICENSE): Likewise.
16578 (GRUB_MOD_DUAL_LICENSE): Likewise.
16579 All modules updated.
16580
2a9bc016
CW
165812011-04-11 Colin Watson <cjwatson@ubuntu.com>
16582
16583 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16584 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16585 loaders.
16586 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16587
8a3bc88e
VS
165882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16591
af869a4a
VS
165922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16595 failed.
16596
9ee8d94f
VS
165972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16600 parenthesis in the middle of the filename.
16601
b01abe3e
VS
166022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16605 rather than trying to put initrd way too high.
16606 Reported by: Ryan Lortie <desrt@desrt.ca>
16607
335bda1e
VS
166082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16611 improperly removed string.
16612
5ca1a64d
VS
166132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16616 is_disk.
16617 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16618 (open_device) Likewise.
16619 (grub_util_biosdisk_close): Likewise.
d8ce9995 16620 Reported by: Mark Korenberg.
5ca1a64d 16621
cbac5b1e
AK
166222011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16623
16624 * util/grub-mkconfig_lib.in: Add missing quotes.
16625
088cdb65
CW
166262011-04-10 Colin Watson <cjwatson@ubuntu.com>
16627
16628 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16629 is NULL.
16630
8b8a81fa
VS
166312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Dynamically count the number of lines for the lower banner.
16634
16635 * grub-core/normal/menu_entry.c (per_term_screen): New member
16636 num_entries.
16637 (print_down): Use num_entries.
16638 (update_screen): Likewise.
16639 (grub_menu_entry_run): Set num_entries.
16640 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16641 num_entries.
16642 (grub_print_message_indented): Move real part to ...
16643 (grub_print_message_indented_real): ... here. Additional argument
16644 dry_run.
16645 (draw_border): Additional argument num_entries.
16646 (print_message): Additional argument dry_run.
16647 (print_entries): Receive menu viewer data.
16648 (grub_menu_init_page): New argment num_entries.
16649 (menu_text_set_chosen_entry): Use num_entries.
16650 (grub_menu_try_text): Likewise.
16651 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16652 All users updated.
16653 (grub_ucs4_count_lines): New function.
16654 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16655 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16656 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16657 (grub_term_border_height): Likewise.
16658 (grub_term_num_entries): Likewise.
16659
277f955b
VS
166602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16663 Remove now unused string.
16664
536ce85a
CW
166652011-04-09 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16668 build system.
16669 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16670
16671 (Comment): Fix typo.
16672 (Getting started): General copy-editing.
16673 (Typical Development Experience): Likewise.
16674 (Error Handling): Likewise.
16675 (Video API): Likewise.
16676
2cf09e32
CW
166772011-04-09 Colin Watson <cjwatson@ubuntu.com>
16678
16679 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16680 throughout.
16681
1ec652f4
VS
166822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16685 directory.
16686
2c583728
CW
166872011-04-08 Colin Watson <cjwatson@ubuntu.com>
16688
16689 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16690 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16691 "development".
16692
d7a565e9
VS
166932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16694
16695 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16696 grub_strcpy since the lines aren't necessarily 0-terminated.
16697
7c2e4909
VS
166982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16699
16700 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16701 root on legacy.
16702
34c09785
VS
167032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16706 (GRUB_MOD_INIT): DEVICE isn't optional.
16707
6a6f8058
VS
167082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16711 word on new line if it's too long anyway. Fixes a hang.
16712
2e335e90
VS
167132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16716 const.
16717 * util/grub-setup.c (main): Reuse md device name if available.
16718 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16719 not GRUB name as argument.
16720 Based on patch by: Florian Wagner <fwagner>.
16721
10a7a867
VS
167222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16725 Place mbi on low memory for better compatibility.
16726
7a3d6cd9
VS
167272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16730
18dd6b47
VS
167312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
167322011-04-08 Colin Watson <cjwatson@ubuntu.com>
16733
16734 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16735 * conf/Makefile.common: Likewise.
18dd6b47 16736
3c0e3f14
VS
167372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16738
f7148863
VS
16739 * grub-core/normal/menu.c: Add missing include.
16740
167412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16742
16743 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16744
6d1fa41f
MZ
167452011-04-08 Martin Zuther <mzuther@mzuther.de>
16746
16747 * util/grub-mkconfig.in: Ignore emacsen backup.
16748
478182a8
VS
167492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16752 on open.
16753 (grub_util_biosdisk_close): Likewise.
16754
72a89a54
VS
167552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16758 const attribute and use grub_isdigit.
16759
b5ebecfa
A
167602011-04-06 Andrey <dev_null@ukr.net>
16761
16762 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16763 gcc warning.
16764
7755f66e
VS
167652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16768 useful grub_dprintf's.
16769
461121ff
VS
167702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16773
2a961775
VS
167742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16777
adf594cc
VS
167782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 Output errors if theme loading failed.
16781
16782 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16783 grub_gfxterm_fullscreen on error paths to ...
16784 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16785 theme loading error.
16786
665900a3
VS
167872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16790 space for older compilers.
16791 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16792
a562b479
VS
167932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16796 and report them as not RAID members since they are useless for GRUB.
16797 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16798
850e9373
VS
167992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 Increase LVM implementation robustness in order not to crash on
16802 configurations like pvmove. Previously code assumed that in some places
16803 only lvs or only pvs are used whereas it seems that they are used
16804 interchangeably.
16805
16806 * grub-core/disk/lvm.c (read_node): New function.
16807 (read_lv): Use read_node.
16808 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16809 Match volumes only at the end when all lvs are found. Take both
16810 pvs (first) and lvs (second) into account.
16811 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16812 mirror_* into node_*. All users updated.
16813 (grub_lvm_stripe): Merge this ...
16814 (grub_lvm_mirror): ... and this ...
16815 (grub_lvm_node): ... into this. All users updated.
16816
6f332153
VS
168172011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16820 of function to allow further scanning for LVMs.
16821
829ea451
VS
168222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16825 on failed seek as it breaks open fd reusage.
16826
09ceb9a5
VS
168272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * util/grub-install.in: Add a recommendation to use --recheck before
16830 reporting bugs.
16831
67e11623
VS
168322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16835 are obtained.
16836
caee5efd
VS
168372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 GRUB developper manual based on existing Internals section and
16840 contributions by the various authors with active copyright assignment.
16841
16842 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16843 * docs/font_char_metrics.png: New file.
16844 * docs/font_char_metrics.txt: Likewise.
16845 * docs/grub-dev.texi: Likewise.
16846 * docs/grub.texi (Internals): Move from here ...
16847 * docs/grub-dev.texi: ... here.
16848
2cccc747
CW
168492011-04-01 Colin Watson <cjwatson@ubuntu.com>
16850
16851 Store the loopback device as data on loopback grub_disk structures,
16852 rather than the file it points to. This fixes use of freed memory
16853 if an existing loopback device is replaced.
16854
16855 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16856 disk->data, not dev->file.
16857 (grub_loopback_read): Adjust file assignment to match.
16858 Fixes Ubuntu bug #742967.
16859
186ae367
CW
168602011-04-01 Colin Watson <cjwatson@ubuntu.com>
16861
16862 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16863 when replacing an existing device.
16864
cfed2ad0
VS
168652011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16868 memory corruptions.
16869
16870 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16871 unsigned.
16872 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16873 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16874 (grub_jfs_read_inode): Likewise.
16875 (grub_jfs_opendir): Likewise. Remove now useless casts.
16876 (grub_jfs_getent): Likewise.
16877 Make ino a grub_uint32_t rather than int.
16878 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16879 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16880 division and module with bit operations.
16881 (grub_jfs_find_file): Make ino a grub_uint32_t.
16882 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16883
05d2ed32
CW
168842011-04-01 Colin Watson <cjwatson@ubuntu.com>
16885
16886 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16887 warning. (This was in fact always initialised before use, but GCC
16888 wasn't smart enough to prove that.)
16889 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16890
91dc6073
VS
168912011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16894 stack alignment.
16895 (efi_wrap_1): Likewise.
16896 (efi_wrap_2): Likewise.
16897 (efi_wrap_3): Likewise.
16898 (efi_wrap_4): Likewise.
16899 (efi_wrap_5): Likewise.
16900 (efi_wrap_6): Likewise.
16901 (efi_wrap_10): Likewise.
16902 Based on information by: Red Hat/Peter Jones.
16903
a8afc1d1
CW
169042011-03-31 Colin Watson <cjwatson@ubuntu.com>
16905
16906 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16907 set-but-not-used variable.
16908
a826cc7d
CW
169092011-03-31 Colin Watson <cjwatson@ubuntu.com>
16910
16911 * docs/grub.texi (Simple configuration): Be more explicit about
16912 GRUB_DEFAULT, and add an example.
16913 Reported by: Leslie Rhorer.
16914
875b67ba
CW
169152011-03-30 Colin Watson <cjwatson@ubuntu.com>
16916
16917 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16918 shell".
16919
fd7cd914
AS
169202011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16921
16922 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16923 * util/grub.d/20_linux_xen.in: Likewise.
16924
090b1b6a
VS
169252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * util/grub.d/10_linux.in: Try alternative config filenames where
16928 we parse config file.
16929 * util/grub.d/20_linux_xen.in: Likewise.
16930
baad885c
AS
169312011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16932
16933 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16934 * util/grub.d/20_linux_xen.in: Likewise.
16935
241e41f5
VS
169362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 * grub-core/disk/raid.c (insert_array): Add few potentially
16939 useful grub_util_info.
16940 (grub_raid_register): Likewise.
16941
56445fb2
VS
169422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16945 Preserve partition number in mdadm code path.
16946
c871b1c6
VS
169472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16950 few potentially useful grub_util_info.
16951
5e631b4f
CW
169522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16955
2d5d0333
CW
169562011-03-30 Colin Watson <cjwatson@ubuntu.com>
16957
16958 * docs/grub.texi (default): Use @example rather than nested
16959 itemized lists to avoid breaking gendocs.
16960
3d7ed04e
CW
169612011-03-30 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * docs/grub.texi (Future): Update.
16964
abf04200 169652011-03-30 Colin Watson <cjwatson@ubuntu.com>
16966
16967 * docs/grub.texi (Environment): New chapter.
16968 (Changes from GRUB Legacy): Link to "Environment block" section for
16969 details of limitations.
16970 (Simple configuration): Likewise. Link to documentation of gfxmode
16971 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16972 respectively.
16973 (Shell-like scripting): Note that normal variables are stored in the
16974 environment.
16975 (gettext): Link to documentation of lang and locale_dir.
16976 (list_env): New section.
16977 (load_env): New section.
16978 (save_env): New section.
16979
16980 (Reporting bugs): Fix typo.
16981
e1ad0edd
VS
169822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16985 the example.
16986
5d803174
VS
169872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * grub-core/term/at_keyboard.c (set_scancodes)
16990 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16991
2a2da1d0
CW
169922011-03-30 Colin Watson <cjwatson@ubuntu.com>
16993
16994 * docs/grub.texi (Menu-specific commands): Remove some semantics
16995 that were true in GRUB Legacy but not in GRUB 2.
16996 (submenu): New section.
16997 (false): New section.
16998 (read): New section.
16999 (true): New section.
17000
a7527639
CW
170012011-03-30 Colin Watson <cjwatson@ubuntu.com>
17002
17003 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
17004
170052011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
17006
17007 * docs/grub.texi (Simple configuration): Explain some of the
17008 current limitations of grub-mkconfig.
8a748df2 17009 Reported by: Leslie Rhorer.
e30af029 17010
fc858482
VS
170112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17012
17013 Old macs search for boot.efi rather than for bootia32.efi.
17014
17015 * util/grub-install.in: Copy bootia32.efi to boot.efi.
17016 * util/grub-mkrescue.in: Likewise.
17017 Suggested by: Peter Jones.
17018
e1eb511d
VS
170192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
17022
70e75364
VS
170232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
17026 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
17027 (grub_lvm_mirror): New struct.
17028 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
17029 (grub_lvm_iterate): Iterate only visible volumes.
17030 (grub_lvm_read): Factor out to ..
17031 (read_lv): ... this. Support mirrors.
17032 (grub_lvm_read): New wrapper function.
17033 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
17034 stripped or mirrored.
17035
fc18f6a3
VS
170362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
17039
5c650f4c
CW
170402011-03-29 Colin Watson <cjwatson@ubuntu.com>
17041
17042 * docs/grub.texi (loopback): New section.
17043
61d7156b
CW
170442011-03-29 Colin Watson <cjwatson@ubuntu.com>
17045
17046 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
17047 removed -p option.
17048
994b8264
CW
170492011-03-29 Colin Watson <cjwatson@ubuntu.com>
17050
17051 * docs/grub.texi (BIOS installation): New section, partly based on
17052 previous text in other sections.
17053 (Installing GRUB using grub-install): Replace BIOS discussion with a
17054 cross-reference.
17055 (Images): Likewise.
17056
9e4d19e0
VS
170572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17060 [HAVE_DIOCGDINFO]: Add safety checks.
17061
a307c0b2
VS
170622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17065 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17066
b4db4f39
CW
170672011-03-29 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17070 real_sb->size is zero (e.g. RAID-0), get the disk size from
17071 real_sb->data_size instead.
17072 Fixes Ubuntu bug #743136.
17073
35e5f84c
VS
170742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17075
17076 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17077 printf clauses for printing size and start.
17078
d2e29d81
VS
170792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17082 Reported and tested by: Timothy Nikkel.
17083
ed5587af
VS
170842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17087 (dirty_region_add_real): ... this.
17088 (dirty_region_add): Don't discard margin refresh when performing
17089 scheduled repaint.
17090
a1dc717c
VS
170912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * grub-core/lib/relocator.c (allocate_regstart)
17094 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17095 terminals are capabple of malloc-free operation.
17096 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17097 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17098
9f3677d3
VS
170992011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17100
17101 * util/grub-setup.c: Copy the partition table zone if floppy support
17102 is disabled, even if no partition table is found.
17103
17104 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17105 during POST if an invalid partition table is contained in the PBR
17106 of the active partition when GRUB is installed to a partition.
17107
24148725
CW
171082011-03-28 Colin Watson <cjwatson@debian.org>
17109
17110 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17111 comment.
17112
f329eda7
CW
171132011-03-28 Colin Watson <cjwatson@debian.org>
17114
17115 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17116 to be specific about what kind of RAID device we're scanning for.
17117
c482ad98
SG
171182011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17119
17120 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17121 return freed string.
17122
5ee04984
VS
171232011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17126
f4727da9
VS
171272011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 Use libgeom on FreeBSD to detect partitions.
17130
17131 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17132 (grub-mkrelpath): Likewise.
17133 (grub-script-check): Likewise.
17134 (grub-editenv): Likewise.
17135 (grub-mkpasswd-pbkdf2): Likewise.
17136 (grub-fstest): Likewise.
17137 (grub-mkfont): Likewise.
17138 (grub-mkdevicemap): Likewise.
17139 (grub-probe): Likewise.
17140 (grub-setup): Likewise.
17141 (grub-ofpathname): Likewise.
17142 (grub-mklayout): Likewise.
17143 (example_unit_test): Likewise.
17144 (grub-menulst2cfg): Likewise.
17145 * grub-core/Makefile.core.def (grub-emu): Likewise.
17146 (grub-emu-lite): Likewise.
17147 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17148 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17149 define HAVE_DIOCGDINFO.
17150 (follow_geom_up) [FreeBSD]: New function.
17151 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17152 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17153 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17154 unconditionally of HAVE_DIOCGDINFO.
17155
82fe6c75
VS
171562011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 Fix FreeBSD compilation problem.
17159
17160 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17161 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17162
4c6c9431
CW
171632011-03-24 Colin Watson <cjwatson@ubuntu.com>
17164
17165 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17166 Switch back to page zero before loading a kernel, since some kernel
17167 drivers expect that.
17168 Thanks to: Felix Kuehling.
17169
c7064d94
VS
171702011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17173 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17174 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17175
3f71cded
VS
171762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17179 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17180
ef6de21a
VS
171812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17184 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17185 malloc is disabled.
17186
8bc66a2c
VS
171872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17188
17189 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17190 for modules headers when counting the needed allocation size.
17191
5657722c
VS
171922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17195 if no ASCII character is found to prevent crash.
17196
41a85f55
AK
171972011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17198
17199 * grub-core/video/bitmap.c (match_extension): Ignore case.
17200
59e1e5f1
VS
172012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17204
bd4d051a
VS
172052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * grub-core/script/parser.y: Declare "time" as valid argument.
17208
bae7fcc1
PJ
172092011-03-23 Peter Jones <pjones@redhat.com>
17210
17211 Fix incorrect assert failure reporting.
17212
17213 * grub-core/tests/example_functional_test.c (example_test): Add
17214 a failure comment.
17215 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17216 (failure_start): ...this. Check that malloc succeeded.
17217 Don't call xvasprintf. Return failure struct.
17218 (failure_append_vtext): New function.
17219 (failure_append_text): Likewise.
17220 (add_failure): Likewise.
17221 (grub_test_assert_helper): Likewise.
17222 * include/grub/test.h (grub_test_assert_helper): New declaration.
17223 (grub_test_assert): Macro rewritten.
17224
537dc9be
VS
172252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17228
fa3e01bf
VS
172292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17232
b1d28404
VS
172332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17236 into GRUB-style one.
17237
2e3e2e09
VS
172382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17241 error and not grub_errno.
17242 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17243
ed57e557
VS
172442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17247 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17248
d1611f01
VS
172492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * grub-core/efiemu/i386/pc/cfgtables.c
17252 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17253 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17254 (grub_xnu_unlock): Likewise.
17255 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17256
7d4e39d6
VS
172572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17260 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17261 * grub-core/commands/hashsum.c (aliases): Likewise.
17262 * grub-core/commands/setpci.c (pci_registers): Likewise.
17263 * grub-core/disk/usbms.c (attach_hook): Likewise.
17264 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17265 (zio_checksum_table): Likewise.
17266 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17267 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17268 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17269 * grub-core/lib/relocator.c (leftovers): Likewise.
17270 (extra_blocks): Likewise.
17271 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17272 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17273 (modules_last): Likewise.
17274 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17275 (devices): Likewise.
17276 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17277 (modules_last): Likewise.
17278 * grub-core/normal/auth.c (users): Likewise.
17279 * grub-core/normal/context.c (initial_menu): Likewise.
17280 (current_menu): Likewise.
17281 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17282 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17283 (grub_serial_terminfo_input_template): Likewise.
17284 (grub_serial_terminfo_output_template): Likewise.
17285 (grub_serial_terminfo_input): Likewise.
17286 (grub_serial_terminfo_output): Likewise.
17287 (registered): Likewise.
17288 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17289
40fc4659
VS
172902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17293 grub_video_mode_type_t.
17294 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17295 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17296 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17297
2da48d28
VS
172982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * util/grub-install.in: Correct the x86-64 name as x86_64.
17301
9b43bf39
CW
173022011-03-11 Colin Watson <cjwatson@ubuntu.com>
17303
17304 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17305 initial chunk read from the kernel always includes GRUB's multiboot
17306 header, which is now outside the first sector.
17307
be1a7ce0
CW
173082011-03-09 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17311 cached mmap_size, so that this works correctly when called multiple
17312 times.
17313 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17314
83a3c48d
CW
173152011-03-09 Colin Watson <cjwatson@ubuntu.com>
17316
17317 * docs/grub.texi (Simple configuration): Tidy up formatting.
17318
57d75699
SJ
173192011-03-07 Szymon Janc <szymon@janc.net.pl>
17320
17321 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17322 Set-but-not-used variable removed.
17323
028501a0
VS
173242011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17325
17326 Workaround yet another IEEE1275 bug.
17327
17328 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17329 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17330 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17331 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17332 is set.
17333 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17334 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17335
d998657d
VS
173362011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17339 error.
17340
fee7cdd4
CW
173412011-02-11 Colin Watson <cjwatson@ubuntu.com>
17342
17343 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17344 empty, since in that case we can only generate either nothing or a
17345 syntactically invalid configuration file.
17346 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17347
97286eb5
CW
173482011-02-09 Colin Watson <cjwatson@ubuntu.com>
17349
17350 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17351 (Making a GRUB bootable CD-ROM): Likewise.
17352 (Invoking grub-mkrescue): New section.
17353 Reported by: Yann Dirson. Fixes Debian bug #612585.
17354
22b28eb3
CW
173552011-02-09 Colin Watson <cjwatson@ubuntu.com>
17356
17357 * util/grub-install.in: Remove unnecessary brackets from tr
17358 arguments.
17359 * util/grub.d/10_hurd.in: Likewise.
17360 * util/grub.d/10_kfreebsd.in: Likewise.
17361 * util/grub.d/10_linux.in: Likewise.
17362 * util/grub.d/20_linux_xen.in: Likewise.
17363 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17364
7e735e43
CW
173652011-02-08 Colin Watson <cjwatson@ubuntu.com>
17366
17367 * include/grub/file.h (not_easly_seekable): Rename to ...
17368 (not_easily_seekable): ... this. Update all users.
17369
800f1881
CW
173702011-01-28 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17373 grub-mkrescue.
17374
3281d3d6
VS
173752011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * util/grub-mkimage.c (generate_image): Refuse to create the images
17378 bigger than the actual flash (512K) in Loongson machines. 512K is also
17379 the biggest chip supported by them.
17380
3533413c
VS
173812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17384
73ae4f4f
VS
173852011-01-22 Anthony DeRobertis <anthony@derobert.net>
17386
17387 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17388 super_offset field.
17389
37f4f608
VS
173902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 * util/grub-install.in: Ignore install device on platforms
17393 where it doesn't make sense. Always use UUIDs except on pc, efi and
17394 sparc64.
17395 Reported by: Daniel Kahn Gillmor.
17396
03a4ccb5
VS
173972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17400
ffc8f4d8
VS
174012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17404 (iterate_real): Don't rely on partition being non-NULL.
17405
80f23be7
VS
174062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17409 supported platforms. Put a compile time assert for this rather than
17410 generate a warning with 32-bit shift.
17411
5d4f4dd5
VS
174122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17415 logical expression more readable.
17416
e489601a
VS
174172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17420 even if some elements have a name.
17421 Reported by: Alexander GQ Gerasiov.
17422
96e0a6ea
CW
174232011-01-22 Colin Watson <cjwatson@ubuntu.com>
17424
17425 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17426 path unreadable if `grub-probe -t abstraction' fails, for example if
17427 memberlist fails on an LVM volume group.
17428 Reported by: Darius Jahandarie.
17429
81431e2b
CW
174302011-01-22 Colin Watson <cjwatson@ubuntu.com>
17431
17432 * docs/grub.texi (Simple configuration): Document
17433 GRUB_PRELOAD_MODULES.
17434
5e79d66a
CW
174352011-01-17 Colin Watson <cjwatson@ubuntu.com>
17436
17437 * .bzrignore: Remove nonexistent grub-pbkdf2.
17438
646ada34
VS
174392011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17440
17441 * configure.ac: Bump version to 1.99~rc1.
17442
04360337
VS
174432011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17444
17445 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17446 for safety.
17447
46c9db88
VS
174482011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17451 module.
17452
174532011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17454
17455 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17456
4fbf1852
VS
174572011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17460 diskdevid.
17461
f1632d4d
VS
174622011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17463
17464 Fix compilation on cygwin.
17465
17466 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17467 -R .drectve on cygwin.
17468 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17469 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17470 (COND_CYGWIN): New condition.
17471 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17472 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17473 not @TARGET_OBJ2ELF@.
17474 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17475 type to determine whether aux is to be used.
17476
0b5e127b
VS
174772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17480 realpath'ed device string.
17481 Handle floppy (somewhat).
17482 Issue error in unknown case rather than garbage.
17483 Reported by: Axel Beckert.
17484
173b71e9
VS
174852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * util/grub.d/00_header.in (load_video): Handle the case when no video
17488 drivers available.
17489 Thanks to: Axel Beckert.
17490
f8f479db
VS
174912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17494 variable. Fixes problem on big endian platforms.
17495
8fc0a245
VS
174962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17497
17498 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17499 It doesn't work well there.
17500
b8494fbe
VS
175012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17504 warning.
17505 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17506 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17507 counter.
17508
b44a558c
VS
175092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 Use alias->path rather than buggy "canon".
17512
17513 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17514 (ofdisk_hash_add): New argument curcan. All users updated.
17515
51fa856c
CW
175162011-01-11 Colin Watson <cjwatson@ubuntu.com>
17517
17518 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17519
9da068a5
VS
175202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17523 loadmask before doing any calculations. Use correct type for offset.
17524 (grub_linux_load64): Likewise.
17525
86205c94
CW
175262011-01-11 Colin Watson <cjwatson@ubuntu.com>
17527
17528 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17529 with NULL.
17530 (console_grub_equivalences_unshift): Likewise.
17531 Reported by: Daniel Dehennin.
17532
4531a206
VS
175332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17536 (set_env_limn_ro): Likewise.
17537 (GRUB_MOD_INIT): Likewise.
17538 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17539 ARRAY_SIZE while on it.
17540 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17541 * grub-core/normal/context.c (grub_env_export): Move from here ...
17542 * grub-core/kern/env.c (grub_env_export): ... here.
17543 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17544 prefix.
17545 * grub-core/kern/main.c (grub_main): Export root and prefix.
17546 * include/grub/env.h (grub_env_export): Export.
17547 Reported by: Seth Goldberg.
17548
45146057
VS
175492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17552 Take into account space used by ELF sections and multiboot palette.
17553 Reported by: Grégoire Sutre.
17554
f093110b
VS
175552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17556
17557 * BUGS: New file.
17558
3395fe52
VS
175592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 Pass more appropriate video id to Linux.
17562
17563 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17564 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17565 fill have_vga.
17566 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17567 shift params->lfb_size.
17568 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17569
c2fa6cbb
VS
175702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17573
b3ff6ff0
VS
175742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17577 separator and pass bootpath/devid even if only one of them is available.
17578 Reported by: Seth Goldberg.
17579
ae67942e
VS
175802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17583 implementations bug on them.
17584
17585 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17586 memory.
17587 (filter_memory_map): Likewise.
17588
d570097a
VS
175892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17592 Reported by: nebuchadnezzar.
17593
a508e776
VS
175942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17597 Reported by: nebuchadnezzar.
17598
dcb883b1
VS
175992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 Submenu default support.
17602
17603 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17604 auto_boot. All users updated.
17605 Declared static.
17606 Handle chosen and default with submenus.
17607 (grub_menu_execute_with_fallback): Declared static.
17608 Don't notify failure if autobooted. Upper level does it.
17609 (menuentry_eq): New function.
17610 (get_entry_number): Use menuentry_eq.
17611 (show_menu): New parameter "autobooted". All users updated.
17612 (grub_show_menu): Likewise.
17613 * include/grub/normal.h (grub_show_menu): Likewise.
17614 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17615 (grub_menu_execute_with_fallback): Likewise.
17616
6fef99b4
VS
176172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * util/grub-mklayout.c (usage): Update help text.
17620
47a77af5
VS
176212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17624
ce6bb3ee
VS
176252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * util/grub-menulst2cfg.c (main): Trim the line.
17628
db87be2a
VS
176292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17632 (grub_machine_init): Don't check amount of low memory as reportedly
17633 INT 12h can be broken and if low memory is too low we wouldn't have
17634 gotten into grub_machine_init anyway.
17635
c49849cc
VS
176362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17639 (grub_machine_mmap_iterate): Take low memory into account
17640
b1969b30
VS
176412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17644 badfs.
17645 Reported by: TiCPU.
17646
cf0eaf13
VS
176472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17650 members errors.
17651
1f060f39
GS
176522011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17653
17654 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17655 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17656
a21e5672
GS
176572011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17658
17659 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17660 openbsd and netbsd types being in part_bsd module.
17661
c88172fa
VS
176622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17665 (_FILE_OFFSET_BITS): Likewise.
17666 Reported by: Seth Goldberg.
17667
53798c4b
GS
176682011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17669
17670 * configure.ac: Check for libdevmapper header.
17671
e7121b69
VS
176722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17675 avoid aliasing.
17676 (fzap_lookup): Likewise.
17677 (dnode_get): Likewise.
17678 (make_mdn): Likewise.
17679 (zfs_mount): Likewise.
17680 (fzap_iterate): Use temporary pointer to avoid aliasing.
17681 (grub_zfs_read): Likewise.
17682 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17683 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17684 pointers to avoid aliasing.
17685 (grub_cmd_xnu_kernel64): Likewise.
17686 (grub_xnu_load_driver): Likewise.
17687
fc836af9
VS
176882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17691 aliasing warning.
17692 (grub_cmd_terminal_output): Likewise.
17693 Reported and tested by: Grégoire Sutre.
17694
f9f37648
VS
176952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17696
17697 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17698 warning.
17699 Reported and tested by: Grégoire Sutre.
17700
ec1dfd63
VS
177012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17702
17703 * configure.ac: Do CPU substitution even if it's specified explicitly.
17704 Reported and tested by: Alain Greppin.
17705
9462775a
VS
177062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17709 Reported and tested by: Alain Greppin.
17710
0fd48e35
VS
177112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 Satisfy some bison versions need for inttypes.h.
17714
17715 * grub-core/lib/posix_wrap/inttypes.h: New file.
17716 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17717 (int16_t): Likewise.
17718 (int32_t): Likewise.
17719 (int64_t): Likewise.
17720 Reported and tested by: Alain Greppin.
17721
43f1bc83
VS
177222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17725 Silence spurious warning.
17726 Reported and tested by: Alain Greppin.
17727
64d1f041
SJ
177282011-01-07 Szymon Janc <szymon@janc.net.pl>
17729
17730 * docs/grub.texi (Support automatic decompression): Update with xz
17731 decompression support.
17732
25953e10
SJ
177332011-01-07 Szymon Janc <szymon@janc.net.pl>
17734
17735 Improve loaders' kernel command line handling.
17736
17737 * grub-core/lib/cmdline.c: New file.
17738 * include/grub/lib/cmdline.h: Likewise.
17739 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17740 grub_create_loader_cmdline to create kernel command line.
17741 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17742 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17743 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17744 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17745 (linux): Add lib/cmdline.c on common.
17746
e72d259f
VS
177472011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17750 inopos might be unaligned.
17751
c0cf26da
VS
177522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17755 endian transformations.
17756 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17757 Based on report by: Doug Nazar.
17758
0ca09e6c
DN
177592011-01-07 Doug Nazar <nazard.michi@gmail.com>
17760
17761 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17762 array->members[i].start_sector.
17763 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17764
014b6806
VS
177652011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17768 Reported and tested by: Grégoire Sutre.
17769
415502c2
CW
177702011-01-06 Colin Watson <cjwatson@ubuntu.com>
17771
17772 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17773 avoid causing test failures by clearing the screen.
17774
71b6a2b7
CW
177752011-01-06 Colin Watson <cjwatson@ubuntu.com>
17776
17777 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17778 Fix prefix check to handle the case where dir ends with a slash
17779 (most significantly, "/" itself).
17780 Reported by: Michael Vogt.
17781
b3f8d28a
VS
177822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 Run terminfo_cls on initing terminfo output to clear the screen and
17785 move the cursor to (0,0).
17786
17787 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17788 Call grub_terminfo_output_init.
17789 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17790 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17791 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17792
4c3e4f37
VS
177932011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17796 only when needed.
17797
488f71f1
VS
177982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17801 CTRL.
17802
18a38098
VS
178032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 The E820 type 5 is BADRAM, not EXEC_CODE.
17806
17807 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17808 (GRUB_E820_BADRAM): New define.
17809 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17810 into reserved. Propagate BADRAM.
17811 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17812 (GRUB_E820_BADRAM): New define.
17813
9eae2084
VS
178142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17817 Ignore the memory post-4G.
17818 (grub_relocator_firmware_alloc_region): Additional debug statement.
17819
ebc71d28
VS
178202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17823 names.
17824 Reported by: David Pravec.
17825
446fa400
VS
178262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17829 BIOSes.
17830
a0159f37
VS
178312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17834 Prevent overflow.
17835 (grub_reed_solomon_recover): Likewise.
17836
e5146ca1
VS
178372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17840
178412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17842
17843 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17844 variable.
17845
5b1bdf12
CW
178462011-01-04 Colin Watson <cjwatson@ubuntu.com>
17847
17848 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17849 descriptions of extract_legacy_entries_source and
17850 extract_legacy_entries_configfile.
17851 Reported by: Seung Soo, Ha.
17852
99d925aa
CW
178532011-01-03 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17856 on devices that do not implement function 0.
17857
4af0504b
DV
178582011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17859
17860 * grub-core/fs/hfsplus.c: Make parent unsigned.
17861 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17862 overflows.
17863 (grub_hfsplus_cmp_extkey): Likewise
17864
469ee10a
VS
178652011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 * util/grub-install.in: Correctly use bootloader_id and not
17868 GRUB_DISTRIBUTOR on efibootmgr line.
17869
323a8e9c
VS
178702011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17873
1b394975
IC
178742010-12-31 Ian Campbell <ijc@hellion.org.uk>
17875
17876 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17877 Xen and reorder menu item wording to make it clearer that this entry
17878 will launch Xen. Print separate messages when loading Xen and
17879 Linux.
17880
275bff5f
VS
178812010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17884 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17885 loop in case of incorrect amiga partmap.
17886
307806cb
VS
178872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17890 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17891 Reported by:EHeM.
17892
b12b923e
VS
178932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17896 spurious warning.
17897 Reported by: crocket
17898
14b48a19
VS
178992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17902 Preload EFIemu.
17903 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17904
693db2df
VS
179052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17908 is loaded
17909 (grub_cmd_xnu_kextdir): Likewise.
17910 (grub_cmd_xnu_splash): Likewise.
17911
c7638645
VS
179122010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 Avoid using Reed-Solomon with 0 redundancy.
17915
17916 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17917 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17918 or 0 redundancy.
17919 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17920 (grub_reed_solomon_recover): Likewise.
17921
25dd4780
VS
179222010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 Don't use disk subsystem in freebsd_boot.
17925
17926 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17927 (freebsd_biosdev): Likewise.
17928 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17929 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17930
0b2db943
VS
179312010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 Handling of files of unknown size is currently limited. They can't be
17934 used e.g. for initrd or modules. Moreover gzip handling of not
17935 easily seekable files is buggy. Disable unknown file size for now. May
17936 be inefficient but works.
17937
17938 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17939 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17940
5c408d0f
MP
179412010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17942
17943 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17944 floppy probe.
17945
190a011a
JD
179462010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17947
17948 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17949
022d01b8
SL
179502010-12-25 Shea Levy <shlevy>
17951
17952 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17953
c4855fdc
VS
179542010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17957 Windows Server 2008.
17958 Reported by: Devin Giddings.
17959
0354b867
VS
179602010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17963 writing an error message because of async power management.
17964 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17965 (grub_reboot): Likewise.
17966
ab66c69f
JU
179672010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17968
17969 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17970 keep unit tests from failing when they shouldn't.
17971
1426ef35
CW
179722010-12-21 Colin Watson <cjwatson@ubuntu.com>
17973
17974 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17975 previous patch increased the size of the RS code by 20 bytes (at
17976 least with gcc-4.4), so increase this by 20 bytes to match.
17977 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17978
20641b6b
CW
179792010-12-21 Colin Watson <cjwatson@ubuntu.com>
17980
17981 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17982 scratch area. Make sure to initialise chosen in standalone mode as
17983 well as non-standalone.
17984 Reported by: Robert Hooker and Andy Whitcroft.
17985 Tested by: Andy Whitcroft.
17986
d060ad60
CW
179872010-12-21 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17990 constructing a new unescaped string and passing it to grub_xputs in
17991 one go, rather than passing characters to grub_printf one at a time.
17992
b889cfad
CW
179932010-12-21 Colin Watson <cjwatson@ubuntu.com>
17994
17995 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17996 initialising utf16.
17997
4e01b6c8
CW
179982010-12-21 Colin Watson <cjwatson@ubuntu.com>
17999
18000 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
18001 comment. Add an extra layer of quotation, requiring the output of
18002 this function to be used in a printf format string.
18003 (gettext_printf): New function.
18004 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
18005 Extract translatable strings from here-documents and use a temporary
18006 variable instead, so that xgettext can find them.
18007 * util/grub.d/10_kfreebsd.in: Likewise.
18008 * util/grub.d/10_linux.in: Likewise.
18009 * util/grub.d/20_linux_xen.in: Likewise.
18010
18011 * po/grub.d.sed: New file.
18012 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
18013 arguments. Set c-format flags on all strings extracted from
18014 util/grub.d/ (xgettext refuses to include these itself for strings
18015 it extracted from a shell file, but these really are c-format).
18016
5318fe98
VS
180172010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
18020 Avoid next pointing to nowhere.
18021
6c85b743
VS
180222010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
18025 rather than assuming than rootblock is exactly in the middle.
18026 (grub_affs_label): Likewise.
18027
a2a08a35
VS
180282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
18031 reserved_first_sector to 0.
18032 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
18033 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18034 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
18035
7059d1ec
VS
180362010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 Fix handling of UTF-16 UDF labels.
18039
18040 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
18041 (read_string): .. here.
18042 (grub_udf_label): Use read_string.
18043
30aff4cb
BC
180442010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
18045
18046 * grub-core/normal/menu_entry.c (run): Execute commands from menu
18047 editor under argument scope.
18048 Reported by: Jordan Uggla
18049
5cf86f4b
VS
180502010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
18053
32570200
CW
180542010-12-18 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
18057 line, and other keys scroll an entire page (previous handling was
18058 for \r and \n to scroll a page and other keys to scroll two lines).
18059
e1dffcf2
VS
180602010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18063 Set ptrdest to correct get_physical_target_address rather than
18064 incorrect get_virtual_current_address.
18065
b04298cf 180662010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18067
18068 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18069 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18070
5367ecd3
CW
180712010-12-10 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * .bzrignore: Ignore grub-core/rs_decoder.S.
18074
1fb430f8
CW
180752010-12-10 Colin Watson <cjwatson@ubuntu.com>
18076
18077 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18078 .mo/.mo.gz opening sequence to ...
18079 (grub_mofile_open_lang): ... here.
18080 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18081 * util/grub.d/00_header.in (grub_lang): Include country part of
18082 locale.
18083 Reported by: Mario Limonciello.
18084
a94a6671
RM
180852010-12-09 Robert Millan <rmh@gnu.org>
18086
18087 * NEWS: Document addition of ZFS support.
18088
24b7938b
CW
180892010-12-04 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18092 rather than `/ 2', as the latter requires -Wa,--divide which would
18093 require bumping our minimum binutils version.
18094
bddc3ef6
BC
180952010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18096
18097 * util/grub-script-check.c (main): Print script line number on
18098 error.
18099
bf78d5b2
RM
181002010-12-01 Robert Millan <rmh@gnu.org>
18101
18102 * grub-core/fs/zfs/zfs.c: New file.
18103 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18104 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18105 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18106 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18107
18108 * include/grub/zfs/dmu.h: Likewise.
18109 * include/grub/zfs/dmu_objset.h: Likewise.
18110 * include/grub/zfs/dnode.h: Likewise.
18111 * include/grub/zfs/dsl_dataset.h: Likewise.
18112 * include/grub/zfs/dsl_dir.h: Likewise.
18113 * include/grub/zfs/sa_impl.h: Likewise.
18114 * include/grub/zfs/spa.h: Likewise.
18115 * include/grub/zfs/uberblock_impl.h: Likewise.
18116 * include/grub/zfs/vdev_impl.h: Likewise.
18117 * include/grub/zfs/zap_impl.h: Likewise.
18118 * include/grub/zfs/zap_leaf.h: Likewise.
18119 * include/grub/zfs/zfs.h: Likewise.
18120 * include/grub/zfs/zfs_acl.h: Likewise.
18121 * include/grub/zfs/zfs_znode.h: Likewise.
18122 * include/grub/zfs/zil.h: Likewise.
18123 * include/grub/zfs/zio.h: Likewise.
18124 * include/grub/zfs/zio_checksum.h: Likewise.
18125
18126 * Makefile.util.def: Build ZFS into libgrubmods.
18127 * grub-core/Makefile.core.def: Build zfs.mod.
18128
3f0f3831
SJ
181292010-11-30 Szymon Janc <szymon@janc.net.pl>
18130
18131 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18132 variable.
18133 * grub-core/commands/wildcard.c (match_files): Likewise.
18134
3a4253b2
RM
181352010-11-30 Robert Millan <rmh@gnu.org>
18136
18137 * grub-core/loader/i386/bsd.c
18138 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18139 whether kernel is loaded using grub_loader_is_loaded(), rather
18140 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18141 certain error conditions.
18142
8c317b27
RM
181432010-11-30 Robert Millan <rmh@gnu.org>
18144
c5c9cd3e
RM
18145 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18146 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 18147
49d3ab46
VS
181482010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 Avoid using tricks for initialising endian variables.
18151
18152 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18153 Make const.
18154 (GRUB_MOD_INIT): Don't byte-swap.
18155 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18156 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18157 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18158 (grub_swap_bytes32_compile_time): Likewise.
18159 (grub_cpu_to_le32_compile_time): Likewise.
18160 (grub_cpu_to_le16_compile_time): Likewise.
18161
f420a804
VS
181622010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18163
18164 * util/grub-setup.c (setup): Stop recommending --force. People who
18165 understand the dangers of blocklists are able to find this option
18166 anyway and the ones who don't shouldn't use it anyway.
18167
4e7db17b
RM
181682010-11-26 Robert Millan <rmh@gnu.org>
18169
18170 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18171 Update all users.
18172
9be57a0d
CW
181732010-11-26 Colin Watson <cjwatson@ubuntu.com>
18174
18175 Fix LVM-on-RAID probing.
18176
18177 * util/grub-probe.c (probe): Remember which disk was detected as
18178 RAID (perhaps an LVM physical volume). Use that disk's raidname
18179 rather than that of the top-level disk.
18180
2c7859b3 181812010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 18182
d7647bb6
BC
18183 Fix cmdline argument quotes for setparams command of menuentry
18184 definitions.
7e623b0d
BC
18185
18186 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18187 quotes for arguments.
f866fe80 18188 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 18189 grub_strchrsub function instead.
f866fe80 18190
7955bea0 18191 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 18192
74f72a64
CW
181932010-11-24 Colin Watson <cjwatson@ubuntu.com>
18194
18195 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18196 effort by skipping "." and ".." entries up-front.
18197 Suggested by: Michael Lazarev.
18198
5a407278
CW
181992010-11-24 Colin Watson <cjwatson@ubuntu.com>
18200
18201 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18202 ldflags to ldadd, to fix link line ordering.
18203 (none_decompress): Likewise.
18204
3030d8ec
CW
182052010-11-24 Colin Watson <cjwatson@ubuntu.com>
18206
18207 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18208 platforms.
18209 (grub-emu-lite): Remove kern/emu/cache.S.
18210
b7fbac12
CW
182112010-11-23 Colin Watson <cjwatson@ubuntu.com>
18212
18213 * util/deviceiter.c (compare_devices): If the by-id link for a
18214 device couldn't be resolved, fall back to sorting by the by-id link
18215 rather than segfaulting.
18216 Reported and tested by: Daniel Mierswa.
18217
5225f328
CW
182182010-11-23 Colin Watson <cjwatson@ubuntu.com>
18219
18220 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18221 ldflags, to fix link line ordering.
18222
038b3ce8
CW
182232010-11-23 Colin Watson <cjwatson@ubuntu.com>
18224
18225 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18226 linkers are picky about this.
18227
bf16e98e
CW
182282010-11-23 Colin Watson <cjwatson@ubuntu.com>
18229
18230 * grub-core/Makefile.am (command.lst): Adjust sed expression
18231 ordering so that extended and priority commands aren't treated as
18232 ordinary commands.
18233
7242bab6
CW
182342010-11-23 Colin Watson <cjwatson@ubuntu.com>
18235
18236 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18237 Remove byte-swapping function calls, which are not valid in
18238 structure initialisers.
18239 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18240 non-const.
18241 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18242 grub_gpt_partition_type_bios_boot.
18243
14e8b279
CW
182442010-11-22 Colin Watson <cjwatson@ubuntu.com>
18245
18246 Fix test program build on GNU/kFreeBSD.
18247
18248 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18249 $(LIBNVPAIR)' library dependencies.
18250
e6f63338 182512010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
18252
18253 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18254
cf8ffc38
CW
182552010-11-22 Colin Watson <cjwatson@ubuntu.com>
18256
18257 * util/grub-install.in: Remove excessive quoting that broke
18258 installations to RAID devices.
18259
7f8b0fd7
VS
182602010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18263 bootloader version instead of 0.
18264
dfd240b1
VS
182652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18268 warning.
18269
7b61e609
VS
182702010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18271
18272 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18273 retrieve the metadat sector if size isn't known.
18274 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18275
9dfe92d0
RM
182762010-11-18 Robert Millan <rmh@gnu.org>
18277
18278 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18279 with grub_memcmp().
18280
41cc919e
VS
182812010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18284 arrow.
18285 Reported by: Jordan Uggla.
18286
1afcc914
VS
182872010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 Make better UTF compliant.
18290
18291 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18292 sequences as incorrect.
18293 (grub_is_valid_utf8): Likewise.
18294 (grub_utf8_to_ucs4): Likewise.
18295 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18296 (grub_ucs4_to_utf8_alloc): Likewise.
18297 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18298
f1808884
VS
182992010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Make legacy_source behave like source.
18302
18303 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18304 grub_show_menu.
18305 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18306
24ec575b
CW
183072010-11-16 Colin Watson <cjwatson@debian.org>
18308
18309 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18310 (-Wunused implies -Wunused-parameter, but not vice versa).
18311
72b7c7aa
CW
183122010-11-16 Colin Watson <cjwatson@ubuntu.com>
18313
18314 * configure.ac: Make error messages less confusing by testing for
18315 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18316 accepted, but produces a diagnostic if something else is wrong).
18317
e98937aa
VS
183182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18321 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18322 (now unused).
18323 (grub_keyboard_controller_init)
18324 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18325 read the initial state since controller isn't inited yet.
18326
f6bbabc3
VS
183272010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18328
18329 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18330 allocate_regbeg may need to create new chunk header.
18331
22e7dbb2
VS
183322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18333
18334 Fix quoting in legacy parser.
18335
18336 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18337 single quotes.
18338 (grub_legacy_parse): Likewise.
18339 Reported by: Jordan Uggla.
18340 Tested by: Jordan Uggla.
18341
03f80960
VS
183422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 Don't add -lgcc on i386 and x86_64.
18345
18346 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18347 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18348 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18349
779dc15b
VS
183502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * configure.ac: Add -Wno-trampolines when supported.
18353
d20a3b37
MV
183542010-11-14 Modestas Vainius <modax@debian.org>
18355
18356 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18357 fakeraid.
18358
e5360933
GC
183592010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18360
18361 Add generic logical block size support for UDF.
18362
18363 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18364 (GRUB_UDF_BLKSZ): Removed.
18365 (struct grub_udf_data): New field "lbshift" to hold the logical block
18366 size of the file system in log2 format. All users updated.
18367 (sblocklist): Change type to unsigned.
18368 (grub_udf_mount): Change type of "sblklist" to unsigned.
18369 Move AVDP search before VRS recognition, because the latter requires
18370 knowledge of the logical block size, which is detected during the
18371 former.
18372 Detect and validate logical block size during AVDP search, adding
18373 support for block sizes 512, 1024 and 4096.
18374 Make VRS recognition independent of block size.
18375
cb0229c5
GC
183762010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18377
18378 Properly handle deleted files on UDF.
18379
18380 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18381 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18382 set.
18383
406858a8
GC
183842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18385
18386 Support reading files larger than 2 GiB.
18387
18388 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18389 "offset" to grub_off_t.
18390 (grub_udf_read_file): Likewise for parameter "pos".
18391
130da6a7
VS
183922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18395 unavailable.
18396 (Simple configuration): Refer to Changes from GRUB Legacy about
18397 save_env availability.
18398
65e93f6b
VS
183992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * util/grub-install.in: Ignore empty partition table detection
18402 instead of trying to include part_ module.
18403
1fd08bf1
VS
184042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18407 LVM on RAID support.
18408
de1a024f
VS
184092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 Properly define WORDS_BIGENDIAN in wrapped environments.
18412
18413 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18414 definition.
18415 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18416
18417 Reported by: Manoel Rebelo Abranches.
18418 Tested by: Manoel Rebelo Abranches.
18419
bc5dd0b9
VS
184202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18421
18422 * util/grub-mkconfig.in: Fix quoting.
18423
58c184be
VS
184242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 Support big ext2 files.
18427
18428 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18429 (grub_ext2_read_block): Support triple indirect blocks.
18430 (grub_ext2_read_file): Use 64-bit types and read size_high.
18431 (grub_ext2_open): Read size_high.
18432 Reported by: Ximin Luo.
18433 Tested by: Manoel Rebelo Abranches.
18434
5f0c02b3
VS
184352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * util/grub-install.in: Handle filenames containing spaces.
18438 Reported by: Jordan Uggla.
18439 Tested by: Jordan Uggla.
18440
4417aae6
VS
184412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * util/grub-mkconfig.in (grub_script_check): New variable.
18444 Use grub_script_check instead of grub-script-check.
18445 Reported by: Barry Jackson.
18446
7625a68e
VS
184472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 * docs/grub.texi (menu): Correct the order.
18450 Reported by: D. Hugh Redelmeier.
18451
10001ac5
VS
184522010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18455 jump.
18456
9c4cf53b
MRA
184572010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18458
10001ac5
VS
18459 * include/grub/elfload.h (grub_elf32_size): New parameter.
18460 All users updated.
9c4cf53b
MRA
18461 Return maximum segments alignment.
18462 (grub_elf64_size): Likewise.
18463 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18464 Return maximum segments alignment.
18465 (grub_elf64_size): Likewise.
18466 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18467 (grub_linux_claimmap_iterate): New function. Uses the
18468 "available" property in the "memory" node for memory allocation
18469 for kernel in the PowerPC loader.
9c4cf53b
MRA
18470 (grub_linux_load32): Correctly find linux entry point offset.
18471 (grub_linux_load64): Likewise.
18472
d2bf06bf
RM
184732010-11-07 Robert Millan <rmh@gnu.org>
18474
18475 On mips-yeeloong, build with -march=loongson2f when this flag is
18476 available (GCC >= 4.4).
18477 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18478 `-march=mips3'.
18479 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18480 or otherwise add -march=mips3.
18481
898c99a2
BC
184822010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18483
87220a68
BC
18484 Suppress shell expansion on echo '*' and echo "*" like cases.
18485 Reported by: Jordan Uggla.
898c99a2
BC
18486
18487 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18488 string arguments before shell expansion.
18489 * tests/grub_cmd_echo.in: New testcases.
18490
4f9b406a
RM
184912010-11-07 Robert Millan <rmh@gnu.org>
18492
18493 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18494 transition.
18495
80c6d25e
VS
184962010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18497
18498 * grub-core/kern/emu/hostdisk.c
18499 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18500
4a1a0153
VS
185012010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18504 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18505 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18506
34706ddc
VS
185072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18508
18509 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18510
6972dea9
VS
185112010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * util/grub-install.in: Replace useless recomendation to pass
18514 --modules with a recomendation to report a bug.
18515
9c693bd6
VS
185162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 Properly register serial terminfo.
18519 Reported by: Jordan Uggla
18520
18521 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18522 const.
18523 (grub_serial_terminfo_output_template): Likewise.
18524 (grub_cmd_serial): Register "serial" with terminfo.
18525 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18526 grub_serial_terminfo_output.
18527
6c9e4c0c
RM
185282010-11-05 Robert Millan <rmh@gnu.org>
18529
18530 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18531 needed).
18532
b9b3839f
RM
185332010-11-05 Robert Millan <rmh@gnu.org>
18534
18535 On Yeeloong, pass machine type information to Linux.
18536
18537 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18538 (LOONGSON_MACHTYPE): New macro, set to
18539 "machtype=lemote-yeeloong-2f-8.9inches".
18540 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18541 additional argument to Linux.
18542
1a3aaff4
RM
185432010-11-04 Robert Millan <rmh@gnu.org>
18544
18545 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18546 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18547 (its SATA disks are detected as slaveless IDE master drives on
18548 kFreeBSD).
18549 Reported by Carsten Aulbert.
18550
a75f4f62
CW
185512010-11-02 Colin Watson <cjwatson@ubuntu.com>
18552
18553 * util/bin2h.c (main): Fix spelling error in generated output.
18554
33b4b0c6
GS
185552010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18556
18557 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18558
2b36fbf4
VS
185592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18560
18561 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18562 vga= option is supplied.
18563
74aaf558
VS
185642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18567 * util/grub.d/10_kfreebsd.in: Likewise.
18568 * util/grub.d/10_linux.in: Likewise.
18569 * util/grub.d/20_linux_xen.in: Likewise.
18570
6428dec3
VS
185712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18574 argument as an argument to no-argument option.
18575
f8729d98
VS
185762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * util/grub.d/10_linux.in: Add missing load_video with explicit
18579 GRUB_GFXPAYLOAD_LINUX.
18580
89d68fa6
VS
185812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18584
3a1197cd
VS
185852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18588 elements with invlid index.
18589 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18590 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18591 members.
18592 * include/grub/raid.h (grub_raid_member): New struct.
18593 (grub_raid_array): Transform devices and start_sector into usage of
18594 grub_raid_member. All users updated
18595 (allocated_devs): New member.
18596
71574288
VS
185972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18600 is modified
18601
8d40ec65
BC
186022010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18603
18604 NetBSD build fix for getline function conflict from gnulib.
18605
18606 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18607 components that depend on gnulib headers.
18608 (libgrubmods.a): Renamed from earlier libgrub.a.
18609 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18610
95b9257e
VS
186112010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18614 install rather than creating a broken install.
18615
26c53dc6
VS
186162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18617
18618 * util/grub-setup.c (argp): Remove misleading example of installing to
18619 a partition.
18620
4171b3c5
VS
186212010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18622
18623 * util/grub-setup.c (setup): Clarify the error message.
18624
18568d18
VS
186252010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18626
18627 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18628
4f6a2e21
VS
186292010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18630
18631 * grub-core/kern/emu/misc.c
18632 (grub_make_system_path_relative_to_its_root)
18633 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18634
186352010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18636
18637 * grub-core/kern/emu/misc.c
18638 (grub_make_system_path_relative_to_its_root): Revert r2882.
18639
e138c458
VS
186402010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18643 useless field head. All users updated.
18644 (free_subchunk): Correct handling of IN_REGION subchunk.
18645
0cbcdf0e
CW
186462010-10-22 Colin Watson <cjwatson@ubuntu.com>
18647
18648 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18649 (Supported kernels): Likewise.
18650
b65ea155
GS
186512010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18652
18653 Make mktemp invocations portable.
18654
18655 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18656 exit if mktemp fails.
18657 * tests/grub_script_blockarg.in: Likewise.
18658 * tests/partmap_test.in: Likewise.
18659 * tests/util/grub-shell-tester.in: Likewise.
18660 * tests/util/grub-shell.in: Likewise.
18661 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18662 * Makefile.am: Likewise, and chain shell commands with `&&'
18663 instead of ';'.
18664 * util/grub-mkrescue.in: Use the same explicit template as above, and
18665 exit if mktemp fails.
18666
05f43cdd
BC
186672010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18668
18669 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18670 Linux kernel, reported by Dennis Schridde.
18671
800e6a9b
SJ
186722010-10-17 Szymon Janc <szymon@janc.net.pl>
18673
18674 * grub-core/normal/auth.c (grub_auth_check_authentication):
18675 Set-but-not-used variable removed.
18676
d82df574
VS
186772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18680 32-bit linux protocol.
18681
7bced458
VS
186822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18685 cursor shape for sanity.
18686
5b027690
VS
186872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * docs/grub.texi (Installation): Document buggy BIOS install.
18690
ba5f65cf
VS
186912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18692
18693 * docs/grub.texi (Installation): Indent.
18694
fdf2ec9c
VS
186952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18696
18697 * util/grub-setup.c (setup): New parameter allow_floppy.
18698 (arguments): New member allow_floppy.
18699 (argp_parser): Handle --allow-floppy.
18700 (main): Pass allow_floppy.
18701 * util/grub-install.in: New option --allow-floppy passed though to
18702 grub-setup.
18703
861dfd4c
VS
187042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 * util/grub-install.in: Handle partitionless disks.
18707
f77a8c24
VS
187082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 * util/grub-setup.c (setup): Don't clean blocklists before readability
18711 verfification.
18712
27d9ee32
VS
187132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 * docs/grub.texi (Installation): Document embedding zone. Remove
18716 obsolete grub-install example.
18717
6bdda8f8
SJ
187182010-10-16 Szymon Janc <szymon@janc.net.pl>
18719
18720 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18721 Set-but-not-used variable ifdef'ed.
18722 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18723 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18724 variable removed.
18725 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18726 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18727 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18728 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18729 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18730 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18731 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18732 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18733 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18734 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18735 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18736 Likewise.
18737
e19b016b
VS
187382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18741 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18742 enum value.
18743
6c8d3002
VS
187442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18747 synonym to _S5_. Needed for some DSDTs.
18748
c32b51c9
VS
187492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 Userspace ACPI parser debugging.
18752
18753 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18754 headers and add relevant defines. Don't include standard headers.
18755 (main) [GRUB_DSDT_TEST]: New function.
18756 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18757 Don't declare functions.
18758
fbfbeb39
VS
187592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 Remove dead grub_efi_mm_fini.
18762
18763 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18764 (ALLOCATED_PAGES_SIZE): Likewise.
18765 (MAX_ALLOCATED_PAGES): Likewise.
18766 (allocated_pages): Likewise.
18767 (grub_efi_allocate_pages): Don't record allocated pages.
18768 (grub_efi_free_pages): Likewise.
18769 (grub_efi_mm_init): Likewise.
18770 (grub_efi_mm_fini): Removed.
18771
65f7ed7c
VS
187722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18775 (grub_efi_mm_init): Take into account the memory map size increase.
18776
24977b44
VS
187772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18778
18779 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18780 (serial_hw_put): Wait based on real time rather than port reads. Don't
18781 roken ports.
18782 * include/grub/serial.h (grub_serial_port): New field broken.
18783
1eb01cd2
RM
187842010-10-16 Robert Millan <rmh@gnu.org>
18785
18786 * grub-core/kern/emu/misc.c
18787 (grub_make_system_path_relative_to_its_root): Fix premature return
18788 when processing non-root ZFS filesystems.
5f8b440b 18789 Reported by Sergio Talens-Oliag.
1eb01cd2 18790
2d5fed60
RM
187912010-10-15 Robert Millan <rmh@gnu.org>
18792
18793 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18794 guarantee compressed ones are processed first.
18795
d0f4c1ea
VS
187962010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18799 grub_efiemu_autocore.
18800
d87c681f
VS
188012010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18804 rather than 0x1b.
18805 (grub_console_getkey): Use correct jae opcode rather than ja.
18806
219b3564
RM
188072010-10-12 Robert Millan <rmh@gnu.org>
18808
18809 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18810 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18811 variable. All references updated.
18812
18813 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18814
20c6bb7e
VS
188152010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 Correctly distinguish mdraid flavours.
18818
18819 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18820 (insert_array): New argument raid.
18821 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18822 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18823 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18824
74baff84
VS
188252010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18828 handling of special keys.
18829
3ef068df 188302010-10-02 Aleš Nesrsta <starous@volny.cz>
18831
c7980ad9
VS
18832 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18833 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18834
a9455194 188352010-10-02 Aleš Nesrsta <starous@volny.cz>
18836
c7980ad9
VS
18837 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18838 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18839 users updated.
a9455194 18840 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18841 Use right endpoint when querying descriptor.
a9455194 18842
441cfe65
VS
188432010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18844
18845 Clear out 0x80 color bit on EFI.
18846 Tested by: decoder
18847 Reported by: decoder and meta tech.
18848
18849 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18850 (grub_console_setcolorstate): Clear out 0x80 bit.
18851 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18852 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18853 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18854
bf26bcc4
VS
188552010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18858 Set to "auto".
18859
6e3c515d
VS
188602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18863 mo_file after freeing.
18864
e6d983ba
VS
188652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18866
18867 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18868
74ccb5b5
VS
188692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18872 flags.
18873
17821956
VS
188742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18877 usage.
18878
ee74fa48
VS
188792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18882
18883 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18884 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18885 and terminfo.h when needed.
18886 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18887 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18888 (terminfo): Enable only on terminfokernel.
18889 (extcmd): Likewise.
18890 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18891 * include/grub/lib/arg.h: Likewise.
18892 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18893 incorrect usage of ->.
18894
aa438e68
VS
188952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18898 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18899
57994012
VS
189002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 Fix coreboot compilation.
18903
18904 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18905 Take VBE info into account even if only text is supported.
18906 (fill_vbe_info): Take into account the case when only VGA text
18907 is supported.
18908 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18909 on coreboot, multiboot and qemu.
18910
2a406611
VS
189112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18914 debug messages.
18915 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18916
d33613fc
VS
189172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18920 parameters.
18921
44a1b432
VS
189222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18925 if they were BSD-style.
18926
edde54e6
VS
189272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 * grub-core/boot/i386/pc/lnxboot.S: Replace
18930 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18931 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18932
b65830fa
VS
189332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 Write embedding zone using Reed-Solomon.
18936
18937 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18938 * grub-core/Makefile.am (rs_decoder.S): New target.
18939 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18940 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18941 (multiboot): Move to RS part.
18942 (post_reed_solomon): New label.
18943 (grub_boot_drive): Move to non-RS part since it's modified in memory
18944 on boot.
18945 Include rs_decoder.S.
18946 * grub-core/lib/reed_solomon.c: New file.
18947 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18948 New definition.
18949 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18950 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18951 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18952 * include/grub/partition.h (grub_partition_map): Change prototype of
18953 embed to allow returning additional sectors.
18954 * include/grub/reed_solomon.h: New file.
18955 * util/grub-setup.c (setup): Handle Reed-Solomon.
18956
0b4b227f
CW
189572010-09-28 Colin Watson <cjwatson@ubuntu.com>
18958
18959 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18960 i386 and x86-64 definedness tests.
18961
f772623b
YB
189622010-09-27 Yves Blusseau <blusseau@zetam.org>
18963
18964 Fix generation of kernel_syms.lst
18965
18966 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18967 ASM_PREFIX
18968
8e57a6ca
RM
189692010-09-26 Robert Millan <rmh@gnu.org>
18970
18971 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18972
18973 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18974 the pool is an array of devices, iterate through it and return the
18975 first device that passes a stat() test (instead of blindly returning
18976 the first one).
18977
f9130836
RM
189782010-09-26 Robert Millan <rmh@gnu.org>
18979
18980 Build fixes for GNU/kFreeBSD.
18981
18982 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18983 to programs that require ZFS conversion.
18984 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18985 kernels that don't have FLOPPY_MAJOR.
18986
96510faf
BC
189872010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18988
18989 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18990
449333eb
BC
189912010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18992
18993 Fix grub-emu build.
18994
18995 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18996 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18997 mdraid09 and mdraid1x.
18998
e1fd1939
CW
189992010-09-24 Colin Watson <cjwatson@ubuntu.com>
19000
19001 Re-enable grub-extras.
19002
19003 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
19004 avoid confusing Automake. Run autogen only twice, once for the top
19005 level and once for grub-core. Add Makefile.util.def and
19006 Makefile.core.def from extra modules to the appropriate autogen
19007 invocations. If Makefile.common exists in an extra module, include
19008 it in both Makefile.util.am and grub-core/Makefile.core.am;
19009 similarly, include any Makefile.util.common file in Makefile.util.am
19010 and any Makefile.core.common file in grub-core/Makefile.core.am.
19011 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
19012 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
19013 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
19014 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
19015
19016 * gentpl.py (gvar_add): Turn GVARS into a set.
19017 (global_variable_initializers): Sort global variables on output.
19018 (vars_init): New function.
19019 (first_time): Likewise.
19020 (library): Ensure that non-global variable initialisations are
19021 emitted before the first time we emit code for a library block.
19022 Append to variables rather than setting them. Only emit
19023 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
19024 each conditional path.
19025 (program): installdir() emits an Autogen macro, so must be passed to
19026 var_add rather than gvar_add.
19027 (data): Likewise.
19028 (script): Likewise.
19029 (rules): New function, centralising handling for different target
19030 types. Set up Guile association lists for first_time and vars_init,
19031 and send most output to a diversion so that variable initialisations
19032 can be emitted first.
19033 (module_rules): Use new rules function.
19034 (kernel_rules): Likewise.
19035 (image_rules): Likewise.
19036 (library_rules): Likewise.
19037 (program_rules): Likewise.
19038 (script_rules): Likewise.
19039 (data_rules): Likewise.
19040
19041 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
19042
19043 * .bzrignore: Add contrib and grub-core/contrib. Remove
19044 grub-core/Makefile.gcry.am.
19045
1d12cf29
YB
190462010-09-24 Yves Blusseau <blusseau@zetam.org>
19047
19048 * grub-core/lib/LzFind.c: Add missing include.
19049 * grub-core/lib/LzmaEnc.c: Likewise.
19050 * grub-core/script/lexer.c: Likewise.
19051 * grub-core/script/yylex.l: Likewise.
19052 * util/grub-macho2img.c: Likewise.
19053 * util/grub-menulst2cfg.c: Likewise.
19054 * util/grub-mklayout.c: Likewise.
19055 * util/grub-mkpasswd-pbkdf2.c
19056 * util/grub-mkrelpath.c: Likewise.
19057 * util/resolve.c: Likewise.
19058
dd363028
BC
190592010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19060
19061 * Makefile.util.def (example_unit_test): Add
19062 grub-core/gnulib/libgnu.a.
19063
f5a109e2
GS
190642010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19065
19066 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19067
6d0fa83c
VS
190682010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 Support xz compression on yeeloong.
19071
19072 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19073 * configure.ac: Check for LZMA.
19074 * grub-core/Makefile.core.def (xz_decompress): New target.
19075 (none_decompress): Likewise.
19076 * grub-core/boot/decompressor/minilib.c: New file.
19077 * grub-core/boot/decompressor/none.c: Likewise.
19078 * grub-core/boot/decompressor/xz.c: Likewise.
19079 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19080 * grub-core/kern/mips/cache_flush.S: Likewise.
19081 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19082 * grub-core/kern/mips/startup.S: Move first stage to ...
19083 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19084 nomacro.
19085 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19086 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19087 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19088 Allocate statically.
19089 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19090 Allocate statically or use scratch. Don't check CRC32.
19091 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19092 Allocate statically. Don't check CRC32.
19093 * include/grub/decompressor.h: New file.
19094 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19095 Removed.
19096 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19097 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19098 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19099 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19100 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19101 * util/grub-mkimage.c (grub_compression_t): New type.
19102 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19103 (image_target_desc): New field default_compression.
19104 (image_targets): Adjust yeeloong targets.
19105 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19106 (compress_kernel): New parameter comp.
19107 (generate_image): Likewise. Handle new compression case.
19108 (options): New option --compression
19109 (help): Likewise.
19110 (main): Handle new option.
19111
1b655af6
GS
191122010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19113
19114 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19115
8f03f0b5
CW
191162010-09-22 Colin Watson <cjwatson@ubuntu.com>
19117
19118 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19119 typo in __i386__ conditional.
19120
7835dfd3
VS
191212010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19122
19123 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19124 include.
19125
e255597e
VS
191262010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19127
6d0fa83c 19128 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
19129
19130 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19131 new tags as supported.
19132 (acpiv2_size): New function.
19133 (grub_multiboot_get_mbi_size): Take new tags into account.
19134 (grub_multiboot_make_mbi): Add new tags.
19135 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 19136
6cc14051 191372010-09-21 Aleš Nesrsta <starous@volny.cz>
19138
19139 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19140 Added missing configuration of USB device.
19141
df7769d8
CW
191422010-09-21 Colin Watson <cjwatson@ubuntu.com>
19143
19144 * grub-core/normal/menu_entry.c (run): Make sure we always return
19145 a value.
19146
b031012d
CW
191472010-09-21 Colin Watson <cjwatson@ubuntu.com>
19148
19149 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19150 NumberOfPages is UINT64 according to the UEFI specification, not
19151 UINTN. Fix printf format.
19152
174de8f3
CW
191532010-09-21 Colin Watson <cjwatson@ubuntu.com>
19154
19155 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19156 `err' to grub_usb_err_t.
19157 Reported and tested by: KESHAV P.R.
19158
d7dbe923
CW
191592010-09-21 Colin Watson <cjwatson@ubuntu.com>
19160
19161 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19162 tpart non-const, so that we can assign to it. (Since this is a
19163 typedef, the constness refers to the pointer rather than what it
19164 points to.)
19165
8d5e2af3
CW
191662010-09-21 Colin Watson <cjwatson@ubuntu.com>
19167
19168 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19169 $(top_srcdir)/grub-core/gnulib as well as
19170 $(top_builddir)/grub-core/gnulib.
19171 Reported by: KESHAV P.R.
19172
5c527783
CW
191732010-09-21 Colin Watson <cjwatson@ubuntu.com>
19174
19175 * util/grub-install.in: Fix the bootloader ID option to be
19176 consistently --bootloader-id, not --bootloader_id.
19177 Reported by: KESHAV P.R.
19178
d309a16e
CW
191792010-09-21 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19182 check hash checksum." consistently translatable.
19183
b830cd16
YB
191842010-09-21 Yves Blusseau <blusseau@zetam.org>
19185
19186 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19187 $(top_builddir).
19188
c4fe27a8
CW
191892010-09-21 Colin Watson <cjwatson@ubuntu.com>
19190
19191 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19192 (GRUB_MOD_INIT): Register sha1sum command.
19193 (GRUB_MOD_FINI): Unregister sha1sum command.
19194
a4c1d277
YB
191952010-09-21 Yves Blusseau <blusseau@zetam.org>
19196
19197 Keep boot and grub directory names in sync with utils scripts
19198
19199 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19200 * config.h.in: Add previous macros.
19201 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19202 * util/grub-install.in: Use $bootdir and $grubdir variables.
19203
4eff79d2
CW
192042010-09-21 Colin Watson <cjwatson@ubuntu.com>
19205
19206 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19207 convert partition names to disk names if the new `convert' parameter
19208 is set.
19209 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19210 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19211 disk in its own right. This can happen with Xen disk images.
19212
934d7e44
YB
192132010-09-21 Yves Blusseau <blusseau@zetam.org>
19214
19215 * util/grub-editenv.c: Update strings to avoid warnings when generating
19216 grub.pot file.
19217 * util/grub-setup.c: Likewise.
934d7e44 19218
df3367cc
VS
192192010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 * configure.ac: Change version to 1.99~beta0.
19222
77a94e98
VS
192232010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19226 Add BADRAM.
19227 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19228 Likewise.
19229 * include/multiboot.h: Resynced with specification.
19230 * include/multiboot2.h: Likewise.
19231
269004c1
CW
192322010-09-21 Colin Watson <cjwatson@ubuntu.com>
19233
19234 Fix po directory handling.
19235
19236 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19237 * grub-core/gnulib/Makefile.am: Import gettext module.
19238 * m4/gnulib-cache.m4: Likewise.
19239 * m4/gnulib-comp.m4: Likewise.
19240 * m4/gettext.m4: New file, from gnulib.
19241 * m4/glibc2.m4: Likewise.
19242 * m4/iconv.m4: Likewise.
19243 * m4/intdiv0.m4: Likewise.
19244 * m4/intl.m4: Likewise.
19245 * m4/intldir.m4: Likewise.
19246 * m4/intlmacosx.m4: Likewise.
19247 * m4/intmax.m4: Likewise.
19248 * m4/inttypes-pri.m4: Likewise.
19249 * m4/lcmessage.m4: Likewise.
19250 * m4/lib-ld.m4: Likewise.
19251 * m4/lib-link.m4: Likewise.
19252 * m4/lib-prefix.m4: Likewise.
19253 * m4/lock.m4: Likewise.
19254 * m4/nls.m4: Likewise.
19255 * m4/po.m4: Likewise.
19256 * m4/printf-posix.m4: Likewise.
19257 * m4/progtest.m4: Likewise.
19258 * m4/threadlib.m4: Likewise.
19259 * m4/uintmax_t.m4: Likewise.
19260 * m4/visibility.m4: Likewise.
19261 * po/Makefile.am: Remove.
19262 * po/Makefile.in.in: New file, from gettext.
19263 ($(DOMAIN).pot-update): Support POTFILES-shell.
19264 * po/Makevars: New file.
19265 * po/POTFILES-shell: Rename to ...
19266 * po/POTFILES-shell.in: ... this. Update.
19267 * po/POTFILES: Rename to ...
19268 * po/POTFILES.in: ... this. Update.
19269 * po/Rules-quot: New file, from gettext.
19270 * po/boldquot.sed: Likewise.
19271 * po/en@boldquot.header: Likewise.
19272 * po/en@quot.header: Likewise.
19273 * po/insert-header.sin: Likewise.
19274 * po/quot.sed: Likewise.
19275 * po/remove-potcdate.sin: Likewise.
19276
3e0fa5d0
VS
192772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19280
ade9bd66
VS
192812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * util/grub.d/20_linux_xen.in: Use submenus.
19284
fc55cc4c
VS
192852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 Support submenus.
19288
19289 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19290 parameter submenu. All users updated.
19291 * grub-core/normal/main.c (free_menu): Rename to ...
19292 (grub_normal_free_menu): ... this. Made global.
19293 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19294 if requested.
19295 * grub-core/normal/menu_entry.c (screen): New field submenu.
19296 (make_screen): Set submenu.
19297 (run): Open new context if requested.
19298 * include/grub/menu.h (grub_menu_entry): New field submenu.
19299 * include/grub/normal.h (grub_normal_free_menu): New proto.
19300
600cedf7
VS
193012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19302
19303 Menu entries extractor.
19304
19305 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19306 variants.
19307 (GRUB_MOD_INIT): Register new variants.
19308 (GRUB_MOD_FINI): Unregister new variants.
19309 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19310 into grub_cmd_legacy_source.
19311 (grub_cmd_legacy_source): Implement extractor variants.
19312 (GRUB_MOD_INIT): Register new variants.
19313 (GRUB_MOD_FINI): Unregister new variants.
19314 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19315 as an extractor.
19316 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19317 search as an extractor.
19318 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19319 test as an extractor.
19320 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19321 as an extractor.
19322 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19323 (grub_env_new_context): New function.
19324 (grub_env_context_open): Likewise.
19325 (grub_env_extractor_open): Likewise.
19326 (grub_env_extractor_close): Likewise.
19327 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19328 grub_extractor_level.
19329 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19330 * include/grub/env.h (grub_env_extractor_open): New proto.
19331 (grub_env_extractor_close): Likewise.
19332 * include/grub/normal.h (grub_extractor_level): New external variable.
19333
7bda3a87
VS
193342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 Make cutmem accept a region specification.
19337 Suggested by: Samuel Thibault
19338
19339 * grub-core/mmap/mmap.c (parsemem): New function.
19340 (grub_cmd_cutmem): Handle new arguments.
19341
2ea57f88
VS
193422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 New command cutmem.
19345
19346 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19347 (GRUB_MOD_INIT): Register new command.
19348 (GRUB_MOD_FINI): Unregister new command.
19349
74342e31
VS
193502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 Support some annoying BSD and Minix subpartitions.
19353
19354 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19355 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19356 Properly handle concatenation.
19357 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19358 * grub-core/normal/completion.c (iterate_partition): Likewise.
19359 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19360 contain partition. All users updated.
19361 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19362 struct.
19363 (grub_openbsdlabel_partition_map): Likewise.
19364 (bsdlabel_partition_map_iterate): Rename to ..
19365 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19366 (bsdlabel_partition_map_iterate): New function.
19367 (netopenbsdlabel_partition_map_iterate): Likewise.
19368 (netbsdlabel_partition_map_iterate): Likewise.
19369 (openbsdlabel_partition_map_iterate): Likewise.
19370 (GRUB_MOD_INIT): Register new partmaps.
19371 (GRUB_MOD_FINI): Unregister new partmaps.
19372 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19373 (grub_partition_msdos_iterate): ... this. All users updated.
19374 Don't support embedding other than in a minix partition.
19375 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19376 proto.
19377 * include/grub/partition.h (grub_partition): New field msdostype.
19378 * util/grub-install.in: Handle openbsd and netbsd types being in
19379 part_bsd module.
19380
1e8d555b
VS
193812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19384
19385 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19386 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19387 (mdraid09): ... this.
19388 (mdraid1x): New module.
19389 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19390 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19391
899d8af4
VS
193922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19395 vsprintf.
19396
40901acd
CW
193972010-09-20 Colin Watson <cjwatson@ubuntu.com>
19398
19399 * grub-core/commands/efi/lsefimmap.c: Correct header.
19400 * NEWS: Update.
19401
dfe3b247
CW
194022010-09-20 Colin Watson <cjwatson@ubuntu.com>
19403
19404 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19405 as printf format strings; the translations might contain '%' which
19406 could cause a crash.
19407 (main): Likewise.
19408 * util/grub-fstest.c (argp_parser): Likewise.
19409 * util/grub-setup.c (argp_parser): Likewise.
19410 (main): Likewise.
19411
3286a4b4
VS
194122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 Use argp in grub-fstest.
19415
19416 * util/grub-fstest.c: Don't include getopt.h.
19417 Include argp.h.
19418 (root): New variable.
19419 (args_count): Likewise.
19420 (nparm): Likewise.
19421 (num_disks): Likewise.
19422 (images): Likewise.
19423 (cmd): Likewise.
19424 (debug_str): Likewise.
19425 (args): Likewise.
19426 (options): Transformed to argp.
19427 (usage): Removed.
19428 (main): Split argument parsing into ...
19429 (argp_parser): ... this. Changed to argp format.
19430 (argp): New variable.
19431 (main): Use argp_parse.
19432
3dccbe4b
TG
194332010-09-20 Tristan Gingold <gingold@free.fr>
194342010-09-20 Robert Millan <rmh.grub@aybabtu.com>
194352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 * grub-core/commands/efi/lsefimmap.c: New file.
19438 * grub-core/Makefile.core.def (lsefimmap): New module.
19439 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19440
38c259a7
VS
194412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 Pause the execution (10s max) if any errors are displayed so the user
19444 has a chance to see them.
19445
19446 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19447 (grub_print_error): Increment grub_err_printed_errors.
19448 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19449 execution if any errors were displayed.
19450 (show_menu): Remove old code for pause.
19451 * grub-core/normal/menu_entry.c (run): Likewise.
19452 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19453 users updated.
19454 (grub_normal_get_char_counter): Likewise.
19455 * include/grub/err.h (grub_err_printed_errors): New external variable.
19456 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19457
f218b09c
VS
194582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 Support multiboot VBE info.
19461
19462 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19463 Take VBE info into account.
19464 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19465 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19466 Call fill_vbe_info when appropriate.
19467 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19468 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19469 as supported.
19470 (grub_multiboot_get_mbi_size): Take new tags into account.
19471 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19472 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19473 Call fill_vbe_tag when appropriate.
19474 (grub_multiboot_make_mbi): Properly align tags.
19475 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19476 function.
19477 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19478 proto.
19479 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19480
a9cc5438
VS
194812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 Suport manual terminal geometry specification.
19484
19485 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19486 Save state in grub_ofconsole_terminfo_output.
19487 (grub_ofconsole_term): Use grub_terminfo_getwh.
19488 (grub_ofconsole_getwh): Removed.
19489 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19490 (grub_serial_term): Use grub_terminfo_getwh.
19491 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19492 (options): New struct.
19493 (OPTION_*): New enum.
19494 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19495 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19496 width and height.
19497 (grub_terminfo_getwh): New proto.
19498 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19499
1a8fed20
VS
195002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 Handle legacy "terminal" command.
19503
19504 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19505 and FLAG_TERMINAL.
19506 (legacy_commands): Add terminal and title.
19507 (grub_legacy_parse): Handle terminal. Simplify title handling.
19508
41e9c57d
VS
195092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19512 parameters overflow.
19513
61c874c5
CW
195142010-09-20 Colin Watson <cjwatson@ubuntu.com>
19515
19516 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19517 widthspec.h.
19518
19519 * docs/grub.texi (Shell-like scripting): Document `!'.
19520 (Network): Simplify using new i386-pc-pxe format. Mention
19521 grub-mknetdir.
19522
19523 * NEWS: Update.
19524
943682b4
CW
195252010-09-20 Colin Watson <cjwatson@ubuntu.com>
19526
19527 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19528 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19529 when needed.
19530
6d3d698d
CW
195312010-09-20 Colin Watson <cjwatson@ubuntu.com>
19532
19533 * grub-core/commands/efi/lsefisystab.c: Correct header.
19534 * grub-core/commands/efi/lssal.c: Likewise.
19535 * grub-core/commands/testload.c: Likewise.
19536
c982589f
CW
195372010-09-20 Colin Watson <cjwatson@ubuntu.com>
19538
19539 * util/grub-mkrescue.in: Add explicit root argument to --set to
19540 prevent the UUID being interpreted as an argument to --set (matches
19541 previous change to prepare_grub_to_access_device).
19542
a63c31b6
CW
195432010-09-20 Colin Watson <cjwatson@ubuntu.com>
19544
19545 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19546 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19547 the verbosity of later #ifs.
19548 (find_partition_start): Define this function on FreeBSD too.
19549 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19550 function.
19551 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19552 on FreeBSD.
19553
6439b8ee
YB
195542010-09-20 Yves Blusseau <blusseau@zetam.org>
19555
19556 * util/grub-editenv.c: Use argp instead of getopt.
19557
c5930ec8
YB
195582010-09-20 Yves Blusseau <blusseau@zetam.org>
19559
19560 * util/grub-setup.c: Use argp instead of getopt.
19561
15c69261
YB
195622010-09-20 Yves Blusseau <blusseau@zetam.org>
19563
19564 Use gnulib-tool to create gnulib source files.
19565
19566 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19567 grub-core/gnulib directories
19568 * .bzignore: Add **/.deps and autogenerated gnulib files
19569 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19570 of gnulib macros, add grub-core/gnulib/Makefile
19571 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19572 include m4 directory to aclocal.
19573 * Makefile.util.def: Remove direct compilation of gnulib source files
19574 and use the new grub-core/gnulib/libgnu.a.
19575 * build-aux/config.rpath: move config.rpath from top directory to
19576 build-aux
19577 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19578 in gnulib headers
19579 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19580 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19581 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19582 header.
19583 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19584 string.
19585
e511c9f5
YB
195862010-09-20 Yves Blusseau <blusseau@zetam.org>
19587
19588 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19589 grub-core/genmod.sh and grub-core/gensyminfo.sh
19590
c2dede05
BC
195912010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19592
19593 Add a test for echo command options.
19594
19595 * tests/grub_cmd_echo.in: New test.
19596 * Makefile.util.def: Rules for new test.
19597
c55f5018
SJ
195982010-09-20 Szymon Janc <szymon@janc.net.pl>
19599
19600 Remove crc.mod and move crc command to hashsum.mod.
19601 Remove lib/crc.c - users updated to use gcrypt implementation.
19602
19603 * grub-core/commands/crc.c: Removed.
19604 * grub-core/Makefile.core.def (crc): Module removed.
19605 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19606 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19607 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19608 * grub-core/lib/crc.c: Removed.
19609 * include/grub/lib/crc.h: Removed.
19610 * Makefile.util.def (crc): Remove lib/crc.c
19611 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19612 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19613 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19614 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19615 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19616 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19617
e0337366
VS
196182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19621
742f9232
VS
196222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 Split config.h for util and core.
19625
19626 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19627 (ADDR32): Likewise.
19628 (DATA32): Likewise.
19629 (BSS_START_SYMBOL): Likewise.
19630 (END_SYMBOL): Likewise.
19631 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19632 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19633 * config.h.in: New file.
19634 * configure.ac: Use config-util.h as config define file.
19635 Rename MACHINE into GRUB_MACHINE. All users updated.
19636 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19637 updated.
19638 (NESTED_FUNC_ATTR): Likewise.
19639 Substitue new variables.
19640 (COND_HAVE_ASM_USCORE): New conditional.
19641 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19642 (kernel_syms.lst): Use ASM_PREFIX.
19643 * grub-core/kern/emu/console.c: Include config-util.h.
19644 * grub-core/kern/emu/misc.c: Likewise.
19645 * grub-core/kern/emu/mm.c: Likewise.
19646 * include/grub/emu/misc.h: Likewise.
19647 * include/grub/libgcc.h: Likewise.
19648
39feb0e8
VS
196492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19652 constants usage.
19653 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19654 Fix GRUB_TERM_KEY_* constants usage.
19655 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19656
9af6dac3
VS
196572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19660 print pointer.
19661 * grub-core/bus/usb/uhci.c: Remove empty define.
19662 (grub_uhci_check_transfer): Add missing cast.
19663 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19664 print pointer.
19665 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19666 PRIuGRUB_SIZE.
19667 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19668
d6d94820
VS
196692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * grub-core/Makefile.core.def (legacycfg): Add
19672 lib/i386/pc/vesa_modes_table.c on emu.
19673
3572f2b6
BC
196742010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19675
19676 Reduce number of temporary files generated by build system.
19677
19678 * grub-core/gencmdlist.sh: Removed.
19679 * grub-core/genfslist.sh: Removed.
19680 * grub-core/genhandlerlist.sh: Removed.
19681 * grub-core/genmodsrc.sh: Removed.
19682 * grub-core/genpartmaplist.sh: Removed.
19683 * grub-core/genparttoollist.sh: Removed.
19684 * grub-core/gentermiinallist.sh: Removed.
19685 * grub-core/genvideolist.sh: Removed.
19686
19687 * grub-core/genmod.sh.in: New file.
19688 * grub-core/gensyminfo.sh.in: New file.
19689
19690 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19691 * conf/Makefile.extra-dist: Update with new files.
19692 * gentpl.py: Remove rules related to unnecessary temporary files.
19693 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19694 and und-* files.
19695 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19696 genmod.sh scripts.
19697 * grub-core/bus/usb/uhci.c: Remove empty #define.
19698 * grub-core/genmoddep.awk: Updated with new syminfo format.
19699 * util/bash-completion.d/Makefile.am: Add config.log to
19700 CLEANFILES.
19701
c836b030
YB
197022010-09-19 Yves Blusseau <blusseau@zetam.org>
19703
19704 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19705
2f4e8053
BC
197062010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19707
19708 * util/grub-mkconfig.in: Check the config script for syntax errors
19709 before saving.
19710
75831c34
CW
197112010-09-19 Colin Watson <cjwatson@ubuntu.com>
197122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19713
19714 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19715 platforms.
19716 * util/grub-install.in: Add EFI and IEEE1275 support.
19717 * util/i386/efi/grub-install.in: Removed.
19718 * util/ieee1275/grub-install.in: Likewise.
19719
eaf41b25
VS
197202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19721
19722 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19723 (grub_cmd_cmosclean): Likewise.
19724 (GRUB_MOD_INIT): Register command cmosclean.
19725 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19726 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19727
1a9130dd
CPE
197282010-09-18 Carles Pina i Estany <carles@pina.cat>
197292010-09-18 Aleš Nesrsta <starous@volny.cz>
197302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 Add keyboard layouts support.
19733
19734 * Makefile.util.def (grub-mklayout): New file.
19735 (grub-kbdcomp): New script.
19736 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19737 Add keyboard_layouts.h.
19738 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19739 commands/boot.c on yeeloong.
19740 (keylayouts): New module.
19741 * grub-core/bus/usb/ohci.c
19742 * grub-core/bus/usb/uhci.c
19743 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19744 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19745 (attach_root_port): Likewise.
19746 (poll_nonroot_hub): Likewise.
19747 (grub_usb_poll_devices): Likewise.
19748 (detach_device): Close transfer.
19749 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19750 function.
19751 (grub_usb_bulk_setup_readwrite): Likewise.
19752 (grub_usb_bulk_finish_readwrite): Likewise.
19753 * grub-core/commands/keylayouts.c: New file.
19754 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19755 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19756 aliases.
19757 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19758 support scancode 2.
19759 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19760 * include/grub/keyboard_layouts.h: New file.
19761 * util/grub-mklayout.c: New file.
19762 * util/grub-kbdcomp.in: Likewise.
19763
a1d84a5e
VS
197642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 Unify memory types.
19767
19768 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19769 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19770 types.
19771 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19772 (grub_upper_mem): Likewise.
19773 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19774 * include/grub/memory.h (grub_memory_type_t): New enum.
19775 All users updated.
19776
9696382e
VS
197772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19778
19779 * grub-core/Makefile.core.def (lsapm): New module.
19780 * grub-core/commands/i386/pc/lsapm.c: New file.
19781 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19782 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19783 Likewise.
19784 * include/grub/i386/pc/apm.h: New file.
19785 * include/multiboot.h (multiboot_apm_info): New struct.
19786
197872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 GRUB-legacy configuration file support.
19790
19791 * Makefile.util.def (grub-menulst2cfg): New util.
19792 * docs/man/grub-menulst2cfg.h2m: New file.
19793 * grub-core/Makefile.core.def (legacycfg): New module.
19794 * grub-core/commands/legacycfg.c: New file.
19795 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19796 (grub_normal_add_menu_entry): ... this.
19797 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19798 (grub_normal_set_password): ...this.
19799 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19800 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19801 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19802 * grub-core/lib/legacy_parse.c: New file.
19803 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19804 * include/grub/i386/pc/vesa_modes_table.h: New file.
19805 * include/grub/legacy_parse.h: Likewise.
19806 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19807 * util/grub-menulst2cfg.c: New file.
19808
bf8d1338
CW
198092010-09-17 Colin Watson <cjwatson@ubuntu.com>
19810
19811 * grub-core/kern/emu/hostdisk.c
19812 (convert_system_partition_to_system_disk): Initialise node.
19813
9c0bad2e
CW
198142010-09-17 Colin Watson <cjwatson@ubuntu.com>
19815
19816 * grub-core/kern/emu/hostdisk.c
19817 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19818 leak.
19819 Reported and based on patch by: Modestas Vainius.
19820
a939d135
CW
198212010-09-17 Colin Watson <cjwatson@ubuntu.com>
19822
19823 Fix DM-RAID probing with recent versions of device-mapper udev
19824 rules.
19825
19826 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19827 canonicalise device paths under /dev/mapper/.
19828 (convert_system_partition_to_system_disk): Compare the
19829 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19830 path, since device nodes under /dev/mapper/ are often symlinks.
19831
0f7ee3c9
YB
198322010-09-17 Yves Blusseau <blusseau@zetam.org>
19833
19834 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19835
10854d0d
YB
198362010-09-16 Yves Blusseau <blusseau@zetam.org>
19837
19838 * configure.ac: Avoid some annoying error messages if freetype-config
19839 program is not found.
19840
108538d8
CW
198412010-09-16 Colin Watson <cjwatson@ubuntu.com>
19842
19843 Support RAID on virtio devices, and others.
19844
19845 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19846 Rename to ...
19847 [__MINGW32__] (grub_find_device): ... this.
19848 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19849 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19850 reasonable default if dir is NULL.
19851 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19852 ...
19853 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19854 (grub_guess_root_device): Update callers.
19855 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19856
19857 * util/raid.c (grub_util_getdiskname): Remove.
19858 (grub_util_raid_getmembers): Use grub_find_device rather than
19859 grub_util_getdiskname.
19860
e5bfc130
CW
198612010-09-16 Colin Watson <cjwatson@ubuntu.com>
19862
19863 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19864 needing to be compiled with serial support.
19865 (ls): Indicate that multiple files are accepted.
19866 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19867 indicate that multiple files are accepted.
19868
be458ae2
CW
198692010-09-16 Colin Watson <cjwatson@ubuntu.com>
19870
19871 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19872 libgrub_a_init.c, and util/bash-completion.d/grub.
19873
cb731b5e
VS
198742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * util/grub-setup.c (setup): Fix incorrect container semantics.
19877
35139e8a
VS
198782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19881 misusage.
19882 Reported by: J. Nick Terry
19883
e50fca4a
VS
198842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 Move embedding routines to partmap sources files.
19887
19888 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19889 [GRUB_UTIL]: New variable.
19890 (gpt_partition_map_iterate): Set part.parent.
19891 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19892 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19893 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19894 New function.
19895 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19896 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19897 (grub_partition_map) [GRUB_UTIL]: New field embed.
19898 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19899 (setup): Use ->embed.
19900
f00478b7
VS
199012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19904 function.
19905 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19906 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19907
2b94e3ff
YB
199082010-09-15 Yves Blusseau <blusseau@zetam.org>
19909
19910 Add function to get completions from usage.
19911
19912 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19913 completions from usage. Use LC_ALL=C to get options properly.
19914
2e04a006
VS
199152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 * grub-core/gnulib/basename-lgpl.c: Imported.
19918 * grub-core/gnulib/basename.c: Likewise.
19919 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19920 * grub-core/gnulib/dirname.c: Likewise.
19921 * grub-core/gnulib/dirname.h: Likewise.
19922 * grub-core/gnulib/stripslash.c: Likewise.
19923
5dcdf93a
VS
199242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 * grub-core/gnulib/error.c: Resynced.
19927 * grub-core/gnulib/getopt.c: Likewise.
19928 * grub-core/gnulib/getopt_int.h: Likewise.
19929 * grub-core/gnulib/regex.h: Likewise.
19930 * grub-core/gnulib/regex_internal.c: Likewise.
19931 * grub-core/gnulib/regex_internal.h: Likewise.
19932
014f47b7
SJ
199332010-09-15 Szymon Janc <szymon@janc.net.pl>
19934
19935 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19936 CRC calculations and validity checks.
19937 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19938 calculations.
19939
dd521a4a
SJ
199402010-09-15 Szymon Janc <szymon@janc.net.pl>
19941
19942 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19943
79c4eeb9
VS
199442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 Fix incorrect echo options handling.
19947 Reported by: Yves Blusseau.
19948
19949 * include/grub/command.h (grub_command_flags_t): New flags
19950 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19951 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19952 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19953
ed80f7d5
VS
199542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19957 users updated.
19958 (GRUB_COMMAND_FLAG_MENU): Likewise.
19959 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19960 (GRUB_COMMAND_FLAG_TITLE): Removed.
19961 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19962 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19963 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19964 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19965 (grub_command_flags_t): New enum. All users updated.
19966
5fe7620a
SG
199672010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19968
19969 Fix solaris compilation.
19970
19971 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19972 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19973 (grub-emu-list): Likewise.
19974
545b752f
VS
199752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 Remove deprecated root command.
19978
19979 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19980 updated.
19981
6c1a338c
VS
199822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * util/i386/pc/grub-setup.c: Merge this ...
19985 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19986 * util/grub-setup.c: ... into this.
19987 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19988 New struct.
19989
199902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19991
19992 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19993 possible.
19994
d2ea4551
VS
199952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19998 allocate p.
19999
3c3b5040
VS
200002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
20003 explicit root argument to set to prevent UUID to be interpreted as
20004 argument to set.
20005
b71c3fae
VS
200062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
20009
275433e6
VS
200102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 Don't export grub_gate_a20.
20013
20014 * grub-core/kern/i386/pc/init.c: Remove leftovers.
20015 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
20016 to ...
20017 (grub_gate_a20): ... this. All users updated.
20018 * include/grub/i386/pc/init.h: Removed. All users updated.
20019
a5dbb1f1
VS
200202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 Create euro.pf2 which supports most European languages.
20023
20024 * Makefile.am (grubdata_DATA): Add euro.pf2.
20025 (euro.pf2): New target.
20026 (CLEANFILES): Add euro.pf2.
20027
62a747cb
VS
200282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
20029
20030 * configure.ac: Disable emu-usb by default to prevent inadvertent
20031 device takeover.
20032
608e43b1
VS
200332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 Disable usbserial on grub-emu since our libusb code isn't good enough
20036 yet.
20037
20038 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
20039 (usbserial_pl2303): Likewise.
20040 (usbserial_ftdi): Likewise.
20041
94564f81
VS
200422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * include/grub/disk.h (grub_disk): Remove has_partitions.
20045 All users updated.
20046 * disk/loopback.c (grub_loopback): Remove has_partitions.
20047 All users updated.
20048 (options): Remove partitions. All users updated.
20049 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
20050 * util/i386/pc/grub-setup.c (setup): copy partition table only when
20051 actual partition table is found.
20052
3352800b
VS
200532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 Remove readability checks (too many false negatives).
20056
20057 * util/grub-install.in: Remove readability checks.
20058 * util/grub-mkconfig.in: Likewise.
20059 * util/grub.d/10_hurd.in: Likewise.
20060 * util/grub.d/10_kfreebsd.in: Likewise.
20061 * util/grub.d/10_linux.in: Likewise.
20062 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20063 way.
20064
2419f17a
VS
200652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 Enable acpi shutdown on all ACPI platforms.
20068
20069 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20070 on coreboo, multiboot and EFI.
20071 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20072 (grub_acpi_halt): Likewise.
20073 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20074 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20075 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20076 * grub-core/lib/i386/halt.c (grub_halt)
20077 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20078
0575c7c3
VS
200792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20080
20081 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20082 context.
20083
54ac3cd1
VS
200842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20085
20086 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20087 * grub-core/video/efi_uga.c: Likewise.
20088
b2a30ac5
VS
200892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 Filter devaliases and never open same device twice.
20092
20093 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20094 (last_ihandle): Likewise.
20095 (ofdisk_hash_ent): New member shortest.
20096 (ofdisk_hash_add): Add canonical path too.
20097 (scan): New function.
20098 (grub_ofdisk_iterate): Iterate over hashed entries.
20099 (compute_dev_path): Don't add :0.
20100 (grub_ofdisk_open): Don't really open the disk.
20101 (grub_ofdisk_close): Avoid closing unrelated disk.
20102 (grub_ofdisk_read): Implement reopen logic.
20103 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20104 New function.
20105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20106 New proto.
20107
fb53b340
VS
201082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20109
20110 Fix sparc64.
20111
20112 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20113 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20114 right address. Add sparc64_ieee1275_ldflags.
20115 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20116 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20117 to grub_host_to_target_addr
20118 (load_image): Likewise.
20119
f452b040
VS
201202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * grub-core/normal/completion.c (complete_file): Handle device
20123 containing slash.
20124 Fix based on patch by Doug Nazar.
20125
9b5b2541
VS
201262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 grub-mknetdir script.
20129
20130 * Makefile.util.def (grub-mknetdir): New module.
20131 * tests/util/grub-shell.in: Support boot=net
20132 * util/grub-mknetdir.in: New file.
20133
9d2be652
VS
201342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20135
20136 videoinfo on non-vbe.
20137
20138 * grub-core/Makefile.core.def (vbeinfo): Removed.
20139 (vbetest): Removed.
20140 (videoinfo): New module.
20141 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20142 * grub-core/commands/i386/pc/vbetest.c: Removed.
20143 * grub-core/commands/videoinfo.c: New file.
20144 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20145 specification.
20146 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20147 as vbetest.
20148 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20149 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20150 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20151 mode_number. New parameter mode. All users updated.
20152 (grub_video_gop_iterate): New function.
20153 (grub_video_efi_gop): New member iterate.
20154 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20155 (grub_vbe_set_video_mode): Remove setting useless fields.
20156 (vbe2videoinfo): New function.
20157 (grub_video_vbe_iterate): Likewise.
20158 (grub_video_vbe_setup): Use vbe2videoinfo.
20159 (grub_video_vbe_print_adapter_specific_info): New function.
20160 (grub_video_vbe_adapter): New fields iterate and
20161 print_adapter_specific_info.
20162 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20163 All users updated.
20164 (grub_video_mode_info): New field mode_number.
20165 (grub_video_adapter): New fields iterate and
20166 print_adapter_specific_info.
20167
179503f5
TG
201682010-09-13 Tristan Gingold <gingold@free.fr>
201692010-09-13 Robert Millan <rmh.grub@aybabtu.com>
201702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * grub-core/commands/efi/lsefisystab.c: New file.
20173 * grub-core/commands/efi/lssal.c: Likewise.
20174 * grub-core/Makefile.core.def (lsacpi): New module.
20175 (lsefisystab): Likewise.
20176 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20177 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20178 (grub_efi_sal_system_table): New struct.
20179 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20180 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20181 (grub_efi_sal_system_table_platform_features): Likewise.
20182 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20183 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20184 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20185 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20186
cf9827de
VS
201872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 Support explicit user claim that a device is BIOS-visible.
20190
20191 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20192 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20193 * grub-core/kern/emu/hostdisk.c
20194 (convert_system_partition_to_system_disk): Support mdX.
20195 (find_system_device): New parameter add. All users updated.
20196 (grub_util_biosdisk_is_present): New function.
20197 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20198 proto.
20199
53f0eb1f
VS
202002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 Search hints support.
20203
20204 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20205 All users updated.
20206
b23ffd70
YB
202072010-09-13 Yves Blusseau <blusseau@zetam.org>
20208
20209 Bash completion script for util commands
20210
20211 * Makefile.am: Add util/bash-completion.d directory
20212 * configure.ac: Likewise.
20213 * util/bash-completion.d/Makefile.am: New file.
20214 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20215
d547dc28
VS
202162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20219 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20220 Reported by: Yves Blusseau.
20221
2fc8ccb9
VS
202222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20225 partition size and offset.
20226
d8a84076
VS
202272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20230
84fb3b3d
VS
202312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20232
20233 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20234
768ec2e2
VS
202352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20238 (grub_xvasprintf): Likewise.
20239
4870900f
VS
202402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20243
faca6bec
VS
202442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20247 args ending with NULL.
20248
202492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
20250
20251 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20252 pointer.
20253
3c70f225
SJ
202542010-09-11 Szymon Janc <szymon@janc.net.pl>
20255
20256 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20257
4df7996d
VS
202582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 Shutdown using ACPI.
20261
20262 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20263 * grub-core/commands/acpihalt.c: New file.
20264 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20265 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20266 (grub_acpi_halt): New proto.
20267 (GRUB_ACPI_SLP_EN): New const.
20268 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20269 (GRUB_ACPI_OPCODE_*): New enum.
20270 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20271
126b4c32
TG
202722010-09-11 Tristan Gingold <gingold@free.fr>
202732010-09-11 Robert Millan <rmh.grub@aybabtu.com>
202742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * commands/lsacpi.c: New file.
20277 * grub-core/Makefile.core.def (lsacpi): New module.
20278 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20279 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20280 (grub_acpi_madt_entry_header): New struct.
20281 (grub_acpi_madt): Likewise.
20282 (grub_acpi_madt_entry_interrupt_override): Likewise.
20283 (grub_acpi_madt_entry_sapic): Likewise.
20284 (grub_acpi_madt_entry_lsapic): Likewise.
20285 (grub_acpi_madt_entry_platform_int_source): Likewise.
20286 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20287 (PRIuGRUB_UINT32_T): Likewise.
20288 (PRIxGRUB_UINT64_T): Likewise.
20289
1aa4fe88
VS
202902010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 Implement loading palette on ieee1275_fb.
20293
20294 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20295 (have_setcolors): Likewise.
20296 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20297 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20298 (grub_video_ieee1275_set_palette): Implement.
20299
25761e13
VS
203002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
203012010-09-11 Colin Watson <cjwatson@ubuntu.com>
20302
20303 * util/grub-install.in (grub_partition): New variable.
20304 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20305 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20306 Fixes a bug reported by Yves Blusseau.
20307
050abaea
VS
203082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 Fix emu on mipsel.
20311
20312 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20313 =grub_cpu_flush_cache on all mips and not only yeeloong.
20314 * configure.ac (COND_mips): New conditional.
20315 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20316 platforms.
20317 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20318 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20319 [GRUB_LINKER_HAVE_INIT]: New function.
20320 (grub_emu_post_init): Likewise.
20321 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20322 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20323 * include/grub/cache.h (_mips): Include mips/cache.h.
20324 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20325 LVM and RAID prototypes.
20326 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20327 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20328 function.
20329
5ed7d816
CW
203302010-09-10 Colin Watson <cjwatson@ubuntu.com>
20331
20332 * util/grub-install.in: Don't try to verify core.img until after
20333 running grub-mkimage to create it.
20334
90367e04
RM
203352010-09-10 Robert Millan <rmh@gnu.org>
20336
20337 * util/grub.d/10_hurd.in: Add misc readability checks.
20338 * util/grub.d/10_kfreebsd.in: Likewise.
20339 * util/grub.d/10_linux.in: Likewise.
20340
c452fa66
CW
203412010-09-10 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * util/grub-install.in: ${imgext} won't be defined here until the
20344 install branch is merged. For the meantime, only verify core.img on
20345 i386-pc and sparc64-ieee1275 platforms.
20346
c38fe9f4
RM
203472010-09-10 Robert Millan <rmh@gnu.org>
20348
20349 Solaris support in grub_find_zpool_from_dir(). Thanks
20350 Seth Goldberg for referring to getextmntent() facility.
20351
20352 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20353 `sys/mkdev.h'.
20354 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20355 `<sys/mnttab.h>'.
20356 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20357 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20358 method for finding zpool name.
20359
905f7773
CW
203602010-09-10 Colin Watson <cjwatson@ubuntu.com>
20361
20362 grub-fstest needs the host and hostfs modules while other utilities
20363 actively require those modules to be absent, so grub-fstest needs
20364 its own initialisation and finalisation code.
20365
20366 * Makefile.am (grub_fstest.pp): New target.
20367 (grub_fstest_init.lst): Likewise.
20368 (grub_fstest_init.c): Likewise.
20369 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20370
fb90b546
RM
203712010-09-10 Robert Millan <rmh@gnu.org>
20372
20373 * configure.ac: Check for `struct statfs.f_fstypename' and
20374 `struct statfs.f_mntfromname'.
20375
20376 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20377 kFreeBSD-specific code.
20378
66d4bea5
RM
203792010-09-10 Robert Millan <rmh@gnu.org>
20380
20381 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20382 on ZFS. Now non-main filesystems are supported as / too.
20383
b6a690ee
CW
203842010-09-09 Colin Watson <cjwatson@ubuntu.com>
20385
20386 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20387 and grub-core/disk/host.c to ...
20388 (grub-fstest): ... here. Having the host disk implementation
20389 present confuses grub-probe and other utility programs.
20390
20391 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20392 when writing to a file, not when writing to stdout.
20393
8901b00c 203942010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20395
20396 * tests/partmap_test.in: New test for partitions.
20397 * Makefile.util.def: Rules for new test.
20398
7bf45fdd
RM
203992010-09-09 Robert Millan <rmh@gnu.org>
20400
20401 * util/grub-probe.c (probe): Fix a pair of unhandled error
20402 conditions.
20403
4dfbc574
RM
204042010-09-09 Robert Millan <rmh@gnu.org>
20405
20406 Basic Btrfs support (detection and UUID).
20407
20408 * grub-core/fs/btrfs.c: New file.
20409 * Makefile.util.def (library): Register btrfs.c.
20410 * grub-core/Makefile.core.def: Likewise.
20411
6b8e78ae
RM
204122010-09-08 Robert Millan <rmh@gnu.org>
20413
20414 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20415 with (optional) parameters to specify device and relative path.
20416 * util/grub-install.in: Use is_path_readable_by_grub() to
20417 verify readability of a few critical files.
20418 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20419 verify readability of grub.cfg.new.
20420
27f21a8b
VS
204212010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 Split minix.mod into minix.mod and minix2.mod.
20424
20425 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20426 * grub-core/Makefile.core.def (minix2): New module.
20427 * grub-core/fs/minix.c: Use definitions instead of runtime version
20428 checking.
20429 * grub-core/fs/minix2.c: New file.
20430
c0e53ea5
YB
204312010-09-08 Yves Blusseau <blusseau@zetam.org>
20432
20433 Add new --boot-directory option to replace --root-directory
20434
20435 * util/grub-install.in: Add new --boot-directory option
20436 * util/grub-reboot.in: Likewise.
20437 * util/grub-set-default.in: Likewise.
20438
b9fe6ea2
YB
204392010-09-08 Yves Blusseau <blusseau@zetam.org>
20440
20441 * util/grub-mkconfig.in: Use new variable.
20442
d87aedff
YB
204432010-09-08 Yves Blusseau <blusseau@zetam.org>
20444
20445 * configure.ac: Define some useful variables.
20446
e55e8495
VS
204472010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20450 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20451 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20452 Use terminfo and don't use cursor-on/cursor-off unless it's known
20453 to work.
20454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20455 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20456
6fa6d675
CW
204572010-09-08 Colin Watson <cjwatson@ubuntu.com>
20458
20459 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20460 starts with "(,", fill the drive containing the loaded image in
20461 between those two characters, but expect that a full partition
20462 specification including partition map names will follow.
20463
92f2aef0
RM
204642010-09-08 Robert Millan <rmh@gnu.org>
20465
20466 * configure.ac: Remove `--enable-grub-fstest' option.
20467 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20468
20469 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20470 `grub-fstest' instead of `grub-probe' for readability verification.
20471 * util/grub-probe.c (probe): Remove readability verification kludge.
20472
99fd620d
RM
204732010-09-08 Robert Millan <rmh@gnu.org>
20474
20475 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20476 initializing `GRUB_FS'.
20477
058e30ac 204782010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20479
20480 Not command (!) support to GRUB script.
20481
20482 * tests/grub_script_not.in: New test.
20483 * Makefile.util.def: Rules for new test.
20484
20485 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20486 ! command as a special case.
20487 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20488
b61d05ed 204892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20490
058e30ac 20491 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20492 grub_free.
b61d05ed 20493
4d69c786 204942010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20495
20496 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20497
aa3119c4 204982010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20499
20500 * docs/grub.texi (Shell-like scripting): Documentation for break,
20501 continue, shift and return commands.
20502
db0f7e3d
VS
205032010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 Rename CD-ROM to cd on BIOS.
20506
20507 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20508 "cd".
20509 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20510
88b87c93
VS
205112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20514 * util/grub-probe.c (main): Likewise.
20515 * util/i386/pc/grub-setup.c (main): Likewise.
20516 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20517 Reported and debugged by: alexxy
20518
294f324d
VS
205192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20522 diagnostic info.
20523
d7ee3441
JS
205242010-09-05 Jo Shields <directhex@apebox.org>
20525
20526 * util/grub.d/30_os-prober.in: Add missing classes.
20527
d7e06c1f
VS
205282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 * docs/grub.texi (Theme file format): Document new position format.
20531
fc157e53
VS
205322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20535 a table. Use @code instead of @verbatim.
20536
506e9a1c
CB
205372010-09-05 Colin D Bennett <colin@gibibit.com>
20538
20539 Gfxmenu documentation.
20540
20541 * docs/grub.texi (Theme file format): New chapter.
20542
f0aff67c
SJ
205432010-09-05 Szymon Janc <szymon@janc.net.pl>
20544
20545 * grub-core/Makefile.core.def (xzio): New module.
20546 * grub-core/io/xzio.c: New file.
20547 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20548 * grub-core/lib/xzembed/xz_config.h: Likewise.
20549 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20550 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20551 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20552 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20553 * grub-core/lib/xzembed/xz_private.h: Likewise.
20554 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20555 * include/grub/file.h (grub_file_filter_id): New compression filter
20556 GRUB_FILE_FILTER_XZIO.
20557
82a85062
VS
205582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20561 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20562 size.
20563
3579415d
VS
205642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20567 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20568
5124ae6d
VS
205692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 Uncompressed checksum support.
20572
20573 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20574 (check_list): New parameter uncompress.
20575 (grub_cmd_hashsum): Handle --uncompress.
20576
9aadb3d1
VS
205772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 Reintroduce testload.
20580
20581 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20582 from here ...
20583 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20584 (GRUB_MOD_INIT): New function.
20585 (GRUB_MOD_FINI): Likewise.
20586 * grub-core/Makefile.core.def (testload): New module.
20587
a17792c3
SJ
205882010-09-05 Szymon Janc <szymon@janc.net.pl>
20589
20590 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20591 (uint8_t): New type.
20592 (uint16_t): Likewise.
20593 (uint32_t): Likewise.
20594 (uint64_t): Likewise.
20595
b81e40a3
SJ
205962010-09-05 Szymon Janc <szymon@janc.net.pl>
20597
20598 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20599
fc2ef117
VS
206002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20603 Made static.
20604 (grub_gzfile_open): Removed. All users updated.
20605 (GRUB_MOD_INIT): New function.
20606 (GRUB_MOD_FINI): Likewise.
20607 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20608 (grub_file_filters_enabled): Likewise.
20609 (grub_file_open): Handle filters.
20610 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20611 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20612 * include/grub/file.h (grub_file_filter_id_t): New type.
20613 (grub_file_filter_t): Likewise.
20614 (grub_file_filters_all): New extern variable.
20615 (grub_file_filters_enabled): Likewise.
20616 (grub_file_filter_register): New inline function.
20617 (grub_file_filter_unregister): Likewise.
20618 (grub_file_filter_disable): Likewise.
20619 (grub_file_filter_disable_compression): Likewise.
20620 * include/grub/gzio.h: Removed.
20621
35ee15e0
BC
206222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20623
20624 Filename expansion support for wildcards in GRUB script.
20625
20626 * tests/grub_script_expansion.in: New test.
20627 * Makefile.util.def: Rule for new test.
20628
20629 * grub-core/commands/wildcard.c: New file, implements filename
20630 expansion support for GRUB script.
20631 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20632 * grub-core/script/argv.c: Cosmetic changes.
20633 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20634 Refactored to perform wildcard expansion on arguments.
20635 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20636 struct.
20637
20638 * tests/util/grub-shell.in: Fix quoting for read input.
20639
5f0c4aca
BC
206402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20641
20642 Support for updating environment variables with matched substrings
20643 of regexp.
20644
20645 * tests/grub_cmd_regexp.in: New test.
20646 * Makefile.util.def: Rule for new test.
20647
20648 * grub-core/commands/regexp.c: New option -s to update environment
20649 variables with regexp matches.
20650
3759a35f
SJ
206512010-09-04 Szymon Janc <szymon@janc.net.pl>
20652
20653 * include/grub/file.h (grub_file): New member not_easly_seekable.
20654 (grub_file_seekable): New inline function.
20655 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20656 easily seekable.
20657 (grub_gzio_open): Set not_easly_seekable.
20658 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20659 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20660
ed8c6dec
BC
206612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20662
20663 Support for options to appear multiple times on cmdline.
20664
20665 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20666 * grub-core/commands/extcmd.c: Support for repeatable option.
20667 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20668 repeatable option support.
20669
20670 Refactor menuentry into a regular command.
20671
20672 * grub-core/commands/menuentry.c: New file, menuentry command
20673 implementation.
20674 * grub-core/Makefile.core.def: Rule update for normal.mod.
20675 * grub-core/normal/main.c: Moved menuentry creation to
20676 grub-core/commands/menuentry.c.
20677 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20678 (grub_menu_execute_entry_real): Removed.
20679 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20680 function.
20681 (grub_script_execute_menuentry): Removed.
20682 * grub-core/script/parser.y (menuentry): Removed.
20683 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20684 * grub-core/script/yylex.l (menuentry): Removed.
20685 * include/grub/menu.h (grub_menu_init): New prototype.
20686 (grub_menu_fini): New prototype.
20687 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20688 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20689 (grub_script_execute_sourcecode): New prototype.
20690
dacd0cf0
BC
206912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20692
20693 "return" command for GRUB script functions.
20694
20695 * tests/grub_script_return.in: New test.
20696 * Makefile.util.def: Rules for new test.
20697
20698 * grub-core/script/execute.c (grub_script_return): New function.
20699 * grub-core/script/main.c: Register/unregister return commaond.
20700 * include/grub/script_sh.h (grub_script_return): New prototype.
20701
52e72f9d
BC
207022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20703
20704 "setparams" command to update positional parameters.
20705
20706 * tests/grub_script_setparams.in: New test.
20707 * Makefile.util.def: Rules for new test.
20708
20709 * grub-core/script/argv.c (grub_script_argv_make): New function.
20710 * grub-core/script/execute.c (replace_scope): New function.
20711 (grub_script_setparams): New function.
20712 * grub-core/script/lexer.c: Remove unused variables.
20713 * grub-core/script/main.c: Register/unregister setparams command.
20714 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20715 (grub_script_setparams): New prototype.
20716
25b60c91
BC
207172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20718
20719 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20720 grub_free order.
20721
37e7bf68
BC
207222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20723
20724 Support for passing block of commands as an argument to extcmds.
20725
20726 * Makefile.util.def: Rules for new test.
20727 * tests/grub_script_blockarg.in: New test.
20728 * grub-core/tests/test_blockarg.c: New file, block argument
20729 command used in the test.
20730
20731 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20732 (grub_register_extcmd_prio): New function prototype.
20733 (grub_extcmd_dispatcher): New function prototype.
20734 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20735 type.
20736 * include/grub/script_sh.h (struct grub_script): New members
20737 `children', `next_siblings' and `refcnt' for block arguments and
20738 reference counting.
20739 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20740 (grub_script_arg): New member `script' for block argument.
20741 (grub_script_argv): New member `script' for block argument.
20742 (grub_parser_param): New member `scripts' for block argument.
20743 (grub_script_mem_free): New extern function prototype.
20744 (grub_script_ref): New function prototype.
20745 (grub_script_unref): New function prototype.
20746
20747 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20748 extcmd form to support block arguments.
20749 * grub-core/script/argv.c: Block arguments support.
20750 * grub-core/script/execute.c: Likewise.
20751 * grub-core/script/lexer.c: Likewise.
20752 * grub-core/script/main.c: Likewise.
20753 * grub-core/script/script.c: Likewise.
20754 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20755 non-terminals.
20756
20757 * grub-core/commands/acpi.c: Update extcmd implementations with
20758 grub_extcmd_context_t.
20759 * grub-core/commands/cat.c: Likewise.
20760 * grub-core/commands/echo.c: Likewise.
20761 * grub-core/commands/extcmd.c: Likewise.
20762 * grub-core/commands/hashsum.c: Likewise.
20763 * grub-core/commands/hdparm.c: Likewise.
20764 * grub-core/commands/help.c: Likewise.
20765 * grub-core/commands/hexdump.c: Likewise.
20766 * grub-core/commands/i386/cpuid.c: Likewise.
20767 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20768 * grub-core/commands/i386/pc/halt.c: Likewise.
20769 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20770 * grub-core/commands/iorw.c: Likewise.
20771 * grub-core/commands/keystatus.c: Likewise.
20772 * grub-core/commands/loadenv.c: Likewise.
20773 * grub-core/commands/ls.c: Likewise.
20774 * grub-core/commands/lspci.c: Likewise.
20775 * grub-core/commands/memrw.c: Likewise.
20776 * grub-core/commands/probe.c: Likewise.
20777 * grub-core/commands/search_wrap.c: Likewise.
20778 * grub-core/commands/setpci.c: Likewise.
20779 * grub-core/commands/sleep.c: Likewise.
20780 * grub-core/disk/loopback.c: Likewise.
20781 * grub-core/hello/hello.c: Likewise.
20782 * grub-core/loader/i386/bsd.c: Likewise.
20783 * grub-core/loader/xnu.c: Likewise.
20784 * grub-core/term/gfxterm.c: Likewise.
20785 * grub-core/term/serial.c: Likewise.
20786 * grub-core/tests/lib/functional_test.c: Likewise.
20787
888d1500
BC
207882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20789
20790 Multi-line quoted strings support.
20791
20792 * grub-core/script/lexer.c (append_newline): Removed.
20793 (grub_script_lexer_yywrap): Refactored.
20794 (grub_script_lexer_init): Refactored.
20795 * grub-core/script/yylex.l (yywrap): New function.
20796 (grub_lexer_resplit): New function.
20797 (grub_lexer_unput): New function.
20798 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20799 and resplit.
20800 * tests/grub_script_echo1.in: Added few more testcases.
20801
dda060dd
VS
208022010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20803
20804 * grub-core/kern/misc.c: Don't add abort alias in utils.
20805 Reported by: echoline.
20806
6556eba9
BC
208072010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20808
20809 Add missing files into "make dist" tarball for other platforms.
20810
20811 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20812 * conf/Makefile.common (dist_noinst_DATA): New variable.
20813 * conf/Makefile.extra-dist: Added missing make dist files.
20814 * grub-core/Makefile.core.def: Likewise.
20815
c8e7bf5f
VS
208162010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20817
20818 Compress grub_prefix.
20819
20820 * grub-core/boot/i386/pc/lnxboot.S: Use
20821 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20822 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20823 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20824 GRUB_MACHINE_PREFIX_END. All users updated.
20825 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20826 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20827 + 0x40.
20828 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20829 * util/grub-mkimage.c (image_target_desc): Change data_end to
20830 prefix_end. All users updated.
20831
a7c00cdb
VS
208322010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20835 value.
20836 (grub_openbsd_boot): Likewise.
20837 (grub_netbsd_boot): Likewise.
20838 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20839 (grub_xnu_boot): Likewise.
20840
9f915872
VS
208412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 * configure.ac: Clean LIBS variable after tests.
20844
efa1bee7
CW
208452010-09-02 Colin Watson <cjwatson@ubuntu.com>
20846
20847 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20848
61d720e5
VS
208492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20850
20851 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20852 echo if libdevmapper will be used.
20853
ef8e0ec8
IT
208542010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20855
20856 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20857 constant for the same file.
20858
03e261d8
VS
208592010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20862
c2a4eba6
CW
208632010-09-02 Colin Watson <cjwatson@ubuntu.com>
20864
20865 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20866 grub-core/*.pp.
20867
9056cbf3
CW
208682010-09-02 Colin Watson <cjwatson@ubuntu.com>
20869
20870 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20871 required by the boot protocol.
20872
20873 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20874 ebp and edi members.
20875 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20876 state.ebp and state.edi.
20877 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20878 %ebp and %edi according to grub_relocator32_ebp and
20879 grub_relocator32_edi respectively.
20880 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20881 and state.edi.
20882
529cc99a
VS
208832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 Add i386-pc-pxe image target.
20886
20887 * util/grub-mkimage.c (image_target_desc): New enum value
20888 IMAGE_I386_PC_PXE.
20889 (image_targets): New target i386-pc-pxe.
20890 (generate_image): Handle i386-pc-pxe image.
20891
9a093920
VS
208922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 Fix grub_pxe_scan.
20895
20896 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20897 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20898 All users updated.
20899 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20900 (grub_pxe_pxenv): Correct type.
20901
f9cefc4e
CW
209022010-09-01 Colin Watson <cjwatson@ubuntu.com>
20903
20904 * NEWS: Document most of the important changes since 1.98.
20905
4066f57f
CW
209062010-09-01 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20909 generated manual page) a little.
20910
da2891f9
CW
209112010-09-01 Colin Watson <cjwatson@ubuntu.com>
20912
20913 * docs/grub.texi: Add myself as an author.
20914
ad717fae
VS
209152010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20916
20917 * Makefile.util.def (libgrub.a): Add missing sunpc.
20918 Reported by: Seth Goldberg.
20919
eefe8abd
VS
209202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 Interrupt wrapping and code simplifications.
20923
9494ef9a
VS
20924 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20925 x86_noieee1275 which are functionaly equivalent in this case.
20926 (grub-install): Make source on each platform explicit. Enable on
20927 all noemu.
20928 * gentpl.py (x86_efi_pc): Removed group.
20929 (x86_noefi): Likewise.
20930 (i386_noefi): Likewise.
20931 (x86_noieee1275): Likewise.
20932 (i386_noieee1275): Likewise.
20933 (i386_noefi_noieee1275): Likewise.
20934 (i386_pc_qemu_coreboot): Likewise.
20935 (i386_coreboot_multiboot): Likewise.
20936 (i386_pc_coreboot_multiboot_qemu): Likewise.
20937 (x86_noefi_mips): Likewise.
20938 (noieee1275): Likewise.
20939 (ieee1275_mips): Likewise.
20940 (noemu_noieee1275): Likewise.
20941 (cmos): New group.
20942 (usb): Likewise.
20943 (videoinkernel): Likewise.
20944 (videomodules): Likewise.
eefe8abd 20945 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20946 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20947 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20948 include/grub/loader.h, include/grub/msdos_partition.h,
20949 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20950 include/grub/machine/console.h, include/grub/machine/vga.h,
20951 include/grub/machine/vbe.h, include/grub/machine/init.h,
20952 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20953 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20954 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20955 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20956 * grub-core/Makefile.core.def (kernel): Explicit the source for
20957 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20958 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20959 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20960 Use videoinkernel tag.
20961 (usb): Enable on all usb.
20962 (usbserial_common): Likewise.
20963 (usbserial_pl2303): Likewise.
20964 (usbserial_ftdi): Likewise.
20965 (uhci): Enable on all x86.
20966 (ohci): Enable on all pci.
20967 (cmostest): Enable on all CMOS.
20968 (acpi): Include commands/acpi.c on all platforms.
20969 (halt): Add relevant lib/*/halt.c.
20970 (hdparm): Enable on all pci.
20971 (lspci): Likewise.
20972 (usbtest): Enable on all usb.
20973 (ata): Enable on all pci.
20974 (ata_pthru): Likewise.
20975 (usbms): Enable on all usb.
20976 (usb_keyboard): Likewise.
20977 (font): Use tag videomodules.
20978 (bufio): Likewise.
20979 (datetime): Use tag cmos. Enable on all noemu.
20980 (mmap): Use tags common and x86.
20981 (gfxterm): Use tag videomodules.
20982 (bitmap): Likewise.
20983 (bitmap_scale): Likewise.
20984 (video_fb): Likewise.
20985 (video): Likewise.
20986 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20987 adjust padding accordingly. All users updated.
20988 (grub_ohci_transaction): Fix bad format specification.
20989 (GRUB_MOD_INIT): Add asserts for struct size.
20990 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20991 (grub_alloc_td): Likewise.
20992 (grub_free_queue): Likewise.
20993 (grub_uhci_transfer): Likewise.
20994 (grub_uhci_transaction): Fix bad format specification.
20995 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20996 (grub_usb_bulk_readwrite): Likewise.
20997 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20998 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20999 Made static.
21000 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
21001 Made static.
21002 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
21003 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
21004 Transformed into C.
21005 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
21006 Moved from here ...
21007 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
21008 ... here. Transformed into C. Made static.
21009 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
21010 Moved from here ...
21011 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
21012 ... here. Transformed into C. Made static.
21013 * grub-core/kern/i386/pc/startup.S
21014 (grub_biosdisk_check_int13_extensions): Moved from here ...
21015 * grub-core/disk/i386/pc/biosdisk.c
21016 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
21017 Made static.
21018 * grub-core/kern/i386/pc/startup.S
21019 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
21020 * grub-core/disk/i386/pc/biosdisk.c
21021 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
21022 Transformed into C. Made static.
21023 * grub-core/kern/i386/pc/startup.S
21024 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
21025 * grub-core/disk/i386/pc/biosdisk.c
21026 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
21027 Transformed into C. Made static.
21028 * grub-core/kern/i386/pc/startup.S
21029 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
21030 * grub-core/disk/i386/pc/biosdisk.c
21031 (grub_biosdisk_get_diskinfo_standard): ... here.
21032 Transformed into C. Made static.
21033 * grub-core/kern/i386/pc/startup.S
21034 (grub_biosdisk_get_num_floppies): Moved from here ...
21035 * grub-core/disk/i386/pc/biosdisk.c
21036 (grub_biosdisk_get_num_floppies): ... here.
21037 Transformed into C. Made static.
21038 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
21039 New function.
21040 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
21041 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
21042 Transformed into C. Made static.
21043 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
21044 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
21045 Transformed into C. Made static.
21046 * grub-core/kern/i386/ieee1275/init.c: Removed.
21047 * grub-core/kern/i386/misc.S: Likewise.
21048 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
21049 Splitted from here ...
21050 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
21051 Transformed into C. Made static. All users updated.
21052 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
21053 Transformed into C. Made static. All users updated.
21054 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
21055 Moved from here...
21056 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
21057 Transformed into C. Made static. All users updated.
21058 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
21059 Moved from here...
21060 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21061 Transformed into C. Made static. All users updated.
21062 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21063 Removed (replaced by C version).
21064 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21065 Moved from here...
21066 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21067 Transformed into C. Made static.
21068 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21069 Moved from here...
21070 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21071 ... here. Transformed into C.
21072 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21073 Moved from here...
21074 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21075 ... here. Transformed into C.
21076 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21077 Moved from here...
21078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21079 ... here. Transformed into C. Made static.
21080 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21081 Moved from here...
21082 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21083 ... here. Transformed into C.
21ed554b
VS
21084 * grub-core/kern/i386/pc/startup.S
21085 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21086 * grub-core/video/i386/pc/vbe.c
21087 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
21088 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21089 Moved from here...
21090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21091 ... here. Transformed into C.
21092 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21093 Moved from here...
21094 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21095 ... here. Transformed into C.
21096 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21097 Moved from here...
21098 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21099 ... here. Transformed into C.
21100 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21101 Moved from here...
21102 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21103 ... here. Transformed into C.
21104 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21105 Moved from here...
21106 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21107 ... here. Transformed into C. Made static.
21108 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21109 Moved from here...
21110 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21111 ... here. Transformed into C. Made static.
21112 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21113 Moved from here...
21114 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21115 ... here. Transformed into C. Made static.
21116 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21117 pxe_rm_entry as third argument.
21118 (grub_bios_interrupt): New function.
21119 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21120 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21121 of calling grub_stop.
21122 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21123 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21124 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21125 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21126 * grub-core/lib/i386/halt.c: Moved from here ...
21127 * grub-core/lib/i386/halt.c: ... here.
21128 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21129 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21130 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21131 grub_stop_floppy.
21132 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21133 * include/grub/i386/coreboot/init.h: Removed.
21134 * include/grub/i386/multiboot/init.h: Likewise.
21135 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21136 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21137 * include/grub/i386/pc/int.h: New file.
21138 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21139 (grub_pxe_scan): Removed.
21140 (grub_pxe_call): Update prototype.
21141 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21142 prototypes.
21143 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21144 * include/grub/i386/qemu/init.h: Removed.
21145 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21146 noreturn.
21147 (grub_halt): Likewise.
21148 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21149 (grub_reboot): Likewise.
21150 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21151 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
21152 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21153
215dd471
RM
211542010-08-30 Robert Millan <rmh@gnu.org>
21155
21156 * NEWS: Document addition of ZFS support in `grub-install' and
21157 `grub-mkconfig'.
21158
ebd65b82
BC
211592010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21160
21161 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21162 dprintf output.
21163
11721d19
VS
211642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 Remove leftover embedding of font objects.
21167
21168 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21169 * util/grub-install.in (font): Removed.
21170 * util/grub-mkimage.c (generate_image): Remove font support. All users
21171 updated.
21172
37837d4e
VS
211732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21174
21175 Remove leftover embedding of font objects.
21176
21177 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21178 * util/grub-install.in (font): Removed.
21179 * util/grub-mkimage.c (generate_image): Remove font support. All users
21180 updated.
21181
b4c1aae0
VS
211822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 21185 Reported by: Ian Turner
b4c1aae0 21186
8920a08d
VS
211872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21190 timeout to avoid indefinite boot stalling.
21191
f21db033
VS
211922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21195 (grub_env_write_color_highlight): Likewise.
21196
9a9de209
VS
211972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * grub-core/normal/term.c (print_more): Return to normal and not
21200 to standard state after printing "---MORE---".
21201
3dca01d7
VS
212022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21205 Mask out the bit 0x80 since it has other meaning that specifiing color.
21206
0b986c40
VS
212072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 New relocator. Allows for more kernel support and more straightforward
21210 loader writing.
21211
21212 * Makefile.am (BOOTTARGET): New variable.
21213 (QEMU32): Likewise.
21214 (linux.init.x86_64): New target.
21215 (linux.init.i386): Likewise.
21216 (multiboot.elf): Likewise.
21217 (kfreebsd.elf): Likewise.
21218 (kfreebsd.aout): Likewise.
21219 (pc-chainloader.elf): Likewise.
21220 (pc-chainloader.bin): Likewise.
21221 (ntldr.elf): Likewise.
21222 (ntldr.bin): Likewise.
21223 (multiboot2.elf): Likewise.
21224 (kfreebsd.init.x86_64): Likewise.
21225 (kfreebsd.init.i386): Likewise.
21226 (knetbsd.init.i386): Likewise.
21227 (kopenbsd.init.i386): Likewise.
21228 (knetbsd.init.x86_64): Likewise.
21229 (kopenbsd.init.x86_64): Likewise.
21230 (linux-initramfs.i386): Likewise.
21231 (linux-initramfs.x86_64): Likewise.
21232 (kfreebsd-mfsroot.i386.img): Likewise.
21233 (knetbsd.image.i386): Likewise.
21234 (kopenbsd.image.i386): Likewise.
21235 (kopenbsd.image.x86_64): Likewise.
21236 (knetbsd.miniroot-image.i386.img): Likewise.
21237 (kfreebsd-mfsroot.x86_64.img): Likewise.
21238 (knetbsd.image.x86_64): Likewise.
21239 (knetbsd.miniroot-image.x86_64.img): Likewise.
21240 (kfreebsd-mfsroot.i386.gz): Likewise.
21241 (bootcheck-kfreebsd-i386): Likewise.
21242 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21243 (bootcheck-kfreebsd-x86_64): Likewise.
21244 (knetbsd.miniroot-image.i386.gz): Likewise.
21245 (bootcheck-knetbsd-i386): Likewise.
21246 (bootcheck-kopenbsd-i386): Likewise.
21247 (bootcheck-kopenbsd-x86_64): Likewise.
21248 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21249 (bootcheck-knetbsd-x86_64): Likewise.
21250 (bootcheck-linux-i386): Likewise.
21251 (bootcheck-linux-x86_64): Likewise.
21252 (bootcheck-linux16-i386): Likewise.
21253 (bootcheck-linux16-x86_64): Likewise.
21254 (bootcheck-multiboot): Likewise.
21255 (bootcheck-multiboot2): Likewise.
21256 (bootcheck-kfreebsd-aout): Likewise.
21257 (bootcheck-pc-chainloader): Likewise.
21258 (bootcheck-ntldr): Likewise.
21259 (CLEANFILES): Add new targets.
21260 (BOOTCHECKS): New variable.
21261 (.PHONY): Add bootchecks.
21262 (SUCCESSFUL_BOOT_STRING): New variable.
21263 (BOOTCHECK_TIMEOUT): Likewise.
21264 (bootcheck): New target
21265 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21266 * configure.ac: Correct efiemu excuse.
21267 * docs/grub.texi (Supported kernels): New chapter.
21268 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21269 include/grub/mm_private.h. Simplify inclusion of
21270 include/grub/boot.h, include/grub/loader.h
21271 and include/grub/msdos_partition.h
21272 (KERNEL_HEADER_FILES) [i386_coreboot]:
21273 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21274 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21275 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21276 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21277 include/grub/machine/loader.h.
21278 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21279 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21280 extra_dist.
21281 (pci.mod): Enable on i386-multiboot.
21282 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21283 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21284 i386-qemu.
21285 (relocator.mod): Rewritten.
21286 (aout.mod): Enable on all x86.
21287 (bsd.mod): Likewise.
21288 (ntldr.mod): New module.
21289 (linux.mod): Use loader/i386/linux.c on all x86.
21290 (xnu.mod): Enable on all x86.
21291 (vga_text.mod): disable on EFI and QEMU.
21292 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21293 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21294 * grub-core/efiemu/loadcore.c: Likewise.
21295 * grub-core/efiemu/main.c: Likewise.
21296 (grub_efiemu_exit_boot_services): Removed.
21297 (grub_efiemu_finish_boot_services): Likewise.
21298 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21299 function.
21300 * grub-core/efiemu/i386/nocfgtables.c: New file.
21301 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21302 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21303 (grub_efi_finish_boot_services): Moved from here ...
21304 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21305 Fille finish memory map and related data.
21306 (finish_mmap_buf): New variable.
21307 (grub_efi_uintn_t finish_mmap_size): Likewise.
21308 (grub_efi_uintn_t finish_key): Likewise.
21309 (grub_efi_uintn_t finish_desc_size): Likewise.
21310 (grub_efi_uint32_t finish_desc_version): Likewise.
21311 (grub_efi_is_finished): Likewise.
21312 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21313 finished.
21314 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21315 (grub_elf64_phdr_iterate): Likewise.
21316 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21317 (grub_os_area_size): Likewise.
21318 (grub_machine_init): Don't reserve os area.
21319 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21320 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21321 * grub-core/kern/i386/loader.S: Removed.
21322 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21323 (grub_os_area_size): Likewise.
21324 (grub_machine_init): Don't reserve os area.
21325 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21326 Don't call grub_dl_unload_all.
21327 Don't include loader.S.
21328 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21329 Declare the memory after _end as available.
21330 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 21331 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 21332 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
21333 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21334 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21335 * include/grub/mm_private.h (grub_mm_header): ... here.
21336 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21337 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
21338 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21339 (grub_mm_region): ..here. Removed addr. Added pre_size.
21340 All users updated.
21341 * grub-core/kern/mm.c (base): Renamed to ...
21342 (grub_mm_base): ... this. Made global.
21343 (grub_real_malloc): Alloc from end of region.
21344 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21345 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21346 * grub-core/kern/powerpc/cache_flush.S: ... here.
21347 * grub-core/lib/efi/relocator.c: New file.
21348 * grub-core/lib/i386/relocator.c: Rewritten.
21349 * grub-core/lib/i386/relocator16.S: New file.
21350 * grub-core/lib/i386/relocator32.S: Likewise.
21351 * grub-core/lib/i386/relocator64.S: Likewise.
21352 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21353 * grub-core/lib/i386/relocator_common.S: New file.
21354 * grub-core/lib/ieee1275/relocator.c: Likewise.
21355 * grub-core/lib/mips/relocator.c: Rewritten.
21356 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21357 stylistic adjustments.
21358 * grub-core/lib/powerpc/relocator.c: New file.
21359 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21360 * grub-core/lib/relocator.c: Rewritten.
21361 * grub-core/lib/x86_64/relocator_asm.S: New file.
21362 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21363 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21364 (bsd_tag): New struct.
21365 (tags): New variable.
21366 (tags_last): Likewise.
21367 (netbsd_module): New struct.
21368 (netbsd_mods): New variable.
21369 (netbsd_mods_last): Likewise.
21370 (openbsd_opts): New parameter "serial".
21371 (OPENBSD_SERIAL_ARG): New definition.
21372 (netbsd_opts): New parameter "serial".
21373 (NETBSD_SERIAL_ARG): New definition.
21374 (grub_freebsd_add_meta): Reorganised into ...
21375 (grub_bsd_add_meta): ...this. All users updated.
21376 (grub_freebsd_add_mmap): Reorganised into ...
21377 (generate_e820_mmap): ...this...
21378 (grub_bsd_add_mmap): ...and this. All users updated.
21379 (grub_freebsd_list_modules): Use tags.
21380 (grub_netbsd_add_meta_module): New function.
21381 (grub_netbsd_list_modules): Likewise.
21382 (grub_freebsd_boot): Use relocator and finish EFI.
21383 (grub_openbsd_boot): Likewise.
21384 (grub_netbsd_setup_video): New function.
21385 (grub_netbsd_add_modules): Likewise.
21386 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21387 and finish EFI.
21388 (grub_bsd_unload): Unload tags.
21389 (grub_bsd_load_aout): Use relocator.
21390 (grub_bsd_elf32_size_hook): New function.
21391 (grub_bsd_elf32_hook): Use relocator.
21392 (grub_bsd_elf64_size_hook): New function.
21393 (grub_bsd_elf64_hook): Use relocator.
21394 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21395 (grub_bsd_load): Zero-out openbsd_ramdisk.
21396 (grub_bsd_load): Use relocator.
21397 (grub_cmd_openbsd): Support serial.
21398 (grub_cmd_netbsd): Support modules.
21399 (grub_cmd_freebsd_module): Use relocator.
21400 (grub_netbsd_module_load): New function.
21401 (grub_cmd_netbsd_module): Likewise.
21402 (grub_cmd_openbsd_ramdisk): Likewise.
21403 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21404 kopenbsd_ramdisk.
21405 (GRUB_MOD_FINI): Unregister new commands.
21406 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21407 (grub_freebsd_load_elfmodule_obj): Use relocator.
21408 (grub_freebsd_load_elfmodule): Likewise.
21409 (grub_freebsd_load_elf_meta): Likewise.
21410 (grub_netbsd_load_elf_meta): New function.
21411 (grub_openbsd_find_ramdisk): Likewise.
21412 * grub-core/loader/i386/bsd_helper.S: Removed.
21413 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21414 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21415 * grub-core/loader/i386/efi/linux.c: Likewise.
21416 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21417 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21418 (DEFAULT_VIDEO_MODE): Likewise.
21419 (real_mode_target): New variable.
21420 (prot_mode_target): Likewise.
21421 (initrd_mem_target): Likewise.
21422 (relocator): Likewise.
21423 (efi_mmap_buf): Likewise.
21424 (efi_mmap_size): Likewise.
21425 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21426 (free_pages): Use relocator.
21427 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21428 (grub_linux_setup_video): Return error.
21429 (grub_linux_trampoline_start): Removed.
21430 (grub_linux_trampoline_end): Likewise.
21431 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21432 andd video parameters depending on firmware.
21433 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21434 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21435 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21436 (grub_cmd_initrd): Use relocator.
21437 * grub-core/loader/i386/linux_trampoline.S: Removed.
21438 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21439 (elf_sec_entsize): Likewise.
21440 (elf_sec_shstrndx): Likewise.
21441 (elf_sections): Likewise.
21442 (grub_multiboot_load): Use relocator.
21443 (grub_multiboot_get_mbi_size): Account for sections.
21444 (grub_multiboot_make_mbi): Use relocator and support sections.
21445 (grub_multiboot_add_elfsyms): New function.
21446 (grub_multiboot_free_mbi): Free sections.
21447 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21448 (grub_linux_real_target): Likewise.
21449 (grub_linux_real_chunk): Likewise.
21450 (grub_linux16_prot_size): Likewise.
21451 (grub_linux16_boot): Use relocator.
21452 (grub_linux_unload): Unload relocator.
21453 (grub_cmd_linux): Use relocator.
21454 (grub_cmd_initrd): Likewise.
21455 * grub-core/loader/i386/pc/ntldr.c: New file.
21456 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21457 Don't try to guess CPU frequency.
21458 (grub_xnu_set_video): Stretch bitmap.
21459 (grub_xnu_boot): Use relocator.
21460 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21461 (grub_linux_unload): Free relocator.
21462 (grub_linux_load32): Use relocator.
21463 (grub_linux_load64): Likewise.
21464 (grub_cmd_initrd): Likewise.
21465 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21466 (grub_multiboot_unload): Unload relocator.
21467 (grub_cmd_multiboot): Use relocator.
21468 (grub_cmd_module): Likewise.
21469 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21470 Use relocator and support sections.
21471 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21472 (elf_sec_entsize): Likewise.
21473 (elf_sec_shstrndx): Likewise.
21474 (elf_sections): Likewise.
21475 (grub_multiboot_load): Use relocator.
21476 (grub_multiboot_get_mbi_size): Account for sections.
21477 (grub_multiboot_make_mbi): Use relocator and support sections.
21478 (grub_multiboot_add_elfsyms): New function.
21479 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21480 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21481 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21482 Prototype changed. All users updated.
21483 (grub_xnu_align_heap): Simplified.
21484 (grub_xnu_writetree_toheap): Likewise.
21485 (grub_xnu_unload): Unload relocator.
21486 (grub_cmd_xnu_kernel): Use relocator.
21487 (grub_cmd_xnu_kernel64): Likewise.
21488 (grub_xnu_register_memory): Simplified.
21489 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21490 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21491 EFI is finished.
21492 (grub_console_checkkey): Likewise.
21493 (grub_console_getkey): Likewise.
21494 (grub_console_getwh): Likewise.
21495 (grub_console_getxy): Likewise.
21496 (grub_console_gotoxy): Likewise.
21497 (grub_console_cls): Likewise.
21498 (grub_console_setcolorstate): Likewise.
21499 (grub_console_setcursor): Likewise.
21500 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21501 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21502 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21503 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21504 * grub-core/tests/boot/kernel-8086.S: Likewise.
21505 * grub-core/tests/boot/kernel-i386.S: Likewise.
21506 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21507 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21508 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21509 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21510 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21511 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21512 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21513 * grub-core/tests/boot/linux.cfg: Likewise.
21514 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21515 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21516 * grub-core/tests/boot/linux16.cfg: Likewise.
21517 * grub-core/tests/boot/multiboot.cfg: Likewise.
21518 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21519 * grub-core/tests/boot/ntldr.cfg: Likewise.
21520 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21521 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21522 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21523 New definition.
21524 * include/grub/dl.h (grub_dl_unload_all): Removed.
21525 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21526 (grub_efi_finish_boot_services): Change prototype.
21527 (grub_efi_is_finished): New variable.
21528 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21529 Changed prototype.
21530 (grub_efiemu_finish_boot_services): Removed.
21531 (grub_machine_efiemu_init_tables): New prototype.
21532 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21533 (grub_elf64_phdr_iterate): Likewise.
21534 * include/grub/i386/bsd.h: Include relocator.h.
21535 (freebsd_tag_header): New struct.
21536 (grub_openbsd_bios_mmap): Removed.
21537 (grub_unix_real_boot): Removed.
21538 (grub_freebsd_load_elfmodule32): Changed prototype.
21539 (grub_freebsd_load_elfmodule_obj64): Likewise.
21540 (grub_freebsd_load_elf_meta32): Likewise.
21541 (grub_freebsd_load_elf_meta64): Likewise.
21542 (grub_freebsd_add_meta): Removed.
21543 (grub_netbsd_load_elf_meta32): New prototype.
21544 (grub_netbsd_load_elf_meta64): Likewise.
21545 (grub_bsd_add_meta): Likewise.
21546 (grub_openbsd_ramdisk_descriptor): New struct.
21547 (grub_openbsd_find_ramdisk32): New prototype.
21548 (grub_openbsd_find_ramdisk64): Likewise.
21549 * include/grub/i386/coreboot/loader.h: Removed.
21550 * include/grub/i386/efi/loader.h: Likewise.
21551 * include/grub/i386/ieee1275/loader.h: Likewise.
21552 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21553 to grub_uint32_t.
21554 * include/grub/i386/loader.h: Removed.
21555 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21556 value.
21557 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21558 (grub_phys_addr_t): New type.
21559 (grub_vtop): New inline function.
21560 (grub_map_memory): Likewise.
21561 (grub_unmap_memory): Likewise.
21562 * include/grub/i386/multiboot/loader.h: Removed.
21563 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21564 (NETBSD_BTINFO_CONSOLE): New definition.
21565 (NETBSD_BTINFO_SYMTAB): Likewise.
21566 (NETBSD_BTINFO_MODULES): Likewise.
21567 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21568 (grub_netbsd_bootinfo): New struct.
21569 (grub_netbsd_btinfo_common): Use explicit bitsize.
21570 (grub_netbsd_btinfo_mmap_entry): Removed.
21571 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21572 (grub_netbsd_btinfo_bootdisk): New struct.
21573 (grub_netbsd_btinfo_symtab): Likewise.
21574 (grub_netbsd_btinfo_serial): Likewise.
21575 (grub_netbsd_btinfo_modules): Likewise.
21576 (grub_netbsd_btinfo_framebuf): Likewise.
21577 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21578 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21579 Likewise.
21580 (grub_openbsd_bootargs): Use explicit bitsize.
21581 (grub_openbsd_bootarg_console): New struct.
21582 (GRUB_OPENBSD_COM_MAJOR): New definition.
21583 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21584 * include/grub/i386/pc/efiemu.h: Removed.
21585 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21586 * include/grub/i386/qemu/loader.h: Removed.
21587 * include/grub/i386/relocator.h: Rewritten.
21588 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21589 * include/grub/mips/memory.h: New file.
21590 * include/grub/mips/multiboot.h: Rewritten.
21591 * include/grub/mips/relocator.h: Rewritten.
21592 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21593 (grub_vtop): New function.
21594 (grub_map_memory): Likewise.
21595 (grub_unmap_memory): Likewise.
21596 * include/grub/misc.h (ALIGN_DOWN): New definition.
21597 * include/grub/mm.h (grub_mm_check_real): New proto.
21598 (GRUB_MM_CHECK): New definition.
21599 * include/grub/mm_private.h: New file.
21600 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21601 (grub_multiboot_get_mbi_size): Removed.
21602 (grub_multiboot_make_mbi): Change prottype.
21603 (grub_multiboot_set_accepts_video): New proto.
21604 (grub_multiboot_add_elfsyms): Likewise.
21605 (grub_multiboot_payload_eip): New variable.
21606 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21607 New prototype.
21608 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21609 New definition.
21610 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21611 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21612 * include/grub/powerpc/ieee1275/loader.h: Removed.
21613 * include/grub/powerpc/memory.h: New file.
21614 * include/grub/powerpc/relocator.h: Likewise.
21615 * include/grub/relocator.h: Likewise.
21616 * include/grub/relocator_private.h: Likewise.
21617 * include/grub/sparc64/ieee1275/loader.h: Removed.
21618 * include/grub/x86_64/memory.h: New file.
21619 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21620 (grub_xnu_heap_malloc): Likewise.
21621 (grub_xnu_heap_real_start): Removed.
21622 (grub_xnu_heap_start): Likewise.
21623 (grub_xnu_relocator): New variable.
21624 (grub_xnu_heap_target_start): Likewise.
21625 * tests/util/grub-shell.in: Support non-pc.
21626 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21627
5303b85d
VS
216282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21631 on malloc error.
21632 (grub_bidi_logical_to_visual): Check that malloc succeded.
21633 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21634 puts.
21635 (grub_xputs_normal): Likewise.
21636
d768d159
VS
216372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21640 extra_dist.
21641
216422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21645
5bf84df4
VS
216462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21649
3626810e
VS
216502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21653 dprintf.
21654
a7363f53
BC
216552010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21656
21657 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21658
902f75f6
VS
216592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * grub-core/normal/term.c (print_more): Fix a memory leak.
21662 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21663 (grub_xputs_normal): Likewise.
21664
3c707967
VS
216652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21666
21667 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21668 the begining of the string
21669
2053cc07
VS
216702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 * grub-core/script/script.c (grub_script_parse): Free parsed on
21673 failure.
21674
46422ebf
VS
216752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21678 on failure.
21679
9e0fa3f6
VS
216802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21683 return.
21684
3393cf16
VS
216852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21686
21687 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21688 (scroll_up): Fix a memory leak.
21689
b17540cb
VS
216902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21691
21692 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21693 errors.
21694
67140446
VS
216952010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 Handle USB pendrives exposed as floppies.
21698
21699 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21700 floppy.
21701 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21702 Check for partitions on all devices.
21703
e35e46fc
VS
217042010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21707 (readkey): Likewise.
21708
d24c6190
BC
217092010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21710
21711 Multiple variable names support to "export" command.
21712
21713 * normal/context.c (grub_cmd_export): "export" command supports
21714 multiple variable names.
21715
04ddcc6a
ST
217162010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21717
21718 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21719 --target=drive output to Mach device name.
21720
0c8b61d8
BC
217212010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21722
21723 New Automake based build system for GRUB.
21724
21725 * ABOUT-NLS: New file.
21726 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21727 in Makefile.util.def file.
21728 * Makefile.util.def: New file. Autogen build definitions file for
21729 GRUB host utils.
21730 * conf/Makefile.common: New file. Common variables for GRUB host
21731 utils and target modules.
21732 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21733 * docs/Makefile.am: New file. Automake file for docs.
21734 * gentpl.py: New file. Python script to generate Autogen
21735 template.
21736 * grub-core/Makefile.am: New file. GRUB target modules' rules
21737 that doesn't fit in Makefile.core.def file.
21738 * grub-core/Makefile.core.def: New file. Autogen build
21739 definitions file for GRUB target modules.
21740 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21741 specific setjmp.S file.
21742 * po/Makefile.am: New file.
21743
21744 * .bzrignore: New ignores.
21745 * INSTALL: New requirements, without Ruby.
21746 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21747 * autogen.sh: Updated to invoke autogen as necessary.
21748 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21749 and defines for Automake conditionals.
21750 * geninit.sh: Refactoring.
21751
21752 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21753 necessary.
21754 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21755 New prototype.
21756
21757 * include/grub/test.h: Fix functional test modules' naming.
21758 * grub-core/tests/example_functional_test.c: Fix test module name.
21759
21760 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21761 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21762 * util/grub-editenv.c: Likewise.
21763 * util/grub-fstest.c: Likewise.
21764 * util/grub-mkdevicemap.c: Likewise.
21765 * util/grub-mkfont.c: Likewise.
21766 * util/grub-mkimage.c: Likewise.
21767 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21768 * util/grub-probe.c: Likewise.
21769 * util/grub-script-check.c: Likewise.
21770 * util/i386/pc/grub-setup.c: Likewise.
21771 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21772
21773 * tests/util/grub-shell.in: Fix override directory path.
21774 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21775 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21776
21777 * util/lvm.c: Update #includes.
21778 * util/raid.c: Likewise.
21779 * util/resolve.c: Likewise.
21780 * grub-core/bus/emu/pci.c: Likewise.
21781 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21782 * grub-core/lib/posix_wrap/string.h: Likewise.
21783 * grub-core/kern/emu/main.c: Likewise.
21784
21785 * grub-core/gensymlist.sh: New file. Script for generating kernel
21786 symbols file.
21787 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21788
21789 * grub-core/gentrigtables.c: Fix unused variable warnings.
21790
21791 * Makefile.in: Removed.
21792 * conf/any-emu.rmk: Removed.
21793 * conf/common.rmk: Removed.
21794 * conf/i386-coreboot.rmk: Removed.
21795 * conf/i386-efi.rmk: Removed.
21796 * conf/i386-ieee1275.rmk: Removed.
21797 * conf/i386-multiboot.rmk: Removed.
21798 * conf/i386-pc.rmk: Removed.
21799 * conf/i386-qemu.rmk: Removed.
21800 * conf/i386.rmk: Removed.
21801 * conf/mips-yeeloong.rmk: Removed.
21802 * conf/mips.rmk: Removed.
21803 * conf/powerpc-ieee1275.rmk: Removed.
21804 * conf/sparc64-ieee1275.rmk: Removed.
21805 * conf/tests.rmk: Removed.
21806 * conf/x86-efi.rmk: Removed.
21807 * conf/x86_64-efi.rmk: Removed.
21808 * gendistlist.sh: Removed.
21809 * geninitheader.sh: Removed.
21810 * genkernsyms.sh.in: Removed.
21811 * genmk.rb: Removed.
21812 * gensymlist.sh.in: Removed.
21813 * mkinstalldirs: Removed.
21814 * boot: Moved ...
21815 * grub-core/boot: ... to here.
21816 * bus: Moved ...
21817 * grub-core/bus: ... to here.
21818 * commands: Moved ...
21819 * grub-core/commands: ... to here.
21820 * disk: Moved ...
21821 * grub-core/disk: ... to here.
21822 * efiemu: Moved ...
21823 * grub-core/efiemu: ... to here.
21824 * font: Moved ...
21825 * grub-core/font: ... to here.
21826 * fs: Moved ...
21827 * grub-core/fs: ... to here.
21828 * gencmdlist.sh: Moved ...
21829 * grub-core/gencmdlist.sh: ... to here.
21830 * genemuinit.sh: Moved ...
21831 * grub-core/genemuinit.sh: ... to here.
21832 * genemuinitheader.sh: Moved ...
21833 * grub-core/genemuinitheader.sh: ... to here.
21834 * genfslist.sh: Moved ...
21835 * grub-core/genfslist.sh: ... to here.
21836 * genhandlerlist.sh: Moved ...
21837 * grub-core/genhandlerlist.sh: ... to here.
21838 * genmoddep.awk: Moved ...
21839 * grub-core/genmoddep.awk: ... to here.
21840 * genmodsrc.sh: Moved ...
21841 * grub-core/genmodsrc.sh: ... to here.
21842 * genpartmaplist.sh: Moved ...
21843 * grub-core/genpartmaplist.sh: ... to here.
21844 * genparttoollist.sh: Moved ...
21845 * grub-core/genparttoollist.sh: ... to here.
21846 * genterminallist.sh: Moved ...
21847 * grub-core/genterminallist.sh: ... to here.
21848 * gentrigtables.c: Moved ...
21849 * grub-core/gentrigtables.c: ... to here.
21850 * genvideolist.sh: Moved ...
21851 * grub-core/genvideolist.sh: ... to here.
21852 * gettext: Moved ...
21853 * grub-core/gettext: ... to here.
21854 * gfxmenu: Moved ...
21855 * grub-core/gfxmenu: ... to here.
21856 * gnulib: Moved ...
21857 * grub-core/gnulib: ... to here.
21858 * hello: Moved ...
21859 * grub-core/hello: ... to here.
21860 * hook: Moved ...
21861 * grub-core/hook: ... to here.
21862 * io: Moved ...
21863 * grub-core/io: ... to here.
21864 * kern: Moved ...
21865 * grub-core/kern: ... to here.
21866 * lib: Moved ...
21867 * grub-core/lib: ... to here.
21868 * loader: Moved ...
21869 * grub-core/loader: ... to here.
21870 * mmap: Moved ...
21871 * grub-core/mmap: ... to here.
21872 * normal: Moved ...
21873 * grub-core/normal: ... to here.
21874 * partmap: Moved ...
21875 * grub-core/partmap: ... to here.
21876 * parttool: Moved ...
21877 * grub-core/parttool: ... to here.
21878 * script: Moved ...
21879 * grub-core/script: ... to here.
21880 * term: Moved ...
21881 * grub-core/term: ... to here
21882 * tests/example_functional_test.c: Moved ...
21883 * grub-core/tests/example_functional_test.c: ... to here.
21884 * tests/lib/functional_test.c: Moved ...
21885 * grub-core/tests/lib/functional_test.c: ... to here.
21886 * tests/lib/test.c: Moved ...
21887 * grub-core/tests/lib/test.c: ... to here.
21888 * video: Moved ...
21889 * grub-core/video: ... to here.
21890
645586e6
BC
218912010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21892
21893 Replace --enable-grub-emu-modules with grub-emu-lite.
21894
21895 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21896 cache.S.
21897
21898 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21899 * kern/emu/full.c: New file. For grub-emu specific initialization.
21900 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21901 * kern/emu/main.c: Call initialization function grub_emu_init.
21902
21903 * Makefile.in: Include grub-emu-lite in install.
21904 * commands/parttool.c: Use grub_no_autoload to differentiate
21905 between grub-emu and grub-emu-lite.
21906 * include/grub/misc.h: New variable grub_no_autoload.
21907
21908 * conf/any-emu.rmk: New rules for grub-emu-lite.
21909 * configure.ac: Remove --enable-grub-emu-modules.
21910 * genmk.rb: Cleanup unnecessary rules.
21911 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21912
21913 * normal/main.c: Don't load list files on grub-emu-lite.
21914 * util/misc.c (grub_arch_sync_caches): Removed.
21915
f86a4030
CW
219162010-08-23 Colin Watson <cjwatson@ubuntu.com>
21917
21918 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21919 grub-mkimage rather than grub-mkelfimage.
21920 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21921
06776944
VS
219222010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21925 a key after CapsLock or NumLock. It's just a qemu bug.
21926
df262419
VS
219272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21930 needed by libusb wrapper.
21931
b40ea81b
ST
219322010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21933
21934 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21935
dee50575
VS
219362010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21939 --nounzip is passed.
21940
fb1d7b79
VS
219412010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 USB hotunplugging and USB serial support.
21944
21945 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21946 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21947 (grub_uhci_transfer): Respect timeout and set *actual.
21948 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21949 non-standard length.
21950 (grub_usb_device_attach): Autoload modules.
21951 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21952 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21953 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21954 users updated.
21955 (grub_usb_add_hub): Fill nports and children.
21956 (attach_root_port): Receive hub instead of controller.
21957 All users updated. Fill hub->devices.
21958 (grub_usb_root_hub): Allocate hub->devices.
21959 (detach_device): New function.
21960 (poll_nonroot_hub): Fill children and detach devices.
21961 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21962 actual arguments. All users updated.
21963 (grub_usb_bulk_read_extended): New function.
21964 * bus/usb/serial/common.c: New file.
21965 * bus/usb/serial/ftdi.c: Likewise.
21966 * bus/usb/serial/pl2303.c: Likewise.
21967 * commands/terminal.c (handle_command): Support wildcard.
21968 * commands/usbtest.c: Output "Unknown" instead of empty string.
21969 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21970 (usbserial_common_mod_SOURCES): New variable.
21971 (usbserial_common_mod_CFLAGS): Likewise.
21972 (usbserial_common_mod_LDFLAGS): Likewise.
21973 (pkglib_MODULES): Add usbserial_pl2303.mod.
21974 (usbserial_pl2303_mod_SOURCES): New variable.
21975 (usbserial_pl2303_mod_CFLAGS): Likewise.
21976 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21977 (pkglib_MODULES): Add usbserial_ftdi.mod.
21978 (usbserial_ftdi_mod_SOURCES): New variable.
21979 (usbserial_ftdi_mod_CFLAGS): Likewise.
21980 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21981 (pkglib_MODULES): Add serial.mod.
21982 (serial_mod_SOURCES): New variable.
21983 (serial_mod_CFLAGS): Likewise.
21984 (serial_mod_LDFLAGS): Likewise.
21985 * conf/i386-pc.rmk: Likewise.
21986 * conf/mips-yeeloong.rmk: Likewise.
21987 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21988 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21989 * disk/usbms.c (first_available_slot): New variable.
21990 (grub_usbms_attach): Don't reuse free slots due to potential cache
21991 problems.
21992 * include/grub/serial.h: Moved to ..
21993 * include/grub/ns8250.h: ...this.
21994 * include/grub/serial.h: New file.
21995 * include/grub/term.h (grub_term_poll_usb): New variable.
21996 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21997 readkey. All users updated.
21998 (grub_terminfo_output_state): Pass term to put.
21999 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
22000 (grub_usb_controller_dev): Add timeout and actual arguments to
22001 transfer. All users updated.
22002 (grub_usb_interface): New field detach_data.
22003 (grub_usb_device): New fields children and nports.
22004 (grub_usb_ep_type_t): New type.
22005 (grub_usb_get_ep_type): New function.
22006 (grub_usb_bulk_read_extended): Likewise.
22007 * include/grub/usbdesc.h (grub_usb_desc): New type.
22008 * include/grub/usbserial.h: New file.
22009 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
22010 * kern/term.c (grub_term_poll_usb): New variable.
22011 (grub_getkey): Call grub_term_poll_usb if set.
22012 (grub_checkkey): Likewise.
22013 (grub_getkeystatus): Likewise.
22014 * term/serial.c: Moved controller-specific parts to ...
22015 * term/ns8250.c: ... here.
22016 * term/serial.c: Mostly rewritten.
22017 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
22018 according to spec.
22019
21a313de
RM
220202010-08-20 Robert Millan <rmh@gnu.org>
22021
22022 Make kFreeBSD code more generic to support ext2fs as root, ufs as
22023 a separate module and maybe other interesting combinations.
22024
22025 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
22026 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
22027 (kfreebsd_entry): Add generic filesystem module load routine.
22028 Map GRUB `ext2' to kFreeBSD `ext2fs'.
22029
63c734a6
CW
220302010-08-20 Colin Watson <cjwatson@ubuntu.com>
22031
22032 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
22033 "numcenter" (I misunderstood the purpose of this entry).
22034 * docs/grub.texi (sendkey): Likewise.
22035
c4d16542
CW
220362010-08-20 Colin Watson <cjwatson@ubuntu.com>
22037
22038 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
22039 status flag options; simply omitting the option is equivalent and
22040 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
22041 (keysym_table): Rename "num5numlock" to "numlock".
22042 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
22043 can uniformly say that only the last of multiple `sendkey'
22044 invocations has any effect.
22045 * docs/grub.texi (sendkey): New section.
22046
93541d66
CW
220472010-08-19 Colin Watson <cjwatson@ubuntu.com>
22048
22049 * commands/i386/pc/sendkey.c (options): Fix three typos.
22050
b4ece5e1
VS
220512010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 Implement sendkey support.
22054
22055 * commands/i386/pc/sendkey.c: New file.
22056 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
22057 (sendkey_mod_SOURCES): New variable.
22058 (sendkey_mod_CFLAGS): Likewise.
22059 (sendkey_mod_LDFLAGS): Likewise.
22060
51f1f5af
CW
220612010-08-18 Colin Watson <cjwatson@ubuntu.com>
22062
22063 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22064 fix warnings from Autoconf.
22065
9da94e05
CW
220662010-08-18 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22069 to avoid false positives with some assemblers that output things
22070 like "someprefix_func" as part of their output.
22071
729a0f2e
RM
220722010-08-15 Robert Millan <rmh@gnu.org>
22073
22074 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22075 errors.
22076 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22077 grub_get_libzfs_handle() errors.
22078
f3710e08
RM
220792010-08-14 Robert Millan <rmh@gnu.org>
22080
22081 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22082 filesystem is not ZFS.
22083
7a3c13de
BC
220842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22085
22086 Fix for misspelled color names defaulting to black/black (bug
22087 reported by Doug Nazar)
22088
22089 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22090 status to prototype.
22091 * normal/color.c (grub_parse_color_name_pair): Return failure
22092 status.
22093 (grub_env_write_color_normal): Ignore bad color names.
22094 (grub_env_write_color_highlight): Likewise.
22095 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22096
ab8ba50d
BC
220972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22098
22099 "shift" command support to GRUB script.
22100
22101 * include/grub/script_sh.h (grub_script_shift): New prototype.
22102 * script/execute.c (grub_script_shift): New function.
22103 * script/main.c (grub_script_init): Register shift command.
22104 (grub_script_fini): Unregister shift command.
22105 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22106
22107 * tests/grub_script_shift.in: New testcase.
22108 * conf/tests.rmk: Rules for new testcase.
22109
4d61999e
BC
221102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22111
22112 "continue" command support to GRUB script.
22113
22114 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22115 (grub_script_break): Continue support.
22116 * script/main.c (grub_script_init): Register continue command.
22117 (grub_script_fini): Unregister continue command.
22118
22119 * tests/grub_script_continue.in: New testcase.
22120 * conf/tests.rmk: Rules for new testcase.
22121
4df51e00
BC
221222010-08-12 BVK Chaitanya <bvk@dbook>
22123
22124 "break" command support to GRUB script.
22125
22126 * conf/common.rmk: Rule updates to grub-script-check.
22127 * include/grub/misc.h (grub_min): New function.
22128 * include/grub/script_sh.h (grub_script_init): New prototype.
22129 (grub_script_fini): New prototype.
22130 (grub_script_break): New prototype.
22131 * script/main.c (grub_script_init): New function.
22132 (grub_script_fini): New function.
22133 * script/execute.c (grub_script_break): New function.
22134 * normal/main.c: Calls to grub_script_{init,fini}.
22135 * util/grub-script-check.c (grub_script_break): New function.
22136
22137 * tests/grub_script_break.in: New testcase.
22138 * conf/tests.rmk: Rules for new test case.
22139
f12c8420
BC
221402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22141
22142 Function parameters support to GRUB script.
22143
22144 * script/yylex.l (VARIABLE): Regular expression update.
22145 * script/function.c (grub_script_function_call): Moved ...
22146 * script/execute.c (grub_script_function_call): ... to here.
22147 (grub_script_execute_arglist_to_argv): Removed.
22148 (grub_script_arglist_to_argv): New function.
22149 * script/argv.c: New file.
22150 (grub_script_argv_free): New function.
22151 (grub_script_argv_next): Likewise.
22152 (grub_script_argv_append): Likewise.
22153 (grub_script_argv_split_append): Likewise.
22154 * include/grub/script_sh.h (grub_script_argv): New struct.
22155 (grub_script_argv_free): New function.
22156 (grub_script_argv_next): Likewise.
22157 (grub_script_argv_append): Likewise.
22158 (grub_script_argv_split_append): Likewise.
22159
22160 * conf/common.rmk (normal.mod): New source script/argv.c.
22161
22162 * tests/grub_script_echo1.in: More tests.
22163 * tests/grub_script_vars1.in: Likewise.
22164 * tests/grub_script_functions.in: New test case.
22165 * conf/tests.rmk: Rules for new testcase.
22166
8022b748
BC
221672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22168
22169 Remove grub_script_cmdblock struct.
22170
22171 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22172 * script/parser.y: Likewise.
22173 * script/execute.c: Rename cmdblock suffix to cmdlist.
22174 * script/script.c: Likewise.
22175 * util/grub-script-check.c: Likewise.
22176
79a6ba61
YB
221772010-08-11 Yves Blusseau <blusseau@zetam.org>
22178
22179 * .bzrignore: add grub-macho2img
22180
d04b9414
VS
221812010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22182
22183 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22184
f947ab49
VS
221852010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 Remove the dump of sm712 initialisation sequence.
22188
22189 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22190 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22191 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22192 (GRUB_VGA_CR_*): Added many registers.
22193 (GRUB_VGA_SR_*): Likewise.
22194 (GRUB_VGA_GR_*): Likewise.
22195 (grub_vga_write_arx): New function.
22196 (grub_video_hw_config): New struct.
22197 (grub_vga_set_geometry): New function.
22198 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22199 GRUB_PCI_CLASS_SUBCLASS_VGA.
22200 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22201 * video/sm712.c (grub_sm712_write_reg): New function
22202 (grub_sm712_read_reg): Likewise.
22203 (grub_sm712_sr_write): Likewise.
22204 (grub_sm712_gr_write): Likewise.
22205 (grub_sm712_cr_write): Likewise.
22206 (grub_sm712_write_arx): Likewise.
22207 (grub_sm712_cr_shadow_write): Likewise.
22208 (grub_sm712_write_dda_lookup): Likewise.
22209 (grub_video_sm712_setup): Initialise the video rather then
22210 blindly replay the dump.
22211 (main) [TEST]: Add a routine to be able to compile as standalone for
22212 tests.
22213 * video/sm712_init.c (sm712_init): Removed.
22214 (sm712_sr_seq1): New array.
22215 (sm712_sr_seq2): Likewise.
22216
f0206638
VS
222172010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * include/grub/vga.h: Add missing grub/pci.h include.
22220
2764da3b
YB
222212010-08-10 Yves Blusseau <blusseau@zetam.org>
22222
22223 * util/grub-macho2img.c (main): fix typo
22224
cf0c775e
VS
222252010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22228 (grub_vga_gr_read): Likewise.
22229 (grub_vga_cr_write): Likewise.
22230 (grub_vga_cr_read): Likewise.
22231 (grub_vga_sr_write): Likewise.
22232 (grub_vga_sr_read): Likewise.
22233 (grub_vga_palette_read): Likewise.
22234 (grub_vga_palette_write): Likewise.
22235 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22236 (grub_sm712_sr_read): New function.
22237 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22238 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22239
07f360e9
RM
222402010-08-09 Robert Millan <rmh@gnu.org>
22241
22242 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22243 out unused variables on non-ZFS build.
22244
346c2072
RM
222452010-08-08 Robert Millan <rmh@gnu.org>
22246
22247 Fix path generation for sub-filesystems in ZFS.
22248
22249 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22250 missing slash.
22251
71175420
RM
222522010-08-08 Robert Millan <rmh@gnu.org>
22253
22254 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22255
0d8286f3
RM
222562010-08-08 Robert Millan <rmh@gnu.org>
22257
22258 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22259 exist, issue a proper error message (rely on `ls' for translated
22260 strings).
22261
55dd2924
RM
222622010-08-08 Robert Millan <rmh@gnu.org>
22263
22264 Fix grub-probe invocation.
22265
22266 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22267
d3dd9e80
RM
222682010-08-04 Robert Millan <rmh@gnu.org>
22269
22270 * configure.ac: Remove checks for getfsstat() and getmntany().
22271 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22272 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22273 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22274 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22275 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22276 function.
22277 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22278 via find_mount_point_from_dir() and getfsstat() / getmntany().
22279
0de22aa9
RM
222802010-08-04 Robert Millan <rmh@gnu.org>
22281
22282 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22283 (grub_find_zpool_from_mount_point): Merge into ...
22284 (grub_find_zpool_from_dir): ... this.
22285 * kern/emu/misc.c: Likewise.
22286
22287 * kern/emu/misc.c
22288 (grub_make_system_path_relative_to_its_root): Replace
22289 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22290 with grub_find_zpool_from_dir().
22291 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22292
62858144
RM
222932010-08-04 Robert Millan <rmh@gnu.org>
22294
22295 Support OpenSolaris in ZFS device resolution.
22296
22297 * configure.ac: Check for getmntany().
22298 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22299 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22300 support.
22301
9dd6fd50
RM
223022010-08-03 Robert Millan <rmh@gnu.org>
22303
22304 Fix grub-emu build.
22305
22306 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22307 * include/grub/emu/misc.h: ... here.
22308
22309 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22310 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22311
22312 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22313 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22314 (grub_get_libzfs_handle): Move to ...
22315 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22316 (grub_get_libzfs_handle): ... here.
22317
c9f7ff97
BC
223182010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22319
22320 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22321 as command name case.
22322
a870a783
CW
223232010-08-02 Colin Watson <cjwatson@ubuntu.com>
22324
22325 * disk/raid.c (insert_array): Select unique numbers for named arrays
22326 as well, for use as keys in the disk cache.
22327
c7db243b
RM
223282010-08-01 Robert Millan <rmh@gnu.org>
22329
22330 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22331 kFreeBSD device name, except on ZFS where the filesystem label is
22332 used.
22333 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22334 `/boot/zfs/zpool.cache'.
22335 Set mountfrom kernel variable using ${kfreebsd_device}.
22336
f7abdefb
RM
223372010-08-01 Robert Millan <rmh@gnu.org>
22338
22339 Make it even harder to use uninitialized `libzfs_handle' (and
22340 make the interface a bit simpler).
22341
22342 * include/grub/util/misc.h (grub_util_init_libzfs)
22343 (libzfs_handle): Remove.
22344 (grub_get_libzfs_handle): New prototype.
22345
22346 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22347 attribute.
22348 (grub_util_init_libzfs): Remove.
22349 (grub_get_libzfs_handle): New function.
22350
22351 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22352 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22353 accessing `libzfs_handle' directly.
22354
c882acc0
RM
223552010-08-01 Robert Millan <rmh@gnu.org>
22356
22357 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22358 (grub_find_zpool_from_mount_point): New function prototypes.
22359
22360 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22361 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22362
22363 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22364 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22365 `static' attribute.
22366
22367 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22368 finding zpool from mount point into ...
22369 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22370
22371 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22372 requested path is part of a ZFS pool, use
22373 grub_find_zpool_from_mount_point() to detect its filesystem name,
22374 and generate a path with `/fsname@path' syntax.
22375
8bfe31d8
CW
223762010-08-01 Colin Watson <cjwatson@ubuntu.com>
22377
22378 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22379 (void) rather than () so that this is a proper prototype.
22380
553df63d
VS
223812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22384
8687cf07
VS
223852010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22386
22387 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22388 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22389
ea9be8ea
CW
223902010-08-01 Colin Watson <cjwatson@ubuntu.com>
22391
22392 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22393
6eea041a
CW
223942010-08-01 Colin Watson <cjwatson@ubuntu.com>
22395
22396 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22397
2cfb45df
CW
223982010-08-01 Colin Watson <cjwatson@ubuntu.com>
22399
22400 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22401 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22402 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22403 disable gfxpayload.
22404 (Shell-like scripting): Add real content.
22405 (Serial terminal): Suggest `terminal_input serial; terminal_output
22406 serial' rather than putting the two commands on separate lines,
22407 since console input will be inoperative after the first command.
22408 (menuentry): Document --class, --users, and --hotkey options.
22409 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22410 Vladimir Serbinenko).
22411
7decd202
VS
224122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
224132010-08-01 Colin Watson <cjwatson@ubuntu.com>
22414
22415 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22416
c882acc0
RM
224172010-08-01 Robert Millan <rmh@gnu.org>
22418
22419 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22420 (grub_find_zpool_from_mount_point): New function prototypes.
22421
22422 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22423 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22424
22425 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22426 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22427 `static' attribute.
22428
22429 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22430 finding zpool from mount point into ...
22431 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22432
22433 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22434 requested path is part of a ZFS pool, use
22435 grub_find_zpool_from_mount_point() to detect its filesystem name,
22436 and generate a path with `/fsname@path' syntax.
22437
deb0caa3
RM
224382010-08-01 Robert Millan <rmh@gnu.org>
22439
22440 Prevent accidental use of uninitialized libzfs_handle.
22441
22442 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22443 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22444 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22445
ce04ef47
CW
224462010-08-01 Colin Watson <cjwatson@ubuntu.com>
22447
22448 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22449 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22450
ebf53056
RM
224512010-08-01 Robert Millan <rmh@gnu.org>
22452
22453 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22454
3710bb6b
RM
224552010-07-31 Robert Millan <rmh@gnu.org>
22456
22457 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22458
8072efeb
RM
224592010-07-31 Robert Millan <rmh@gnu.org>
22460
22461 * kern/emu/misc.c: Add missing license header.
22462
3169f4c7
RM
224632010-07-31 Robert Millan <rmh@gnu.org>
22464
22465 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22466
22467 * include/grub/util/libnvpair.h: Include `<config.h>'.
22468 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22469 declaring libnvpair prototypes ourselves.
22470 * include/grub/util/libzfs.h: Include `<config.h>'.
22471 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22472 declaring libzfs prototypes ourselves.
22473
22474 (libzfs_handle): Moved to ...
22475 * include/grub/util/misc.h (libzfs_handle): ... here.
22476 Include `<grub/util/libzfs.h>'.
22477
c9a00aee
RM
224782010-07-30 Robert Millan <rmh@gnu.org>
22479
22480 * include/grub/emu/misc.h: Add missing license header.
22481
a184f9c8
RM
224822010-07-30 Robert Millan <rmh@gnu.org>
22483
22484 Enable `grub-probe -t device' resolution on ZFS.
22485
22486 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22487 * include/grub/util/libnvpair.h: New file.
22488 * include/grub/util/libzfs.h: New file.
22489
22490 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22491 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22492 `<grub/util/libnvpair.h>'.
22493 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22494
22495 (find_mount_point_from_dir): New static function.
22496 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22497 function.
22498 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22499 find_root_device_from_libzfs() before ressorting to find_root_device().
22500
22501 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22502 prototype.
22503 * util/misc.c: Include `<grub/util/libzfs.h>'.
22504 (grub_util_init_libzfs): New function.
22505 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22506 [HAVE_LIBZFS] (fini_libzfs): New static function.
22507 (grub_util_init_libzfs): New function.
22508 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22509
f7790cdd
RM
225102010-07-30 Robert Millan <rmh@gnu.org>
22511
22512 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22513 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22514 `warn_unused_result' attribute.
22515 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22516 (grub_xasprintf, grub_xvasprintf): Likewise.
22517 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22518
0806b63c
RM
225192010-07-29 Robert Millan <rmh@gnu.org>
22520
22521 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22522 (probe): Handle `PRINT_FS_LABEL'.
22523 (main): Handle `-t fs_label'.
22524
9f841f5c
RM
225252010-07-29 Robert Millan <rmh@gnu.org>
22526
22527 * configure.ac: Remove grub-mkisofs checks.
22528
46371121
VS
225292010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22530
22531 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22532 Reported by: Lennart Sorensen.
22533
225342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22537 prior to terminal_input/terminal_output separation. It's been over 1.5
22538 years and those versions weren't widely deployed.
22539
a9600892
CW
225402010-07-22 Colin Watson <cjwatson@ubuntu.com>
22541
22542 * disk/raid.c (insert_array): Don't count named arrays when looking
22543 for unused array numbers.
697e053c 22544 Reported and tested by: Michael Guntsche.
a9600892 22545
c03507df
CW
225462010-07-20 Colin Watson <cjwatson@ubuntu.com>
22547
22548 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22549 implementation of this so that grub-emu links again, with a note
22550 that this should support hotplugging in the future.
22551
b26f1c11
CW
225522010-07-20 Colin Watson <cjwatson@ubuntu.com>
22553
22554 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22555
efc9d7f1
CW
225562010-07-20 Colin Watson <cjwatson@ubuntu.com>
22557
22558 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22559 handle on failure.
22560 (grub_loopback_close): Remove empty function.
22561 (grub_loopback_dev): Remove close method.
22562
dd8ff5c9
CW
225632010-07-20 Colin Watson <cjwatson@ubuntu.com>
22564
22565 Disable EFI cursor when the EFI console becomes inactive.
22566
22567 * term/efi/console.c (grub_efi_console_init): New function.
22568 (grub_efi_console_fini): New function.
22569 (grub_console_term_output): Register init and fini methods.
22570
5e3bec67
VS
225712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22574 sh script.
22575
afaec079
VS
225762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * disk/loopback.c (grub_loopback): Replace filename with file.
22579 (delete_loopback): Handle new semantics.
22580 (grub_cmd_loopback): Likewise.
22581 (grub_loopback_iterate): Likewise.
22582 (grub_loopback_close): Likewise.
22583
a6a11f3c
VS
225842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22587 with -p "".
22588 Reported by: Tito Keitel.
22589
64a638b0
VS
225902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22591
22592 * docs/grub.texi (Naming convention): Document new naming convention.
22593
ab8ba957
VS
225942010-07-20 Vadim Solomin <vadic052@gmail.com>
225952010-07-20 Colin Watson <cjwatson@ubuntu.com>
22596
22597 Generate device.map in something closer to the old ordering.
22598
22599 * util/deviceiter.c (struct device): New declaration.
22600 (compare_file_names): Rename to ...
22601 (compare_devices): ... this. Sort by kernel name in preference to
22602 the stable by-id name, but keep the latter as a fallback comparison.
22603 Update header comment.
22604 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22605 of `struct device' rather than of plain file names.
22606
a29d6a4b
TF
226072010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22608
22609 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22610 on i386.
22611
39d824e8
VS
226122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22615 hardcoding size.
22616 (setv1table): Likewise.
22617
f058276b
FZ
226182010-07-20 Colin Watson <cjwatson@ubuntu.com>
22619
22620 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22621 removing the homehost if present.
22622 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22623 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22624 removing the homehost if present.
22625 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22626 if possible.
22627 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22628
22629 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22630 parameter. Set its pointer target to 0.
22631 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22632 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22633 `data_offset' value from the superblock for 1.x metadata.
22634 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22635 data on the device.
22636 (insert_array): Record the start sector of data on the device.
22637 (grub_raid_register): Pass start_sector parameters to
22638 grub_raid_list->detect and insert_array.
22639 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22640 member.
22641 (struct grub_raid): Add start_sector parameter to `detect'.
22642
22643 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22644 __attribute__ ((packed)), leaving a comment.
22645 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22646 (grub_mdraid_detect_09): ... here and ...
22647 (grub_mdraid_detect_1x): ... here.
22648
226492010-07-20 Peter Henn <peter.henn@web.de>
22650
22651 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22652 chunk size and disk size, which are already given as sector counts
22653 as distinct from the 0.90 units. Fetch the correct device number
22654 from the role table instead of using the table index.
22655
226562010-07-20 Felix Zielcke <fzielcke@z-51.de>
22657
22658 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22659 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22660 (WriteMostly1): New macro.
22661 Set array->name to NULL for metadata format 0.90. Add support for
22662 metadata 1.x. Fix some comments.
22663 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22664 few comments.
22665 * util/getroot.c (grub_util_get_grub_dev): Add support for
22666 /dev/md/name style devices.
22667
4b761da9
CW
226682010-07-20 Colin Watson <cjwatson@ubuntu.com>
22669
22670 * .bzrignore: Ignore 20_linux_xen.
22671
5771289a
CW
226722010-07-17 Colin Watson <cjwatson@ubuntu.com>
22673
22674 * util/import_unicode.py: Remove unnecessary imports.
22675
5dab68df
AN
226762010-07-17 Aleš Nesrsta <starous@volny.cz>
22677
22678 Hotplugging and USB hub support.
22679
22680 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22681 (grub_ohci): Likewise.
22682 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22683 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22684 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22685 (GRUB_OHCI_CTRL_EDS): Likewise.
22686 (GRUB_OHCI_BULK_EDS): Likewise.
22687 (GRUB_OHCI_TDS): Likewise.
22688 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22689 (grub_ohci_ed_phys2virt): New function.
22690 (grub_ohci_virt_to_phys): Likewise.
22691 (grub_ohci_td_phys2virt): Likewise.
22692 (grub_ohci_td_virt2phys): Likewise.
22693 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22694 attachment.
22695 (grub_ohci_find_ed): New function.
22696 (grub_ohci_alloc_td): Likewise.
22697 (grub_ohci_free_td): Likewise.
22698 (grub_ohci_free_tds): Likewise.
22699 (grub_ohci_transfer): Use previously allocated memory.
22700 (grub_ohci_portstatus): Reset status changed bit.
22701 (grub_ohci_detect_dev): Supply status changed.
22702 (grub_ohci_fini_hw): Free memory.
22703 (grub_ohci_restore_hw): Reallocate memory.
22704 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22705 Reset status change.
22706 (grub_uhci_detect_dev): Supply status_change.
22707 * bus/usb/usb.c (attach_hooks): New var.
22708 (grub_usb_device_attach): New function.
22709 (grub_usb_register_attach_hook_class): Likewise.
22710 (grub_usb_unregister_attach_hook_class): Likewise.
22711 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22712 (grub_usb_add_hub): Reset connection changed bit.
22713 (attach_root_port): New function.
22714 (grub_usb_root_hub): Likewise.
22715 (poll_nonroot_hub): Likewise.
22716 (grub_usb_poll_devices): Likewise.
22717 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22718 * disk/usbms.c (grub_usbms_open): Use device hooks.
22719 (grub_usbms_iterate) :Poll devices.
22720 (grub_usbms_finddevs): Split into ...
22721 (grub_usbms_attach): ... this ...
22722 (grub_usbms_attach): ... and this.
22723 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22724 in detect_dev.
22725 (grub_usb_interface): New fields attached and detach_hook.
22726 (grub_usb_attach_hook_class): New type.
22727 (grub_usb_attach_desc): New struct.
22728 (grub_usb_register_attach_hook_class): New function.
22729 (grub_usb_unregister_attach_hook_class): Likewise.
22730 (grub_usb_poll_devices): Likewise.
22731 (grub_usb_device_attach): Likewise.
22732 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22733 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22734
3222efaf
VS
227352010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22738 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22739 delta determination style. Works with most NetBSD partitions too.
22740
139b714a
VS
227412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22742
22743 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22744 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22745
986aad56
VS
227462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22749
99be513c
AB
227502010-07-14 Anton Blanchard <anton@samba.org>
22751
22752 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22753 ET_DYN files.
22754
18075f62
GS
227552010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22756
22757 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22758
8d9a5b15
GS
227592010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22760
22761 * kern/partition.c (grub_partition_check_containment): New function to
22762 check that a partition is physically contained in a parent. Since
22763 offsets are relative (and non-negative), this reduces to checking that
22764 the partition ends before its parent.
22765 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22766 (grub_partition_iterate): Likewise.
22767 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22768 comments.
22769 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22770 partitions that start before their parent, and add debug printfs.
22771
19563c25
CW
227722010-07-13 Colin Watson <cjwatson@ubuntu.com>
22773
22774 * Makefile.in (.SUFFIX): Spell correctly, as ...
22775 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22776 bare module name without `.mod', e.g. `test') tried to invoke a
22777 Modula-2 compiler.
22778
1a1f1e67
CW
227792010-07-13 Colin Watson <cjwatson@ubuntu.com>
22780
22781 * README: Point to the Info manual.
22782
811b0dca
JS
227832010-07-13 Jiro SEKIBA <jir@unicus.jp>
22784
22785 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22786 2nd superblock position from partition size.
22787
e4f4eafc
CW
227882010-07-10 Colin Watson <cjwatson@ubuntu.com>
22789
22790 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22791 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22792 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22793 outputs.
22794
4274c30f
VS
227952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22796
22797 Restructure SCSI .id handling.
22798 Reported and tested by: Aleš Nesrsta.
22799
22800 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22801 (grub_atapi_dev): Changed .name to "ata". New field .id.
22802 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22803 (grub_usbms_dev): New field .id.
22804 * disk/scsi.c (grub_scsi_iterate): Generate name.
22805 (grub_scsi_open): Parse name.
22806 * include/grub/scsi.h (grub_make_scsi_id): New function.
22807 (grub_scsi_dev): Change iterate and open to number instead of naming
22808 busses. All users updated.
22809 (grub_scsi): Remove name. Add .bus.
22810
5bc24388
VS
228112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * commands/help.c (grub_cmd_help): Fix a typo.
22814
249975ba
VS
228152010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22816
22817 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22818 Reported and tested by: Colin Watson.
22819
3eaac1a1
VS
228202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22823 in this context.
22824
becce1b1
VS
228252010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22828
f7bf0918
CW
228292010-07-07 Colin Watson <cjwatson@ubuntu.com>
22830
22831 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22832 indentation.
22833
0b0f9620
CW
228342010-07-06 Colin Watson <cjwatson@ubuntu.com>
22835
22836 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22837 and disk/raid6_recover.c.
22838 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22839 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22840
1e545469
CW
228412010-07-06 Colin Watson <cjwatson@ubuntu.com>
22842
22843 * term/gfxterm.c (repaint_schedulded): Rename to ...
22844 (repaint_scheduled): ... this. Update all callers.
22845 (repaint_was_schedulded): Rename to ...
22846 (repaint_was_scheduled): ... this. Update all callers.
22847
5357687a
CW
228482010-07-06 Colin Watson <cjwatson@ubuntu.com>
22849
22850 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22851 which we expect to be handled by upper layers.
22852
29d7e783
BC
228532010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22854
22855 * bus/usb/usbhub.c: #include time.h header.
22856
37582066
CW
228572010-07-06 Colin Watson <cjwatson@ubuntu.com>
22858
22859 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22860 entry_name also for entries without stat blocks (e.g. ".."); fixes
22861 corruption of the first entry in a directory.
22862
c8c06953
CW
228632010-07-06 Colin Watson <cjwatson@ubuntu.com>
22864
22865 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22866 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22867 doesn't work otherwise.
22868
e75056f1
CW
228692010-07-05 Colin Watson <cjwatson@ubuntu.com>
22870
22871 * docs/grub.texi (Features): Update list of supported file systems.
22872 (GNU/Linux): Update for GRUB 2.
22873 (Serial terminal): Remove mention of --disable-serial, which was a
22874 GRUB Legacy configure option. Update instructions to use
22875 `terminal_input' and `terminal_output' rather than `terminal'.
22876 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22877 configuration' and `Installing GRUB using grub-install'.
22878 (Menu entry editor): Update for GRUB 2.
22879 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22880 Document new -a, -u, and -v options.
22881 (initrd): New section.
22882 (initrd16): New section.
22883 (linux): New section.
22884 (linux16): New section.
22885 (search): The `var' argument to `--set' is optional.
22886 (GRUB only offers a rescue shell): Go into a little more detail on
22887 drive ordering.
22888
5cf69151
CW
228892010-07-05 Colin Watson <cjwatson@ubuntu.com>
22890
22891 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22892
e3f90044
CW
228932010-07-05 Colin Watson <cjwatson@ubuntu.com>
22894
22895 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22896 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22897
38d8f4f3
CW
228982010-07-05 Colin Watson <cjwatson@ubuntu.com>
22899
22900 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22901 install_prefix, in line with install_dos_part and install_bsd_part.
22902 Add new prefix variable, which is copied to install_prefix after
22903 comparing core.img in memory with the one read from disk in the
22904 no-embedding case, and use that rather than overwriting
22905 install_prefix immediately when installing to a partition.
22906 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22907 Bicakci.
22908
57ebd41e
GS
229092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22910
22911 * configure.ac: Avoid == in test command, it's not portable.
22912 * util/grub.d/30_os-prober.in: Likewise.
22913
cb7f64b2
CW
229142010-07-04 Colin Watson <cjwatson@ubuntu.com>
22915
22916 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22917
6b654bb0
GS
229182010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22919
22920 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22921 multiple (top-level) partmaps.
22922
72a2026d
VS
229232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22926 Reported by: Tino Keitel.
72a2026d 22927
df3eb88f
VS
229282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 Bidi and diacritics support.
22931
22932 * Makefile.in (widthspec.bin): New target.
22933 (widthspec.h): Likewise.
22934 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22935 * autogen.sh: Generate unidata.c.
22936 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22937 * commands/ls.c (grub_ls_list_devices): Likewise.
22938 (grub_ls_list_files): Likewise.
22939 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22940 (grub_mini_cmd_lsmod): Likewise.
22941 * commands/read.c: Likewise.
22942 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22943 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22944 * lib/arg.c (grub_arg_show_help): Likewise.
22945 * lib/crypto.c (grub_password_get): Likewise.
22946 * normal/auth.c (grub_username_get): Likewise.
22947 * normal/misc.c (grub_normal_print_device_info): Likewise.
22948 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22949 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22950 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22951 (normal/charset.c_DEPENDENCIES): New variable.
22952 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22953 (pkglib_MODULES): Remove charset.mod.
22954 (charset_mod_SOURCES): Removed.
22955 (charset_mod_CFLAGS): Likewise.
22956 (charset_mod_LDFLAGS): Likewise.
22957 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22958 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22959 and term/tparm.c.
22960 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22961 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22962 (kernel_img_HEADERS): Add terminfo.h.
22963 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22964 Fill ->font. Reverse ascii bitmaps.
22965 (grub_font_get_xheight): New function.
22966 * font/font.c (grub_font_get_string_width): Moved from here ...
22967 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22968 * font/font.c (grub_font_draw_string): Moved from here ...
22969 * gfxmenu/font.c (grub_font_draw_string): ... here.
22970 * font/font.c (grub_font_dup_glyph): New function.
22971 (grub_font_blit_glyph): Likewise.
22972 (grub_font_blit_glyph_mirror): Likewise.
22973 (blit_comb): Likewise.
22974 (grub_font_construct_dry_run): Likewise.
22975 (grub_font_get_constructed_device_width): Likewise.
22976 (grub_font_construct_glyph): Likewise.
22977 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22978 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22979 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22980 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22981 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22982 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22983 (grub_font_get_xheight): New proto.
22984 (grub_font_get_constructed_device_width): Likewise.
22985 (grub_font_construct_glyph): Likewise.
22986 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22987 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22988 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22989 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22990 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22991 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22992 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22993 (grub_console_getcharwidth): Likewise.
22994 * include/grub/misc.h (grub_xputs): New proto.
22995 (grub_puts): Inlined.
22996 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22997 (grub_normal_get_line_counter): Removed.
22998 (grub_install_newline_hook): Likewise.
22999 (grub_normal_get_char_counter): New proto.
23000 (grub_normal_reset_more): Likewise.
23001 (grub_xputs_normal): Likewise.
23002 * include/grub/powerpc/ieee1275/console.h: Removed.
23003 * include/grub/sparc64/ieee1275/console.h: Likewise.
23004 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
23005 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
23006 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
23007 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
23008 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
23009 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
23010 (grub_term_input): Pass reference to self. All users updated.
23011 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
23012 Pass reference to self. New fields normal_color, highlight_color and
23013 data. All users updated.
23014 (grub_putchar): Removed.
23015 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
23016 (grub_unicode_estimate_width): New function.
23017 (grub_term_getcharwidth): Add defaults.
23018 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
23019 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
23020 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
23021 (grub_cls): Remove EXPORT_FUNC.
23022 (grub_setcolorstate): Inline.
23023 (grub_newline_hook): Removed.
23024 * include/grub/terminfo.h: Rewritten. All users updated.
23025 * include/grub/unicode.h: New file.
23026 * include/grub/video.h (grub_video_signed_rect): New type.
23027 * kern/emu/console.c (grub_console_highlight_color): Removed.
23028 (grub_console_normal_color): Likewise.
23029 (grub_console_standard_color): Made static.
23030 (grub_ncurses_putchar): Remove mapping.
23031 (grub_ncurses_getcharwidth): Removed.
23032 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23033 (grub_ncurses_setcolor): Removed.
23034 (grub_ncurses_getcolor): Likewise.
23035 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
23036 (grub_console_putchar): ... this.
23037 (grub_console_putchar): Handle argument difference.
23038 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
23039 console_init_early and console_init_lately.
23040 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
23041 * kern/misc.c (grub_puts): Removed.
23042 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
23043 (grub_vsnprintf_real): Remove str = NULL support.
23044 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
23045 * normal/charset.c (grub_utf8_to_ucs4): ... here.
23046 * kern/term.c (grub_putcode): Renamed to ...
23047 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
23048 (grub_putchar): Removed.
23049 (grub_xputs_dumb): New function.
23050 (grub_xputs): New variable.
23051 * lib/charset.c: Move from here ...
23052 * normal/charset.c: ... to here.
23053 (grub_ucs4_to_utf8): New function.
23054 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
23055 (join_types): New variable.
23056 (unpack_join): New function.
23057 (bidi_types): New variable.
23058 (unpack_bidi): New function.
23059 (get_bidi_type): Likewise.
23060 (get_join_type): Likewise.
23061 (is_mirrored): Likewise.
23062 (grub_unicode_get_comb_type): Likewise.
23063 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23064 (is_type_after): Likewise.
23065 (grub_unicode_aglomerate_comb): Likewise.
23066 (bidi_line_wrap): Likewise.
23067 (grub_bidi_line_logical_to_visual): Likewise.
23068 (grub_bidi_logical_to_visual): Likewise.
23069 (grub_unicode_mirror_code): Likewise.
23070 (grub_unicode_shape_code): Likewise.
23071 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23072 Don't use grub_putchar.
23073 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23074 (grub_normal_reader_init): Likewise.
23075 (grub_xputs_saved): New variable.
23076 (GRUB_MOD_INIT): Set grub_xputs.
23077 (GRUB_MOD_FINI): Restore grub_xputs.
23078 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23079 (menu_init): Avoid printing gfxmenu error.
23080 (show_menu): Use grub_normal_get_char_counter.
23081 * normal/menu_entry.c (update_screen): Fix out-of-array.
23082 (complete): Avoid NULL dereferencing.
23083 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23084 * normal/menu_text.c (print_spaces): Removed.
23085 (grub_print_ucs4): Likewise.
23086 (grub_print_message_indented): Use grub_print_ucs4.
23087 (print_message): Use grub_putcode.
23088 (print_entry): Hanlde diacritics.
23089 * normal/term.c (term_state): New type.
23090 (grub_more_lines): Removed.
23091 (term_states): New variable.
23092 (grub_normal_line_counter): Renamed to ..
23093 (grub_normal_char_counter): ...this. All users updated.
23094 (grub_normal_get_line_counter): Renamed to ...
23095 (grub_normal_get_char_counter): ... this.
23096 (grub_normal_reset_more): New function.
23097 (process_newline): Removed.
23098 (print_more): New function.
23099 (grub_install_newline_hook): Removed.
23100 (map_code): New function.
23101 (grub_puts_terminal): Use grub_print_ucs4.
23102 (putglyph): New function.
23103 (putcode_real): Likewise.
23104 (grub_putcode): Use putcode_real.
23105 (get_maxwidth): New function.
23106 (get_startwidth): Likewise.
23107 (print_ucs4_terminal): Likewise.
23108 (find_term_state): Likewise.
23109 (put_glyphs_terminal): Likewise.
23110 (print_backlog): Likewise.
23111 (print_ucs4_real): Likewise.
23112 (grub_print_ucs4): Likewise.
23113 (grub_xputs_normal): Likewise.
23114 * term/efi/console.c (grub_console_putchar): Output diacritics.
23115 (grub_console_getcharwidth): Removed.
23116 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23117 * term/gfxterm.c (clear_char): Free chars.
23118 (scroll_up): Avoid leaking memory.
23119 (grub_gfxterm_putchar): Support diacritics.
23120 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23121 * term/i386/pc/console.c (grub_console_term_output): Declare as
23122 GRUB_TERM_CODE_TYPE_VGA.
23123 * term/i386/pc/vga.c (grub_vga_term): Declare as
23124 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23125 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23126 GRUB_TERM_CODE_TYPE_VGA.
23127 * term/i386/vga_common.c (map_char): Removed.
23128 (grub_console_putchar): Likewise.
23129 (grub_console_getcharwidth): Likewise.
23130 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23131 (colors): Reordered to match terminfo.
23132 (grub_ofconsole_normal_color): Removed.
23133 (grub_ofconsole_writeesc): Likewise.
23134 (grub_ofconsole_highlight_color): Likewise.
23135 (grub_ofconsole_getcharwidth): Likewise.
23136 (grub_ofconsole_setcolorstate): Likewise.
23137 (grub_ofconsole_setcolor): Likewise.
23138 (grub_ofconsole_getcolor): Likewise.
23139 (grub_ofconsole_readkey): Renamed to ...
23140 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23141 key.
23142 (grub_ofconsole_checkkey): Removed.
23143 (grub_ofconsole_getkey): Likewise.
23144 (grub_ofconsole_getxy): Likewise.
23145 (grub_ofconsole_gotoxy): Likewise.
23146 (grub_ofconsole_cls): Likewise.
23147 (grub_ofconsole_refresh): Likewise.
23148 (grub_ofconsole_terminfo_input): New struct.
23149 (grub_ofconsole_terminfo_output): Likewise.
23150 (grub_ofconsole_term_input): Use terminfo.
23151 (grub_ofconsole_term_output): Likewise.
23152 (grub_console_init): Split into ...
23153 (grub_console_init_early): ...this and ...
23154 (grub_console_init_lately): ...this. Use terminfo.
23155 (grub_ofconsole_putchar): Renamed to ...
23156 (put): ... this. Remove mapping.
23157 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23158 * term/serial.c: Simplify using terminfo.
23159 (xpos): Removed.
23160 (ypos): Likewise.
23161 (keep_track): Likewise.
23162 (registered): Likewise.
23163 (input_buf): Likewise.
23164 (npending): Likewise.
23165 (serial_translate_key_sequence): Likewise.
23166 (fill_input_buf): Likewise.
23167 (grub_serial_checkkey): Likewise.
23168 (grub_serial_getkey): Likewise.
23169 (grub_serial_getxy): Likewise.
23170 (grub_serial_gotoxy): Likewise.
23171 (grub_serial_putchar): Likewise.
23172 (grub_serial_cls): Likewise.
23173 (grub_serial_setcolorstate): Likewise.
23174 (grub_serial_setcursor): Likewise.
23175 (serial_hw_init): Use serial_hw_fetch.
23176 (grub_serial_terminfo_input): New variable.
23177 (grub_serial_terminfo_output): Likewise.
23178 (grub_serial_term_input): Use terminfo.
23179 (grub_serial_term_output): Likewise.
23180 * term/terminfo.c (putstr): Use put.
23181 (grub_terminfo_all_free): New function
23182 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23183 (grub_terminfo_output_register): New function.
23184 (grub_terminfo_output_unregister): Likewise.
23185 (grub_terminfo_getxy): Likewise.
23186 (grub_terminfo_readkey): Likewise.
23187 (grub_terminfo_checkkey): Likewise.
23188 (grub_terminfo_getkey): Likewise.
23189 (grub_terminfo_input_init): Likewise.
23190 (print_terminfo): Likewise.
23191 (grub_cmd_terminfo): Handle encoding.
23192 (grub_terminfo_gotoxy): Track position.
23193 (grub_terminfo_cls): Likewise.
23194 (grub_terminfo_putchar): Likewise.
23195 (grub_terminfo_setcolorstate): Handle colors
23196 (grub_terminfo_cursor_on): This ...
23197 (grub_terminfo_cursor_off): ... and this merged into ...
23198 (grub_terminfo_setcursor): ... this.
23199 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23200 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23201 * unicode/BidiMirroring.txt: Likewise.
23202 * unicode/UnicodeData.txt: Likewise.
23203 * unicode/COPYING: Likewise.
23204 * util/grub-editenv.c (grub_putchar): Removed.
23205 (grub_xputs_real): New function.
23206 (grub_xputs): New variable.
23207 * util/grub-fstest.c (grub_putchar): Removed.
23208 (grub_xputs_real): New function.
23209 (grub_xputs): New variable.
23210 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23211 (grub_xputs_real): New function.
23212 (grub_xputs): New variable.
23213 * util/grub-probe.c (grub_putchar): Removed.
23214 (grub_xputs_real): New function.
23215 (grub_xputs): New variable.
23216 * util/grub-script-check.c (grub_putchar): Removed.
23217 (grub_xputs_real): New function.
23218 (grub_xputs): New variable.
23219 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23220 (grub_xputs_real): New function.
23221 (grub_xputs): New variable.
23222 * util/import_unicode.py: New file.
23223 * util/grub-mkfont.c (ft_errmsgs): New array.
23224 (grub_glyph_info): Make bitmap a pointer.
23225 (file_formats): New type WIDTH_SPEC.
23226 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23227 (options): Add width-spec.
23228 (help): Likewise.
23229 (add_char): Renamed to ...
23230 (add_glyph): ... this.
23231 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23232 (glyph_replace): New type.
23233 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23234 (add_char): New function.
23235 (add_subst): Likewise.
23236 (process_cursive): Likewise.
23237 (add_font): Handle GSUB.
23238 (write_font_width_spec): New function.
23239 (main): Sort glyphs.
23240 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23241 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23242 * kern/term.c (grub_cls): Moved from here...
23243 * normal/term.c (grub_cls): ... here.
23244
50f0bcda
CW
232452010-07-02 Colin Watson <cjwatson@ubuntu.com>
23246
23247 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23248 suitable for using within the format argument of printf when
23249 converting grub_size_t.
23250 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23251 "x" to convert grub_size_t arguments.
23252
40372103
VS
232532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23256 too long captions.
23257 (list_get_minimal_size): Take selection box into account.
23258
942a10c7
VS
232592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23262 NULL font.
23263
2bdb2892
CW
232642010-07-02 Colin Watson <cjwatson@ubuntu.com>
23265
23266 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23267 devices when iterating over /dev/disk/by-id; they will be handled
23268 later if appropriate, which they aren't always (e.g. LVM).
23269
e03ed6c1
CW
232702010-07-02 Colin Watson <cjwatson@ubuntu.com>
23271
23272 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23273 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23274 fails.
23275 (grub_halt): Likewise.
23276 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23277 reset-all fails.
23278 (grub_halt): Don't return, even if all of shut-down, power-off, and
23279 poweroff fail.
23280
47695765
CW
232812010-07-02 Colin Watson <cjwatson@ubuntu.com>
23282
23283 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23284 arguments, not three.
23285
507736c8
CW
232862010-07-02 Colin Watson <cjwatson@ubuntu.com>
23287
23288 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23289 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23290 LVM-on-RAID is handled correctly.
23291
e3c8cd37
CW
232922010-07-02 Colin Watson <cjwatson@ubuntu.com>
23293
23294 * docs/grub.texi (Changes from GRUB Legacy): New section.
23295 (Future): Fix typo.
23296
8d4a2fec
CW
232972010-07-02 Colin Watson <cjwatson@ubuntu.com>
23298
23299 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23300 grub.d/README accidentally ends up executable for one reason or
23301 another. Ignore it.
23302
1c4827be
VS
233032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23306 (gpt_partition_map_iterate): Support non-512B sectors.
23307
d9a0c941
VS
233082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23311 Tested by: Seth Goldberg.
23312
48f27e87
VS
233132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23314
23315 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23316 Properly align mbi.
23317 Reported by: Seth Goldberg.
23318
b0c4f956
VS
233192010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 * util/grub-mkrescue.in: Avoid module duplication.
23322
105a2e8c
SF
233232010-07-01 Sean Finney <seanius@seanius.net>
23324
23325 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23326
5944958c
SF
233272010-07-01 Sean Finney <seanius@seanius.net>
23328
23329 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23330
233312010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * disk/lvm.c (grub_lvm_checkvalue): New function.
23334 (grub_lvm_check_flag): Likewise.
23335
b79889ba
RM
233362010-07-01 Robert Millan <rmh@gnu.org>
23337
23338 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23339 Support 'p' as partition separator on kernel of FreeBSD (used
23340 with GPT labels).
23341 (grub_util_biosdisk_get_grub_dev): Likewise.
23342
ec1d04f1
VS
233432010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 Yeeloong firmware port.
23346
23347 * boot/mips/yeeloong/fwstart.S: New file.
23348 * bus/cs5536.c (gpiodump): New const.
23349 (set_io_space): New function.
23350 (set_iod): Likewise.
23351 (set_p2d): Likewise.
23352 (grub_cs5536_init_geode): Likewise.
23353 * commands/mips/yeeloong/lsspd.c: New file.
23354 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23355 (serial_mod_SOURCES): New variable.
23356 (serial_mod_CFLAGS): Likewise.
23357 (serial_mod_LDFLAGS): Likewise.
23358 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23359 term/terminfo.c and term/tparm.c.
23360 (pkglib_IMAGES): Add fwstart.img.
23361 (fwstart_img_SOURCES): New variable.
23362 (fwstart_img_CFLAGS): Likewise.
23363 (fwstart_img_ASFLAGS): Likewise.
23364 (fwstart_img_LDFLAGS): Likewise.
23365 (fwstart_img_FORMAT): Likewise.
23366 (pkglib_MODULES): Add lsspd.mod.
23367 (lsspd_mod_SOURCES): New variable.
23368 (lsspd_mod_CFLAGS): Likewise.
23369 (lsspd_mod_LDFLAGS): Likewise.
23370 (pkglib_MODULES): Add halt.mod.
23371 (halt_mod_SOURCES): New variable.
23372 (halt_mod_CFLAGS): Likewise.
23373 (halt_mod_LDFLAGS): Likewise.
23374 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23375 (serial_mod_SOURCES): Removed.
23376 (serial_mod_CFLAGS): Likewise.
23377 (serial_mod_LDFLAGS): Likewise.
23378 * disk/ata.c (check_device): New function.
23379 (grub_ata_device_initialize): Use check_device.
23380 (grub_ata_iterate): Recheck devices.
23381 (grub_ata_open): Likewise.
23382 (grub_atapi_iterate): Likewise.
23383 (grub_atapi_open): Likewise.
23384 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23385 (GRUB_ATA_CH1_PORT1): Likewise.
23386 (GRUB_ATA_CH0_PORT2): Likewise.
23387 (GRUB_ATA_CH1_PORT2): Likewise.
23388 * include/grub/mips/loongson.h: New file.
23389 * include/grub/mips/yeeloong/ec.h: Likewise.
23390 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23391 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23392 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23393 * include/grub/misc.h (grub_halt): Declare as noreturn.
23394 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23395 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23396 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23397 (UART_ENABLE_DTRRTS): Likewise.
23398 (UART_ENABLE_MODEM): Removed.
23399 (UART_ENABLE_OUT2): New const.
23400 * include/grub/term.h (grub_term_register_input_active): New function.
23401 (grub_term_register_output_active): Likewise.
23402 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23403 argument.
23404 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23405 (init_pci): New function.
23406 (grub_machine_init): Execute platform init when firmware. Init serial.
23407 (grub_halt): Implement.
23408 (grub_exit): Likewise.
23409 (grub_reboot): Likewise.
23410 * term/serial.c (serial_hw_init): Update macros.
23411 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23412 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23413 (image_targets): New target mipsel-yeeloong-flash.
23414 (generate_image): Support IMAGE_YEELOONG_FLASH.
23415 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23416 (grub_video_sm712_setup): Init card.
23417 (grub_video_sm712_set_palette): Removed.
23418 * video/sm712_init.c: New file.
23419
ff4a70d2
CW
234202010-06-30 Colin Watson <cjwatson@ubuntu.com>
23421
23422 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23423 PATH when running help2man and then run it on the unadorned
23424 executable names, rather than passing $(builddir)/* paths to
23425 help2man. This avoids the build directory ending up in generated
23426 manual pages.
23427
1246efeb
CW
234282010-06-29 Colin Watson <cjwatson@ubuntu.com>
23429
23430 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23431 to avoid accidents when debugging with 'sh -x'.
23432 * util/grub-mkrescue.in: Likewise.
23433 * util/grub.d/00_header.in: Likewise.
23434 * util/grub.d/10_hurd.in: Likewise.
23435 * util/grub.d/10_kfreebsd.in: Likewise.
23436 * util/grub.d/10_linux.in: Likewise.
23437 * util/grub.d/10_netbsd.in: Likewise.
23438 * util/grub.d/10_windows.in: Likewise.
23439 * util/grub.d/20_linux_xen.in: Likewise.
23440 * util/grub.d/30_os-prober.in: Likewise.
23441 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23442
1ba9b889
CW
234432010-06-29 Colin Watson <cjwatson@ubuntu.com>
23444
23445 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23446 last character in the buffer.
23447 Reported by: Vladimir Serbinenko.
23448
dccaf99d
RM
234492010-06-29 Robert Millan <rmh@gnu.org>
23450
23451 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23452 (Command-line and menu entry commands): Document `badram' command.
23453
d500ed12
RM
234542010-06-28 Robert Millan <rmh@gnu.org>
23455
23456 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23457 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23458 command using ${GRUB_BADRAM} as parameter.
23459
20bc84a6
CW
234602010-06-28 Colin Watson <cjwatson@ubuntu.com>
23461
23462 * docs/grub.texi (Device map): New section.
23463 (Themes): New section (stub).
23464 * Makefile.in (docs/grub.info): The info documentation now builds
23465 without errors. Make sure it stays that way.
23466
4045dee1
VS
234672010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 Use normal parser for menu entries.
23470 Reported by: Thomas Frauendorfer
23471
23472 * include/grub/parser.h (grub_parser_execute): Don't export.
23473 * normal/menu.c (grub_menu_execute_entry_real): New function.
23474 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23475
bca58c7b
CW
234762010-06-28 Colin Watson <cjwatson@ubuntu.com>
23477
23478 * docs/grub.texi (Embedded configuration): New section (replacing
23479 old "Preset Menu" stub).
23480 (Images): New section.
23481 (configfile): Note that any menu entries defined in `file' are shown
23482 immediately.
23483
dec53e63
JT
234842010-06-28 Josh Triplett <josh@joshtriplett.org>
23485
23486 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23487
c06e40f7
CW
234882010-06-28 Colin Watson <cjwatson@ubuntu.com>
23489
23490 * util/grub-install.in: Add --debug-image= option.
23491
cb88052b
CW
234922010-06-28 Colin Watson <cjwatson@ubuntu.com>
23493
23494 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23495 possible on Linux.
23496
23497 * util/deviceiter.c (check_device): Rename to ...
23498 (check_device_readable_unique): ... this. Update all callers.
23499 Maintain and check a list of which devices (by canonicalized name)
23500 have already been seen.
23501 (clear_seen_devices): New function.
23502 (compare_file_names) [__linux__]: New function.
23503 (grub_util_iterate_devices): Clear the list of seen devices on exit
23504 and (just in case) on entry.
23505 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23506 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23507 seen-devices list, superseded by general code in check_device.
23508
bbe34652
CW
235092010-06-28 Colin Watson <cjwatson@ubuntu.com>
23510
23511 * commands/cat.c (options): New variable.
23512 (grub_cmd_cat): Parse options. If the --dos option is given, print
23513 DOS-style "\r\n" line endings as simple newlines (Debian bug
23514 #586358).
23515 (GRUB_MOD_INIT): Use extcmd.
23516 (GRUB_MOD_FINI): Likewise.
23517 * docs/grub.texi (cat): Document --dos.
23518
412e09f3
VS
235192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 XEN with Linux grub-mkconfig support.
23522
23523 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23524 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23525 GRUB_CMDLINE_XEN_DEFAULT.
23526 * util/grub.d/20_linux_xen.in: New file.
23527
53f3ef38 235282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23529
23530 Initialise VGA video on qemu ourselves.
23531
23532 * boot/i386/qemu/boot.S: Don't call 0xc000.
23533 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23534 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23535 (kernel_img_HEADERS): Add pci.h.
23536 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23537 * configure.ac: Force unifont on qemu and yeeloong.
23538 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23539 (grub_vga_palette_write): Use correct register.
23540 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23541 Call grub_qemu_init_cirrus.
23542 * kern/i386/qemu/init.c: New file.
23543 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23544
23545 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23546
c75be4fb
PR
235472010-06-26 Pavel Roskin <proski@gnu.org>
23548
23549 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23550 13.
23551
d8034603
CW
235522010-06-26 Colin Watson <cjwatson@ubuntu.com>
23553
23554 * docs/grub.texi (Simple configuration): Explain that
23555 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23556 set to `true' to disable their respective recovery entries, not
23557 merely set.
23558
3fa06487
CW
235592010-06-26 Colin Watson <cjwatson@ubuntu.com>
23560
23561 Make the `source' command slightly faster.
23562
23563 * normal/main.c (grub_normal_execute): Don't re-read list files when
23564 nested.
23565
e9b29642
CW
235662010-06-23 Colin Watson <cjwatson@ubuntu.com>
23567
23568 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23569 field position and mask size to red fields from mode_info, not
23570 green.
23571 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23572 Remove redundant tag->common.framebuffer_type assignment.
23573 Reported by: Seth Goldberg.
23574
e726542f
CW
235752010-06-23 Colin Watson <cjwatson@ubuntu.com>
23576
23577 Sync up other versions of the Linux loader with Robert Millan's
23578 change of 2010-01-09, "Make loader output a bit more user-friendly".
23579
23580 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23581 grub_dprintf().
23582 (grub_cmd_linux): Likewise.
23583 (grub_cmd_initrd): Likewise.
23584 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23585 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23586
d6e98a17
CW
235872010-06-21 Colin Watson <cjwatson@ubuntu.com>
23588
23589 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23590 larger than MEMORY_MAP_SIZE.
23591
14d3f08e
BC
235922010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23593
23594 Fix parallel build.
23595
23596 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23597 dependency.
23598 * script/parser.y: #include grub_script.tab.h header.
23599
4f9613a3
VS
236002010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 Support >3GiB and <16MiB RAM in i386-qemu.
23603
23604 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23605 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23606 (grub_lower_mem): Removed.
23607 (grub_upper_mem): Likewise.
23608 (mem_size): Made static.
23609 (above_4g): New variable.
23610 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23611 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23612 support.
23613
05e51879
VS
236142010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23615
23616 Cirrus 5446 and Bochs video cards support.
23617
23618 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23619 video_bochs.mod
23620 (video_cirrus_mod_SOURCES): New variable.
23621 (video_cirrus_mod_CFLAGS): Likewise.
23622 (video_cirrus_mod_LDFLAGS): Likewise.
23623 (video_bochs_mod_SOURCES): Likewise.
23624 (video_bochs_mod_CFLAGS): Likewise.
23625 (video_bochs_mod_LDFLAGS): Likewise.
23626 * include/grub/vga.h: New file.
23627 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23628 (grub_video_fb_set_page_t): New type.
23629 (grub_video_fb_setup): New prototype.
23630 (grub_video_fb_swap_buffers): Likewise.
23631 (grub_video_fb_get_info_and_fini): Likewise.
23632 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23633 (CRTC_DATA_PORT): Likewise.
23634 (CRTC_CURSOR): Likewise.
23635 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23636 (CRTC_CURSOR_ADDR_LOW): Likewise.
23637 (CRTC_CURSOR_DISABLE): Likewise.
23638 (update_cursor): Use grub_vga_cr_write.
23639 (grub_vga_text_setcursor): Likewise.
23640 * video/bochs.c: New file.
23641 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23642 (palette): Likewise.
23643 (palette_size): Likewise.
23644 (framebuffer): New variable.
23645 (grub_video_fb_init): Use 'framebuffer'.
23646 (grub_video_fb_fini): Likewise.
23647 (grub_video_fb_get_info): Likewise.
23648 (grub_video_fb_get_palette): Likewise.
23649 (grub_video_fb_set_palette): Likewise.
23650 (grub_video_fb_set_viewport): Likewise.
23651 (grub_video_fb_get_viewport): Likewise.
23652 (grub_video_fb_map_color): Likewise.
23653 (grub_video_fb_map_rgb): Likewise.
23654 (grub_video_fb_map_rgba): Likewise.
23655 (grub_video_fb_unmap_color): Likewise.
23656 (grub_video_fb_unmap_color_int): Likewise.
23657 (grub_video_fb_fill_rect): Likewise.
23658 (grub_video_fb_blit_bitmap): Likewise.
23659 (grub_video_fb_blit_render_target): Likewise.
23660 (grub_video_fb_scroll): Likewise.
23661 (grub_video_fb_create_render_target): Likewise.
23662 (grub_video_fb_doublebuf_blit_init): Likewise.
23663 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23664 (doublebuf_pageflipping_update_screen): New function.
23665 (doublebuf_pageflipping_init): Likewise.
23666 (grub_video_fb_setup): Likewise.
23667 (grub_video_fb_swap_buffers): Likewise.
23668 (grub_video_fb_get_info_and_fini): Likewise.
23669 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23670 All users updated.
23671 (doublebuf_pageflipping_commit): Restructured into ...
23672 (doublebuf_pageflipping_set_page): ... this.
23673 (doublebuf_pageflipping_update_screen): Removed.
23674 (doublebuf_pageflipping_init): Likewise.
23675 (double_buffering_init): Likewise.
23676 (grub_video_vbe_setup): Use grub_video_fb_setup.
23677 (grub_video_vbe_swap_buffers): Removed.
23678 (grub_video_vbe_set_active_render_target): Likewise.
23679 (grub_video_vbe_get_active_render_target): Likewise.
23680 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23681 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23682 grub_video_fb_set_active_render_target and
23683 grub_video_fb_get_active_render_target.
23684 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23685 (SEQUENCER_DATA_PORT): Likewise.
23686 (MAP_MASK_REGISTER): Likewise.
23687 (CRTC_ADDR_PORT): Likewise.
23688 (CRTC_DATA_PORT): Likewise.
23689 (START_ADDR_HIGH_REGISTER): Likewise.
23690 (START_ADDR_LOW_REGISTER): Likewise.
23691 (GRAPHICS_ADDR_PORT): Likewise.
23692 (GRAPHICS_DATA_PORT): Likewise.
23693 (READ_MAP_REGISTER): Likewise.
23694 (INPUT_STATUS1_REGISTER): Likewise.
23695 (INPUT_STATUS1_VERTR_BIT): Likewise.
23696 (get_map_mask): Use grub_vga_sr_read.
23697 (set_map_mask): Use grub_vga_sr_write.
23698 (set_read_map): Use grub_vga_gr_write.
23699 (set_start_address): Use grub_vga_cr_write.
23700 * video/sm712.c (framebuffer): Remove leftover fields.
23701
4321c64a
CW
237022010-06-20 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23705 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23706 instead. Replace the gfxterm backend check with a check that
23707 ${GRUB_PREFIX}/video.lst is non-empty.
23708 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23709 again.
23710 (load_video): New generated function. Call it before loading
23711 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23712 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23713 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23714 * docs/grub.texi (Simple configuration): Document
23715 GRUB_VIDEO_BACKEND.
23716
237172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 Use video functions in linux and xnu loaders.
23720
23721 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23722 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23723 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23724 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23725 loader/i386/pc/linux.c.
23726 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23727 (find_line_len): Removed.
23728 (find_framebuf): Likewise.
23729 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23730 * loader/i386/efi/xnu.c: Removed.
23731 * loader/i386/pc/xnu.c: Moved from here...
23732 * loader/i386/xnu.c: ...here.
23733
23734 Enable priorities in video drivers.
23735
23736 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23737 (grub_video_adapter): New field prio.
23738 (grub_video_register): Respect prio when inserting.
23739 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23740 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23741 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23742 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23743 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23744 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23745 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23746
23747 Fix SDL driver ID.
23748
23749 * include/grub/video.h (grub_video_driver_id_t): New value
23750 GRUB_VIDEO_DRIVER_SDL.
23751 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23752
7d24e434
CW
237532010-06-17 Colin Watson <cjwatson@ubuntu.com>
23754
23755 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23756 argument to printf.
23757 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23758
c88a83f6
CW
237592010-06-17 Colin Watson <cjwatson@ubuntu.com>
23760
23761 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23762 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23763
094dfb69
CW
237642010-06-17 Colin Watson <cjwatson@ubuntu.com>
23765
23766 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23767 directly, and recommend grub-install instead.
23768 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23769
2164da6b
CW
237702010-06-17 Colin Watson <cjwatson@ubuntu.com>
23771
23772 Fix i386-pc prefix handling with nested partitions (Debian bug
23773 #585068). Note that the case where the core image is booted using
23774 multiboot and relocated from its original location still requires
23775 more work.
23776
23777 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23778 with "(,", fill the boot drive in between those two characters, but
23779 expect that a full partition specification including partition map
23780 names will follow.
23781 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23782 specified, write a prefix without the drive name but including a
23783 full partition specification.
23784
044e2e60
CW
237852010-06-16 Colin Watson <cjwatson@ubuntu.com>
23786
23787 * util/grub-mkconfig.in: Ignore non-option arguments, for
23788 compatibility with older versions (before 2010-06-12) which did the
23789 same. In particular, this makes it easier to ship an update-grub
23790 wrapper which is compatible with that used with GRUB Legacy (Debian
23791 bug #586056).
23792
5591324f
GS
237932010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23794
23795 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23796 for manual page generation.
23797
662e24d5
GS
237982010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23799
23800 * po/POTFILES: Remove leftover commands/handler.c.
23801
8d70754e
CW
238022010-06-14 Colin Watson <cjwatson@ubuntu.com>
23803
23804 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23805 left this script non-functional.
23806
41160e2e
CW
238072010-06-14 Colin Watson <cjwatson@ubuntu.com>
23808
23809 * docs/man/grub-emu.h2m: New file.
23810
b5309cc1
CW
238112010-06-13 Colin Watson <cjwatson@ubuntu.com>
23812
23813 * docs/grub.texi (Commands): Document reduced command set in rescue
23814 mode.
23815 (cpuid): New section.
23816
fcb2d090
GS
238172010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23818
23819 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23820 new partition naming style.
23821 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23822
96e5c556
BC
238232010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23824
23825 Add "-o grub.iso" like cmdline options support.
23826
23827 * util/grub-install.in: Improve cmdline option parsing.
23828 * util/grub-mkconfig.in: Likewise.
23829 * util/grub-mkrescue.in: Likewise.
23830 * util/grub-reboot.in: Likewise.
23831 * util/grub-set-default.in: Likewise.
23832 * util/i386/efi/grub-install.in: Likewise.
23833 * util/ieee1275/grub-install.in: Likewise.
23834 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23835
c16be99b
CW
238362010-06-12 Colin Watson <cjwatson@ubuntu.com>
23837
23838 * .bzrignore: Ignore 41_custom.
23839
ce08a9fb
TS
238402010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23841
23842 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23843
7beac90c
CW
238442010-06-12 Colin Watson <cjwatson@ubuntu.com>
23845
23846 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23847 prototype declarations.
23848
23849 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23850 generating fs, partmap, and video lists.
23851 * include/grub/fs.h (grub_fs_register): Omit prototype if
23852 GRUB_LST_GENERATOR is defined.
23853 * include/grub/partition.h (grub_partition_map_register): Likewise.
23854 * include/grub/video.h (grub_video_register): Likewise.
23855
1c8f0f8d
JM
238562010-06-12 Javier Martín <lordhabbit@gmail.com>
23857
23858 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23859
a6085973
TS
238602010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23861
23862 * util/grub-mkrescue.in: Support --xorriso argument.
23863
25c56d29
VS
238642010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23865
23866 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23867 Suggested by: Thomas Schmitt.
23868
e03e4b24
VS
238692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23870
23871 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23872 Suggested by: Thomas Schmitt.
23873
57711df6
VS
238742010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 custom.cfg support.
23877
23878 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23879 * util/grub.d/41_custom.in: New file.
23880
ee62c427
CW
238812010-06-12 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23884 been merged back into normal.
23885
283af07a
CW
238862010-06-11 Colin Watson <cjwatson@ubuntu.com>
23887
23888 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23889 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23890
56a0d956
CW
238912010-06-11 Colin Watson <cjwatson@ubuntu.com>
23892
23893 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23894 when generating manual pages.
23895 * docs/man/grub-bin2h.h2m: New file.
23896 * docs/man/grub-editenv.h2m: New file.
23897 * docs/man/grub-fstest.h2m: New file.
23898 * docs/man/grub-install.h2m: New file.
23899 * docs/man/grub-macho2img.h2m: New file.
23900 * docs/man/grub-mkconfig.h2m: New file.
23901 * docs/man/grub-mkdevicemap.h2m: New file.
23902 * docs/man/grub-mkfont.h2m: New file.
23903 * docs/man/grub-mkimage.h2m: New file.
23904 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23905 * docs/man/grub-mkrelpath.h2m: New file.
23906 * docs/man/grub-mkrescue.h2m: New file.
23907 * docs/man/grub-ofpathname.h2m: New file.
23908 * docs/man/grub-pe2elf.h2m: New file.
23909 * docs/man/grub-probe.h2m: New file.
23910 * docs/man/grub-reboot.h2m: New file.
23911 * docs/man/grub-script-check.h2m: New file.
23912 * docs/man/grub-set-default.h2m: New file.
23913 * docs/man/grub-setup.h2m: New file.
23914
3a37e322
VS
239152010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 Use FOR_* macros instead of *_iterate whenever possible.
23918
23919 * commands/handler.c: Removed.
23920 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23921 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23922 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23923 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23924 (grub_probe_SOURCES): Remove kern/parser.c.
23925 (util/grub-script-check.c_DEPENDENCIES): Removed.
23926 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23927 and grub_script_check_init.c.
23928 (grub_script_check_init.lst): Removed.
23929 (grub_script_check_init.h): Likewise.
23930 (grub_script_check_init.c): Likewise.
23931 (pkglib_MODULES): Remove handler.mod and sh.mod.
23932 (handler_mod_SOURCES): Removed.
23933 (handler_mod_CFLAGS): Likewise.
23934 (handler_mod_LDFLAGS): Likewise.
23935 (normal_mod_SOURCES): Remove normal/handler.c.
23936 Add script/main.c, script/script.c, script/execute.c,
23937 script/function.c, script/lexer.c, grub_script.tab.c
23938 and grub_script.yy.c.
23939 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23940 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23941 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23942 (grub_setup_SOURCES): Remove kern/parser.c.
23943 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23944 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23945 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23946 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23947 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23948 (grub_setup_SOURCES): Remove kern/parser.c.
23949 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23950 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23951 * include/grub/command.h (grub_command_iterate): Removed.
23952 (FOR_COMMANDS): New macro.
23953 * include/grub/dl.h (grub_dl): New member next.
23954 (grub_dl_iterate): Removed.
23955 (grub_dl_head): New variable declaration.
23956 (FOR_DL_MODULES): New macro.
23957 * include/grub/fs.h: Include list.h.
23958 (grub_fs): Make next first element.
23959 (grub_fs_list): New variable declaration.
23960 (grub_fs_register): Make inline.
23961 (grub_fs_unregister): Likewise.
23962 (grub_fs_iterate): Removed.
23963 (FOR_FILESYSTEMS): New macro.
23964 * include/grub/handler.h: Removed.
23965 * include/grub/list.h (grub_list_hook_t): Removed.
23966 (grub_list_test_t): Likewise.
23967 (grub_list_pop): Likewise.
23968 (grub_list_iterate): Likewise.
23969 (grub_list_insert): Likewise.
23970 (FOR_LIST_ELEMENTS): New macro.
23971 * include/grub/parser.h (grub_parser_class): Removed.
23972 (grub_parser_register): Likewise.
23973 (grub_parser_unregister): Likewise.
23974 (grub_parser_get_current): Likewise.
23975 (grub_parser_set_current): Likewise.
23976 (grub_register_rescue_parser): Likewise.
23977 (grub_rescue_parse_line): New function.
23978 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23979 * include/grub/script_sh.h (grub_script_function_list): New variable
23980 declaration.
23981 (FOR_SCRIPT_FUNCTIONS): New macro.
23982 (grub_script_function_iterate): Removed.
23983 (grub_normal_parse_line): New prototype.
23984 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23985 (FOR_DISABLED_TERM_INPUTS): Likewise.
23986 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23987 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23988 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23989 element.
23990 (grub_video_register): Inline.
23991 (grub_video_unregister): Likewise.
23992 (grub_video_adapter_list): New variable declaration.
23993 (grub_video_iterate): Removed.
23994 (FOR_VIDEO_ADAPTERS): New macro.
23995 * kern/dl.c (grub_dl_list): Removed. All users updated.
23996 (grub_dl_iterate): Removed.
23997 * kern/fs.c (grub_fs_list): Make global.
23998 (grub_fs_register): Removed.
23999 (grub_fs_unregister): Likewise.
24000 (grub_fs_iterate): Likewise.
24001 * kern/handler.c: Removed.
24002 * kern/list.c (grub_list_pop): Removed.
24003 (grub_list_iterate): Likewise.
24004 (grub_list_insert): Likewise.
24005 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
24006 (grub_prio_list_insert): Don't use grub_list_insert.
24007 * kern/main.c (grub_register_rescue_parser): Don't call
24008 grub_register_rescue_parser.
24009 * kern/parser.c (grub_parser_class): Removed.
24010 (grub_parser_execute): Use grub_rescue_parse_line.
24011 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
24012 (grub_rescue_parser): Removed.
24013 (grub_register_rescue_parser): Likewise.
24014 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
24015 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
24016 (grub_auth_check_authentication): Likewise.
24017 * normal/completion.c (iterate_command): Removed.
24018 (grub_normal_do_completion): Use FOR_COMMANDS.
24019 * normal/handler.c: Removed.
24020 * normal/main.c (read_config_file): Remove parser changing.
24021 (grub_normal_execute): Don't call read_handler_list.
24022 (grub_normal_read_line_real): Statically allocate prompt.
24023 (grub_cmdline_run): Use grub_normal_parse_line.
24024 (GRUB_MOD_FINI): Don't call free_handler_list.
24025 * normal/menu_entry.c (run): Likewise.
24026 * script/function.c (grub_script_function_list): Make global.
24027 (grub_script_function_iterate): Removed.
24028 * script/main.c (grub_normal_parse_line): Make global.
24029 (grub_sh_parser): Removed.
24030 (GRUB_MOD_INIT): Likewise.
24031 (GRUB_MOD_FINI): Likewise.
24032 * tests/lib/functional_test.c (grub_functional_test): Use
24033 FOR_LIST_ELEMENTS.
24034 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
24035 (grub_test_run): Use FOR_LIST_ELEMENTS.
24036 * tests/lib/unit_test.c (main): Likewise.
24037 * util/deviceiter.c (grub_util_iterate_devices): Don't use
24038 grub_list_pop.
24039 * util/grub-fstest.c (grub_term_input_class): Removed.
24040 (grub_term_output_class): Likewise.
24041 * util/grub-probe.c: Likewise.
24042 * util/i386/pc/grub-setup.c: Likewise.
24043 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24044 * util/grub-script-check.c (main): Don't call grub_init_all and
24045 grub_fini_all.
24046 * video/video.c (grub_video_adapter_list): Make global.
24047 (grub_video_register): Removed.
24048 (grub_video_unregister): Likewise.
24049 (grub_video_iterate): Likewise.
24050
6289c3a7
VS
240512010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
24052
24053 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
24054 reported by Henrique Ferreiro.
24055
91460247
RM
240562010-06-09 Robert Millan <rmh@gnu.org>
24057
24058 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
24059 ones, when both are available.
24060
0ea7c4f9
GS
240612010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24062
24063 Make --version uniform and avoid hard-coded program name.
24064
24065 * util/grub-mkimage.c (main): Use `program_name' instead of
24066 hard-coded string.
24067 * util/i386/pc/grub-setup.c (main): Likewise.
24068 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24069 * util/grub-install.in: Save the basename of $0 in $self, and use the
24070 latter in informational messages. Use the same format for --version
24071 as the binary programs.
24072 * util/grub-mkconfig.in: Likewise.
24073 * util/grub-mkrescue.in: Likewise.
24074 * util/grub-reboot.in: Likewise.
24075 * util/grub-set-default.in: Likewise.
24076 * util/i386/efi/grub-install.in: Likewise.
24077 * util/ieee1275/grub-install.in: Likewise.
24078 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24079
e8a6f3b6
GS
240802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24081
24082 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24083 embedding area. Use <= instead of == when checking for non-emptiness.
24084
f4d095d7
GS
240852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24086
24087 * configure.ac: Add `.' to the directories searched for unifont.
24088
50e532ca
CW
240892010-06-08 Colin Watson <cjwatson@ubuntu.com>
24090
24091 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24092 grub_script.yy.h.
24093
d39f3dec
CW
240942010-06-08 Colin Watson <cjwatson@ubuntu.com>
24095
24096 * docs/grub.texi (History): Expand to cover GRUB 2.
24097 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24098 commands, not `terminal'.
24099 (serial): Likewise.
24100 (terminal_input): New section.
24101 (terminal_output): New section.
24102 (uppermem): New section (stub).
24103 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24104
6ef0ddb4
CW
241052010-06-08 Colin Watson <cjwatson@ubuntu.com>
24106
24107 * docs/grub.texi (Security): Menu entries are unrestricted by
24108 default, not restricted to superusers as I had previously thought.
24109 Reword to account for this.
24110
e0f4c438
CW
241112010-06-07 Colin Watson <cjwatson@ubuntu.com>
24112
24113 * kern/emu/misc.c (device_mapper_null_log): New function.
24114 (grub_device_mapper_supported): New function.
24115 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24116 prototype.
24117 * kern/emu/hostdisk.c (find_partition_start): Check whether
24118 device-mapper is supported before trying to use it.
24119 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24120
da908200
CW
241212010-06-07 Colin Watson <cjwatson@ubuntu.com>
24122
24123 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24124 (File name syntax): Likewise.
24125 (help): --all is no longer supported in GRUB 2. Be more precise
24126 about pattern matching.
24127
fb55c3ac
CW
241282010-06-07 Colin Watson <cjwatson@ubuntu.com>
24129
24130 * normal/completion.c (grub_normal_do_completion): When completing
24131 arguments to "set" and the current word contains an equals sign,
24132 skip to after the equals sign before starting completion.
24133
258c2573
CW
241342010-06-07 Colin Watson <cjwatson@ubuntu.com>
24135
24136 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24137
ee75515e
CW
241382010-06-07 Colin Watson <cjwatson@ubuntu.com>
24139
24140 * docs/grub.texi (Network): New section.
24141 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24142 `(nd)' as in GRUB Legacy.
24143 (pxe_unload): New section.
24144
a6a700aa
CW
241452010-06-07 Colin Watson <cjwatson@ubuntu.com>
24146
24147 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24148 in the rescue shell, so recommend using `set' instead. Thanks,
24149 Jordan Uggla.
24150
4003dd38
CW
241512010-06-07 Colin Watson <cjwatson@ubuntu.com>
24152
24153 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24154 (password): New section.
24155 (password_pbkdf2): New section.
24156 (search): New section.
24157 (Security): New section.
24158 (Troubleshooting): New section, currently very incomplete.
24159 (Invoking grub-mkpasswd-pbkdf2): New section.
24160 (Internals): New section, currently very incomplete.
24161
e1cbcc40
CW
241622010-06-07 Colin Watson <cjwatson@ubuntu.com>
24163
24164 * util/grub.d/00_header.in: Add some more quoting (of
24165 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24166 work again.
24167 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24168
db8fa1ad
CW
241692010-06-07 Colin Watson <cjwatson@ubuntu.com>
24170
24171 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24172 to `count', fixing variable shadowing that broke the -c option.
24173
241742010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
24175
24176 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24177 in case they contain spaces.
24178
f28a9212
CW
241792010-06-04 Colin Watson <cjwatson@ubuntu.com>
24180
24181 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24182 "part_" to partmap module names, in line with grub-install.
24183 Reported by: Jindřich Makovička (Debian bug #584426).
24184
9cdfe32f
CW
241852010-06-04 Colin Watson <cjwatson@ubuntu.com>
24186
24187 * util/grub-mkimage.c: Make target-related error messages slightly
24188 more helpful; -O talks about "format". Explicitly point to the use
24189 of -O if no target is specified.
24190 Reported by: Didier Raboud (Debian bug #584415).
24191
795b593a
CW
241922010-06-03 Colin Watson <cjwatson@ubuntu.com>
24193
24194 * INSTALL: Document several build requirements for optional features
24195 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24196
9d9b5833
GS
241972010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24198
24199 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24200 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24201 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24202
0819fec8
CW
242032010-06-02 Colin Watson <cjwatson@ubuntu.com>
24204
24205 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24206 Thanks to Jordan Uggla for spotting this.
24207
49396b4f
VS
242082010-06-02 Aleš Nesrsta <starous@volny.cz>
24209
24210 Finally make USB usable.
24211
24212 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24213 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24214 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24215 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24216 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24217 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24218 (GRUB_OHCI_FSMPS): Likewise.
24219 (GRUB_OHCI_PERIODIC_START): Likewise.
24220 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24221 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24222 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24223 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24224 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24225 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24226 (grub_ohci_transaction): Likewise.
24227 (grub_ohci_transfer): Improve condition detection algorithms.
24228 Handle toggle property. Program the transactions correctly.
24229 Improve error handling. Various important fixups.
24230 (grub_ohci_portstatus): Put register writes in right order.
24231 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24232 (grub_uhci_transfer): Don't show "failed" message on success.
24233 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24234 array.
24235 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24236 determine its size.
24237 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24238 before initialization is completed. Use IN direction for empty
24239 transfers. Use last_trans and compute toggle.
24240 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24241 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24242 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24243 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24244 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24245 (grub_usb_device): Increase toggle to 256.
24246 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24247 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24248 GRUB_USBMS_SUBCLASS_SFF8070.
24249 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24250 (grub_scsi_inquiry): New member page and alloc_length.
24251 (grub_scsi_request_sense): New structure.
24252 (grub_scsi_request_sense_data): Likewise.
24253 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24254 control.
24255 * disk/scsi.c (grub_scsi_request_sense): New function.
24256 (grub_scsi_test_unit_ready): Likewise.
24257 (grub_scsi_inquiry): Fill new fields.
24258 (grub_scsi_read_capacity): Likewise.
24259 (grub_scsi_read10): Add request sense at the end.
24260 (grub_scsi_read12): Likewise.
24261 (grub_scsi_write10): Likewise.
24262 (grub_scsi_write12): Likewise.
24263 (grub_scsi_open): Add Test Unit Ready.
24264 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24265 Support additional subclasses. Con't clear halt yet. Activate the
24266 proper config. Calculate LUNs correctly.
24267 (grub_usbms_transfer): Various important fixups.
24268
242692010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24270
24271 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24272 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24273 (grub_ohci_fini_hw): New function.
24274 (grub_ohci_restore_hw): Likewise.
24275 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24276 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24277 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24278
242792010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24280
24281 Dedicated DMA allocations.
24282
24283 * bus/pci.c (grub_memalign_dma32): New function
24284 (grub_dma_free): Likewise.
24285 (grub_dma_get_virt): Likewise.
24286 (grub_dma_get_phys): Likewise.
24287 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24288 (grub_ohci_pci_iter): Use dma32_alloc.
24289 (grub_ohci_transfer): Likewise.
24290 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24291 (grub_usb_bulk_readwrite): Likewise.
24292 * include/grub/pci.h: Add declarations.
24293
242942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24295
24296 CS5536 support.
24297
24298 * bus/cs5536.c: New file.
24299 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24300 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24301 (cs5536_mod_SOURCES): New variable.
24302 (cs5536_mod_CFLAGS): Likewise.
24303 (cs5536_mod_LDFLAGS): Likewise.
24304 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24305 machine/pci.h.
24306 (kernel_img_SOURCES): Add bus/cs5536.c.
24307 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24308 usb_keyboard.mod.
24309 (usb_mod_SOURCES): New variable.
24310 (usb_mod_CFLAGS): New variable.
24311 (usb_mod_LDFLAGS): New variable.
24312 (usbtest_mod_SOURCES): New variable.
24313 (usbtest_mod_CFLAGS): New variable.
24314 (usbtest_mod_LDFLAGS): New variable.
24315 (ohci_mod_SOURCES): New variable.
24316 (ohci_mod_CFLAGS): New variable.
24317 (ohci_mod_LDFLAGS): New variable.
24318 (usbms_mod_SOURCES): New variable.
24319 (usbms_mod_CFLAGS): New variable.
24320 (usbms_mod_LDFLAGS): New variable.
24321 (usb_keyboard_mod_SOURCES): New variable.
24322 (usb_keyboard_mod_CFLAGS): New variable.
24323 (usb_keyboard_mod_LDFLAGS): New variable.
24324 * include/grub/smbus.h: New file.
24325 * include/grub/cs5536.h: New file.
24326
0b35b2a9
CW
243272010-06-02 Colin Watson <cjwatson@ubuntu.com>
24328
24329 * util/grub.d/00_header.in: Add safety check to make sure that
24330 ${locale_dir} exists before trying to probe it.
24331
ca0afd5b
CW
243322010-06-02 Colin Watson <cjwatson@ubuntu.com>
24333
24334 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24335 per the GNU Coding Standards; this is now too obscure to be worth
24336 documenting.
24337 (QNX): Likewise.
24338 (chainloader): Remove cross-reference to `SCO UnixWare'.
24339
1c41aa78
CW
243402010-06-02 Colin Watson <cjwatson@ubuntu.com>
24341
24342 * docs/grub.texi (Chain-loading): New section.
24343 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24344 adjusted for GRUB 2.
24345 (SCO UnixWare): Likewise.
24346 (QNX): Likewise.
24347 (chainloader): Add reference to `Block list syntax'.
24348 (drivemap): New section.
24349 (parttool): New section.
24350
bb8ea0f5
CW
243512010-06-02 Colin Watson <cjwatson@ubuntu.com>
24352
24353 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24354 the grub shell'.
24355 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24356 (Installing GRUB using grub-install): Remove reference to the grub
24357 shell; mention `grub-mkimage' and `grub-setup' instead.
24358 (Invoking grub-install): Likewise.
24359 (Interface): Add reference to `Menu entry editor'.
24360 (serial): Remove `--device' option.
24361
288dd6ed
CW
243622010-06-02 Colin Watson <cjwatson@ubuntu.com>
24363
24364 * docs/grub.texi (Configuration): New section, documenting
24365 configuration file generation using grub-mkconfig. I've left a slot
24366 for documenting the full shell scripting format but have not yet
24367 started on writing that up.
24368 (Invoking grub-mkconfig): New section.
24369
34c9f0e9
CW
243702010-06-02 Colin Watson <cjwatson@ubuntu.com>
24371
24372 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24373 (GNU GRUB manual): Likewise.
24374 (General commands): Update description of `terminfo' for GRUB 2.
24375
9121567e
CW
243762010-06-02 Colin Watson <cjwatson@ubuntu.com>
24377
24378 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24379 (GRUB_MOD_INIT): Fix capitalisation.
24380 * docs/grub.texi (Command-line and menu entry commands): Document
24381 gettext and gptsync commands.
24382
ab631611
CW
243832010-06-02 Colin Watson <cjwatson@ubuntu.com>
24384
24385 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24386 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24387
bde4a9ac
CW
243882010-06-01 Colin Watson <cjwatson@ubuntu.com>
24389
24390 Add btrfs probing support, currently only in the single-device case.
24391
24392 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24393 function.
24394 (grub_guess_root_device): Call find_root_device_from_mountinfo
24395 before looking in /dev.
24396
b1d17e10
VS
243972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24398
24399 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24400 GRUB_DISK_SIZE_UNKNOWN.
24401 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24402
dfbfe004
JS
244032010-05-31 Jiro SEKIBA <jir@unicus.jp>
24404
24405 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24406 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24407 corrupted or not synced properly.
24408
c2ffc8e9
VS
244092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24412 Reported by: Seth Goldberg.
24413
56293166
VS
244142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24415
24416 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24417 addition of dest.
24418 Reported by: Seth Goldberg.
24419
7620e7de
VS
244202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24421
24422 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24423 Reported by: Seth Goldberg.
24424
c837af3f
VS
244252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24428 64-bit address as signed on MIPS.
24429
c7c75cf4
CW
244302010-05-28 Colin Watson <cjwatson@ubuntu.com>
24431
24432 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24433 to the empty string.
24434
fa4b8490
BC
244352010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24436
24437 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24438
24439 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24440 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24441 * kern/misc.c (__enable_execute_stack): Disable on
24442 GRUB_MACHINE_EMU.
24443
a33075b9
CW
244442010-05-28 Colin Watson <cjwatson@ubuntu.com>
24445
24446 Make grub-probe work with symbolic links under /dev/mapper as well
24447 as with real block devices. The Linux world seems to be (at best)
24448 in transition here, and GRUB shouldn't get caught in the middle.
24449
24450 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24451 /dev/mapper.
24452
d8708134
CW
244532010-05-27 Colin Watson <cjwatson@ubuntu.com>
24454
24455 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24456 input files (in which case exit zero).
24457
db2102a0
CW
244582010-05-27 Colin Watson <cjwatson@ubuntu.com>
24459
24460 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24461 return NULL for various reasons even if it has a maximum-length
24462 buffer: for example, there might be a symlink loop, or the path
24463 might exceed PATH_MAX. If this happens, return NULL.
24464
5fdba519
RM
244652010-05-27 Robert Millan <rmh@gnu.org>
24466
24467 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24468 partmap module to handle cross-partmap setups.
24469 Reported by Orestes Mas. Gràcies!
24470
d1d368e4
CW
244712010-05-27 Colin Watson <cjwatson@ubuntu.com>
24472
24473 * util/grub-mkrescue.in: Initialise override_dir rather than
24474 assuming that it's unset or empty in the environment.
24475
95ac3c73
GS
244762010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24477
24478 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24479 variable index into p_index to suppress a warning with -Wshadow.
24480
7d8c0213
BC
244812010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24482
24483 * INSTALL: Added flex >= 2.5.35 requirement.
24484
db4d5813
VS
244852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24486
24487 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24488
f24f4300
VS
244892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 cmostest support.
24492
24493 * commands/i386/cmostest.c: New file.
24494 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24495 (cmostest_mod_SOURCES): New variable.
24496 (cmostest_mod_CFLAGS): Likewise.
24497 (cmostest_mod_LDFLAGS): Likewise.
24498 * conf/i386-pc.rmk: Likewise.
24499 * docs/grub.texi (Vendor power-on keys): New section.
24500 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24501 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24502 and GRUB_BUTTON_CMOS_ADDRESS.
24503 * util/grub.d/00_header.in: Handle powering-on by separate button.
24504
ad603f61
VS
245052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24506
24507 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24508 Removed drawing_scrollbar argument. All users updated
24509 Fixes #29792.
24510 Reported by Jo Shields
24511
3ecb080a
VS
245122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24515 buffer since gfxterm handles double repaint.
24516
5f2316c1
VS
245172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24520 * term/gfxterm.c (real_scroll): Likewise.
24521
9a25f885
VS
245222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24523
24524 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24525 before calling BIOS.
24526
39fbb79a
VS
245272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24528
24529 * include/grub/i18n.h: Always enable grub_gettext.
24530
228cfa97
VS
245312010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24532
24533 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24534 partition naming style.
24535
21717c8f
CW
245362010-05-21 Colin Watson <cjwatson@ubuntu.com>
24537
24538 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24539 not the first option.
24540
c0f48e65
CW
245412010-05-20 Colin Watson <cjwatson@ubuntu.com>
24542
24543 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24544
96779aec
CW
245452010-05-20 Colin Watson <cjwatson@ubuntu.com>
24546
24547 * util/misc.c: Move inclusion of <limits.h> to ...
24548 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24549
fa9d256e
GS
245502010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24551
24552 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24553 Fix merge error in NetBSD code.
24554 (find_partition_start) [__NetBSD__]: Likewise.
24555
123b7a85
BC
245562010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24557
24558 Fix grub-mkrescue usage unit testing.
24559
24560 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24561
74276c0d
CF
245622010-05-18 Christian Franke <franke@computer.org>
24563
24564 * util/grub.d/10_windows.in: Use path names instead of
24565 drive letters to prevent warning from Cygwin 1.7.
24566 Add drivemap command to menuentry if needed.
24567
c4f7b523
ST
245682010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24569
24570 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24571 gnumach and gnumach.gz.
24572
95b97950
VS
245732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24574
24575 * include/grub/i18n.h (gettext): Inline instead of using #define.
24576 (grub_gettext): Likewise.
24577 (_): Likewise.
24578
01b8d2d7
VS
245792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24580
24581 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24582 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24583 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24584 (main): Add a slash after pkglibdirroot.
24585
654e1d1e
VS
245862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 * util/grub-install.in: Add missing "in" keyword.
24589
26966aeb
VS
245902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24591
24592 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24593 Reported by: Seth Goldberg.
24594
75006747
VS
245952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24596
24597 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24598
74cbf5bd
CW
245992010-05-18 Colin Watson <cjwatson@ubuntu.com>
24600
24601 * configure.ac: Check for Linux device-mapper support.
24602
24603 * util/hostdisk.c (device_is_mapped): New function.
24604 (find_partition_start): New function, partly broken out from
24605 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24606 device-mapper support added.
24607 (linux_find_partition): Use find_partition_start.
24608 (convert_system_partition_to_system_disk): Add `st' argument.
24609 Support Linux /dev/mapper/* devices if device-mapper support is
24610 available; only DM-RAID devices are understood at present.
24611 (find_system_device): Add `st' argument. Pass it to
24612 convert_system_partition_to_system_disk.
24613 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24614 find_system_device and convert_system_partition_to_system_disk. Use
24615 find_partition_start.
24616
24617 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24618 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24619 * util/deviceiter.c [__linux__]: Define MINOR.
24620 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24621 * util/mkdevicemap.c (grub_putchar): New function.
24622 (grub_getkey): New function.
24623 (grub_refresh): New function.
24624 (main): Set debug=all if -v -v is used.
24625
355b51e9
CW
246262010-05-18 Colin Watson <cjwatson@ubuntu.com>
24627
24628 Fix build with non-GNU libcs.
24629
24630 * util/misc.c (canonicalize_file_name): Move to ...
24631 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24632 grub_make_system_path_relative_to_its_root.
24633
7fb5c25f
CW
246342010-05-18 Colin Watson <cjwatson@ubuntu.com>
24635
24636 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24637 we handle finding grub-mkimage. Default to finding grub-mkimage in
24638 ${bindir} with program_transform_name applied, and provide a
24639 --grub-mkimage option to override this.
24640
1d3293d6
VS
246412010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24642
24643 Remove grub-mkisofs.
24644
24645 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24646 (grub_mkisofs_SOURCES): Removed.
24647 (grub_mkisofs_CFLAGS): Removed.
24648 * util/mkisofs/defaults.h: Removed.
24649 * util/mkisofs/eltorito.c: Likewise.
24650 * util/mkisofs/exclude.h: Likewise.
24651 * util/mkisofs/hash.c: Likewise.
24652 * util/mkisofs/include/: Likewise.
24653 * util/mkisofs/include/fctldefs.h: Likewise.
24654 * util/mkisofs/include/mconfig.h: Likewise.
24655 * util/mkisofs/include/prototyp.h: Likewise.
24656 * util/mkisofs/include/statdefs.h: Likewise.
24657 * util/mkisofs/iso9660.h: Likewise.
24658 * util/mkisofs/joliet.c: Likewise.
24659 * util/mkisofs/match.c: Likewise.
24660 * util/mkisofs/match.h: Likewise.
24661 * util/mkisofs/mkisofs.c: Likewise.
24662 * util/mkisofs/mkisofs.h: Likewise.
24663 * util/mkisofs/msdos_partition.h: Likewise.
24664 * util/mkisofs/multi.c: Likewise.
24665 * util/mkisofs/name.c: Likewise.
24666 * util/mkisofs/rock.c: Likewise.
24667 * util/mkisofs/tree.c: Likewise.
24668 * util/mkisofs/write.c: Likewise.
24669
5dde9afe
VS
246702010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24671
24672 Unify grub-mkimage accross platforms.
24673
24674 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24675 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24676 (grub_mkelfimage_SOURCES): Removed.
24677 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24678 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24679 (bin_UTILITIES): Add grub-mkimage.
24680 (grub_mkimage_SOURCES): New variable.
24681 (kernel_img_HEADERS): Remove machine/kernel.h.
24682 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24683 (pkglib_PROGRAMS): Add kernel.img.
24684 (kernel_img_HEADERS): Add machine/kernel.h.
24685 (kernel_img_FORMAT): Removed.
24686 (bin_UTILITIES): Remove grub-mkimage.
24687 (grub_mkimage_SOURCES): Removed.
24688 (grub_mkimage_CFLAGS): Likewise.
24689 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24690 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24691 (pkglib_PROGRAMS): Add kernel.img.
24692 (bin_UTILITIES): Remove grub-mkimage.
24693 (grub_mkimage_SOURCES): Removed.
24694 (grub_mkimage_CFLAGS): Likewise.
24695 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24696 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24697 (pkglib_PROGRAMS): Add kernel.img.
24698 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24699 (pkglib_PROGRAMS): Add kernel.img.
24700 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24701 (grub_mkimage_SOURCES): Removed.
24702 (grub_mkimage_CFLAGS): Likewise.
24703 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24704 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24705 (pkglib_PROGRAMS): Add kernel.img.
24706 (bin_UTILITIES): Remove grub-mkimage.
24707 (grub_mkimage_SOURCES): Removed.
24708 (grub_mkimage_CFLAGS): Likewise.
24709 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24710 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24711 (grub_mkimage_SOURCES): Removed.
24712 (grub_mkimage_CFLAGS): Likewise.
24713 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24714 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24715 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24716 (grub_pe32_optional_header): ... this.
24717 (grub_pe64_optional_header): ... and this. All users updated.
24718 (GRUB_PE32_PE32_MAGIC): Split into ..
24719 (GRUB_PE32_PE32_MAGIC): .. this.
24720 (GRUB_PE32_PE64_MAGIC): .. and this.
24721 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24722 * include/grub/elf.h (PT_GNU_STACK): New definition.
24723 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24724 * include/grub/i386/efi/kernel.h: Likewise.
24725 * include/grub/i386/kernel.h: Likewise.
24726 * include/grub/i386/pc/kernel.h: Likewise.
24727 * include/grub/i386/qemu/boot.h: Likewise.
24728 * include/grub/mips/kernel.h: Likewise.
24729 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24730 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24731 * include/grub/powerpc/kernel.h: Likewise.
24732 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24733 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24734 * include/grub/sparc64/kernel.h: Likewise.
24735 * include/grub/x86_64/efi/kernel.h: Likewise.
24736 * include/grub/x86_64/kernel.h: Likewise.
24737 * include/grub/offsets.h: New file.
24738 * include/grub/kernel.h (grub_module_info): Split into ...
24739 (grub_module_info32): ... this.
24740 (grub_module_info64): ... and this.
24741 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24742 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24743 (grub_boot_blocklist): Moved from here ...
24744 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24745 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24746 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24747 * include/grub/types.h (grub_target_to_host16): Removed.
24748 (grub_target_to_host32): Likewise.
24749 (grub_target_to_host64): Likewise.
24750 (grub_host_to_target16): Likewise.
24751 (grub_host_to_target32): Likewise.
24752 (grub_host_to_target64): Likewise.
24753 (grub_host_to_target_addr): Likewise.
24754
24755 Support grub-mkrescue for efi, coreboot and qemu.
24756
24757 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24758 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24759 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24760 * util/grub-mkrawimage.c: Moved from here ...
24761 * util/grub-mkimage.c: ... here. All users updated.
24762 (ALIGN_ADDR): Use image_target.
24763 (TARGET_NO_FIELD): New const.
24764 (image_target_desc): New type.
24765 (image_targets): New array.
24766 (grub_target_to_host64): Use image_target.
24767 (grub_target_to_host32): Likewise.
24768 (grub_target_to_host16): Likewise.
24769 (grub_host_to_target64): Likewise.
24770 (grub_host_to_target32): Likewise.
24771 (grub_host_to_target16): Likewise.
24772 (grub_host_to_target_addr): Likewise.
24773 (generate_image): Handle multiimage.
24774 (main): Require -O parameter. All users updated.
24775 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24776 util/efi/grub-mkimage.c
24777 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24778 New option --rom-directory.
24779 Use xorriso.
24780 * util/i386/efi/grub-mkimage.c: Removed.
24781 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24782 (grub_target_to_host32): Likewise.
24783 (grub_target_to_host64): Likewise.
24784 (grub_host_to_target16): Likewise.
24785 (grub_host_to_target32): Likewise.
24786 (grub_host_to_target64): Likewise.
24787 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24788 (grub_target_to_host32): Likewise.
24789 (grub_target_to_host64): Likewise.
24790 (grub_host_to_target16): Likewise.
24791 (grub_host_to_target32): Likewise.
24792 (grub_host_to_target64): Likewise.
24793
f4fc97d0
BC
247942010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24795
24796 Source tree is reorganized for emu build.
24797
24798 * include/grub/util/console.h: Move from here...
24799 * include/grub/emu/console.h: ...to here.
24800 * include/grub/util/getroot.h: Move from here...
24801 * include/grub/emu/getroot.h: ...to here.
24802 * include/grub/util/hostdisk.h: Move from here...
24803 * include/grub/emu/hostdisk.h: ...to here.
24804 * util/console.c: Move from here...
24805 * kern/emu/console.c: ...to here.
24806 * util/getroot.c: Move from here...
24807 * kern/emu/getroot.c: ...to here.
24808 * util/grub-emu.c: Move from here...
24809 * kern/emu/main.c: ...to here.
24810 * util/hostdisk.c: Move from here...
24811 * kern/emu/hostdisk.c: ...to here.
24812 * util/hostfs.c: Move from here...
24813 * kern/emu/hostfs.c: ...to here.
24814 * util/mm.c: Move from here...
24815 * kern/emu/mm.c: ...to here.
24816 * util/pci.c: Move from here...
24817 * bus/emu/pci.c: ...to here.
24818 * util/sdl.c: Move from here...
24819 * video/emu/sdl.c: ...to here.
24820 * util/time.c: Move from here...
24821 * kern/emu/time.c: ...to here.
24822 * util/usb.c: Move from here...
24823 * bus/usb/emu/usb.c: ...to here.
24824
24825 * include/grub/emu/misc.h: New header for grub-emu functions.
24826 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24827
24828 * conf/any-emu.rmk: Rule updates for above renames.
24829 * conf/common.rmk: Likewise.
24830 * conf/i386-pc.rmk: Likewise.
24831 * conf/i386-qemu.rmk: Likewise.
24832 * conf/mips.rmk: Likewise.
24833 * conf/sparc64-ieee1275.rmk: Likewise.
24834 * conf/x86-efi.rmk: Likewise.
24835
24836 * disk/lvm.h: #include updates for above renames.
24837 * util/grub-mkrelpath.c: Likewise.
24838 * util/grub-probe.c: Likewise.
24839 * util/i386/pc/grub-setup.c: Likewise.
24840 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24841 * kern/emu/console.c: Likewise.
24842 * kern/emu/getroot.c: Likewise.
24843 * kern/emu/hostdisk.c: Likewise.
24844 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24845
24846 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24847 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24848 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24849 * util/misc.c: Remove grub-emu functions.
24850
cced9145
VS
248512010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 Fix gfxmenu crash.
24854 Reported by: Thorsten Grützmacher.
24855
24856 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24857 timeout hook.
24858 (circprog_set_property): Register and unregister timeout hook.
24859 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24860 (label_destroy): Free template. and unregister hook.
24861 (label_set_state): New function.
24862 (label_set_property): Handle templates and hooks.
24863 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24864 timeout hook.
24865 (progress_bar_set_property): Register and unregister timeout hook.
24866 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24867 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24868 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24869 (update_timeout_visit): Removed.
24870 (update_timeouts): New function.
24871 (redraw_timeouts): Likewise.
24872 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24873 (grub_gfxmenu_clear_timeout): Likewise.
24874 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24875 (grub_gfxmenu_timeout_notify): Likewise.
24876 (grub_gfxmenu_timeout_notifications): New external variable.
24877 (grub_gfxmenu_timeout_register): New function.
24878 (grub_gfxmenu_timeout_unregister): Likewise.
24879
c6e5caab
VS
248802010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24881
24882 Transform (broken) vga terminal into (working) vga video driver.
24883
24884 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24885 video/i386/pc/vga.c.
24886 * include/grub/video.h (grub_video_driver_id):
24887 Add GRUB_VIDEO_DRIVER_VGA.
24888 * term/i386/pc/vga.c: Renamed to ...
24889 * video/i386/pc/vga.c: ...this
24890 (DEBUG_VGA): Removed.
24891 (CHAR_WIDTH): Likewise.
24892 (CHAR_HEIGHT): Likewise.
24893 (TEXT_WIDTH): Likewise.
24894 (TEXT_HEIGHT): Likewise.
24895 (DEFAULT_FG_COLOR): Likewise.
24896 (DEFAULT_BG_COLOR): Likewise.
24897 (colored_char): Likewise.
24898 (xpos): Likewise.
24899 (ypos): Likewise.
24900 (cursor_state): Likewise.
24901 (fg_color): Likewise.
24902 (bg_color): Likewise.
24903 (text_buf): Likewise.
24904 (page): Likewise.
24905 (font): Likewise.
24906 (framebuffer): New variable.
24907 (set_read_map): Disabled.
24908 (setup): New variable.
24909 (is_target): Likewise.
24910 (grub_vga_mod_init): Likewise.
24911 (grub_vga_mod_fini): Likewise.
24912 (check_vga_mem): Likewise.
24913 (write_char): Likewise.
24914 (write_cursor): Likewise.
24915 (scroll_up): Likewise.
24916 (grub_vga_putchar): Likewise.
24917 (grub_vga_getcharwidth): Likewise.
24918 (grub_vga_getwh): Likewise.
24919 (grub_vga_getxy): Likewise.
24920 (grub_vga_gotoxy): Likewise.
24921 (grub_vga_cls): Likewise.
24922 (grub_vga_setcolorstate): Likewise.
24923 (grub_vga_setcursor): Likewise.
24924 (grub_video_vga_init): New function.
24925 (grub_video_vga_setup): Likewise.
24926 (grub_video_vga_fini): Likewise.
24927 (update_target): Likewise.
24928 (grub_video_vga_blit_bitmap): Likewise.
24929 (grub_video_vga_blit_render_target): Likewise.
24930 (grub_video_vga_set_active_render_target): Likewise.
24931 (grub_video_vga_get_active_render_target): Likewise.
24932 (grub_video_vga_swap_buffers): Likewise.
24933 (grub_video_vga_set_palette): Likewise.
24934 (grub_video_vga_get_info_and_fini): Likewise.
24935 (grub_vga_term): Removed.
24936 (grub_video_vga_adapter): New variable.
24937 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24938 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24939
2bf61a98
VS
249402010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 * video/readers/jpeg.c: Indented.
24943
09ddcd11
VS
249442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 Various jpeg cleanups.
24947
24948 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24949 (grub_jpeg_decode_quan_table): Use sizeof.
24950 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24951
e5507505
PH
249522010-05-05 Peter Hurley <No e-mail available> (tiny change)
24953
24954 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24955 tables. Ignore non-last ac bit.
24956 (grub_jpeg_decode_quan_table): Likewise.
24957
7e720a9b
VS
249582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24959
24960 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24961 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24962 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24963 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24964 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24965 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24966
a7fc080b
VS
249672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24970 error.
24971
2bf6012d
VS
249722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24973
24974 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24975
265d68cd
VS
249762010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24977
24978 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24979 condition.
24980
249812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24982
24983 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24984 part.
24985
265d68cd 249862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24987
24988 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24989 pointers.
24990
265d68cd 249912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24992
24993 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24994
d1b61374
CF
249952010-05-01 Christian Franke <franke@computer.org>
24996
24997 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24998 Remove broken Cygwin path conversion.
24999 * util/misc.c: [__CYGWIN__] Add include and define.
25000 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
25001 for Cygwin 1.7.
25002 (make_system_path_relative_to_its_root): Simplify loop, replace early
25003 return by break.
25004 [__CYGWIN__] Add conversion to win32 path.
25005 Include "/" case in trailing slash removal.
25006
3558c6e9
VS
250072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25008
25009 * kern/main.c (grub_load_config): Fix copy-pasted comment.
25010 Reported by: Seth Goldberg
25011
f5f3ff93
VS
250122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25013
25014 * commands/help.c (grub_cmd_help): Fix a typo.
25015 Reported by: Seth Goldberg
25016
d8b5cd40
VS
250172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25018
25019 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
25020 name and add N_.
25021 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
25022 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
25023 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
25024 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
25025 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
25026 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
25027 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25028 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25029 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25030 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25031 * normal/context.c (GRUB_MOD_INIT): Likewise.
25032 * normal/main.c (GRUB_MOD_INIT): Likewise.
25033 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25034 * term/serial.c (GRUB_MOD_INIT): Likewise.
25035 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25036
88c14915
VS
250372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
25040 extra == 0.
25041
165134bc
VS
250422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25043
25044 * commands/iorw.c: New file.
25045 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
25046 (iorw_mod_SOURCES): New variable.
25047 (iorw_mod_CFLAGS): Likewise.
25048 (iorw_mod_LDFLAGS): Likewise.
25049
c5ac9b32
VS
250502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25051
25052 Hotkey support
25053
25054 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
25055 * normal/main.c (hotkey_aliases): New variable.
25056 (grub_normal_add_menu_entry): Parse "--hotkey".
25057 * normal/menu_text.c (run_menu): Handle hotkeys.
25058
ce60689c
VS
250592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25060
25061 * kern/i386/coreboot/init.c (grub_machine_init): Call
25062 grub_machine_mmap_init on qemu.
25063
0359d006
VS
250642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 * boot/i386/qemu/boot.S: Add a missing .code16.
25067
7819a456
VS
250682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 Use LBIO on coreboot.
25071
25072 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25073 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25074 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25075 New declaration.
25076 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25077 grub_machine_mmap_init on coreboot.
25078 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25079 GRUB_LINUXBIOS_MEMBER_LINK.
25080 (grub_machine_mmap_iterate): Fix declaration.
25081 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25082
7210dca9
VS
250832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25084
25085 Split coreboot and multiboot ports.
25086
25087 * conf/i386-multiboot.rmk: New file.
25088 * configure.ac: Add multiboot port.
25089 * include/grub/i386/multiboot/boot.h: New file.
25090 * include/grub/i386/multiboot/console.h: Likewise.
25091 * include/grub/i386/multiboot/init.h: Likewise.
25092 * include/grub/i386/multiboot/kernel.h: Likewise.
25093 * include/grub/i386/multiboot/loader.h: Likewise.
25094 * include/grub/i386/multiboot/memory.h: Likewise.
25095 * include/grub/i386/multiboot/serial.h: Likewise.
25096 * include/grub/i386/multiboot/time.h: Likewise.
25097 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25098 * loader/multiboot.c: Likewise.
25099 * loader/multiboot_mbi2.c: Likewise.
25100 * util/grub-mkrescue.in: Generate multiboot rescue.
25101
6f8aaf68
VS
251022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25103
3080f7a7
VS
25104 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25105
251062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
25109
25110 * commands/terminal.c (abstract_terminal): New struct.
25111 (handle_command): New function. Based on grub_cmd_terminal_input.
25112 (grub_cmd_terminal_input): Use handle_command.
25113 (grub_cmd_terminal_output): Use handle_command.
25114
a8ebb841
BC
251152010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25116
25117 Fix comment handling.
25118
25119 * tests/grub_script_comments.in: New testcase.
25120 * conf/tests.rmk: Rules for new testcase.
25121 * script/yylex.l: Updated flex rules.
25122
bb06ba08
ST
251232010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25124
25125 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
25126 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25127 if argc is 1.
bb06ba08 25128
cc9d2425
VS
251292010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25132 autogen issues.
25133
460d8402
CF
251342010-04-26 Christian Franke <franke@computer.org>
25135
25136 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25137 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25138 (grub_get_prefix): Remove function.
25139 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25140 make_system_path_relative_to_its_root ().
25141 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25142
553c01f9
CF
251432010-04-24 Christian Franke <franke@computer.org>
25144
25145 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25146 (kernel_img_LDFLAGS): Remove -static-libgcc.
25147
2aec1692
CF
251482010-04-24 Christian Franke <franke@computer.org>
25149
25150 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25151 and CHECK_END_SYMBOL if grub-emu is built.
25152 Unset TARGET_OBJ2ELF if grub-emu is built
25153 without module support.
25154
f67dc308
JS
251552010-04-24 Jiro SEKIBA <jir@unicus.jp>
25156
25157 Nilfs2 support.
25158
25159 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25160 (grub_fstest_SOURCES): Likewise.
25161 (pkglib_MODULES): Add nilfs2.mod.
25162 (nilfs2_mod_SOURCES): New variable.
25163 (nilfs2_mod_CFLAGS): Likewise.
25164 (nilfs2_mod_LDFLAGS): Likewise.
25165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25166 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25167 * fs/nilfs2.c: New file.
25168
4ba8d354
VS
251692010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25172 is not supported.
25173
0d2c20c6
GS
251742010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25175
25176 Add grub-mkconfig support for NetBSD.
25177
25178 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25179 * util/grub-mkconfig.in: export new NetBSD specific variables.
25180 * po/POTFILES-shell: added 10_netbsd.in.
25181 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25182
bc4a2d83
BC
251832010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25184
25185 Fix emu build with grub-emu-pci and grub-emu-modules.
25186
25187 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25188 functions.
25189 * include/grub/libpciaccess.h: New file.
25190 * conf/any-emu.rmk: Update kernel headers for emu build.
25191
f48c87aa
VS
251922010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25193
25194 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25195
18959385
VS
251962010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25197
25198 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25199
0037de3f
VS
252002010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25201
25202 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25203 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25204 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25205 util/ieee1275/ofpath.c.
25206 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25207 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25208 * include/grub/sparc64/ieee1275/boot.h
25209 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25210 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25211 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25212 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25213 const char *.
25214 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25215 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25216 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25217 install.
25218
38e55e90
GS
252192010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25220
25221 * util/grub-mkconfig.in: Corrected two == equality tests.
25222 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25223 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25224 expect a number appended to it.
25225 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25226 expects a number appended to it.
25227
a9e6ff28
VS
252282010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25229
25230 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25231
0b830b8f
VS
252322010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25233
25234 * util/hostdisk.c (make_device_name): Change to new partition naming.
25235
0973daeb
VS
252362010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25237
25238 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25239
460d8402 252402010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
25241
25242 * Makefile.in: Add missing localedir setting.
25243
0b456309
CW
252442010-04-14 Colin Watson <cjwatson@ubuntu.com>
25245
25246 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25247 mistake in r2156. Noticed by Anthony Fok.
25248
25249 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25250 @localedir@.
25251 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25252
08f46d62
BC
252532010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25254
25255 Fix a spurious, uninitialized variable warning.
25256
25257 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25258 Initialize variable, shdr.
25259 (grub_freebsd_load_elfmodule): Likewise.
25260 (grub_freebsd_load_elf_meta): Likewise.
25261
8c4a72d4
BC
252622010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25263
25264 Fix for escaped dollar in double quoted strings.
25265
25266 * script/yylex.l: Updated flex rules.
25267 * conf/tests.rmk: Rule for new testcase.
25268 * tests/grub_script_dollar.in: New testcase.
25269
ce44826e
CPE
252702010-04-13 Carles Pina i Estany <carles@pina.cat>
252712010-04-13 Colin Watson <cjwatson@ubuntu.com>
25272
25273 Enclose all translated strings in grub.cfg in single quotes, and
25274 escape them appropriately (Ubuntu bug #552921).
25275
25276 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25277 * util/grub.d/10_hurd.in: Use it.
25278 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25279 * util/grub.d/10_linux.in (linux_entry): Likewise.
25280
4b0cd8f8
VS
252812010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 Fix cygwin compilation.
25284
25285 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25286 * include/grub/misc.h (__register_frame_info)
25287 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25288 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25289 * kern/misc.c (__register_frame_info)
25290 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25291 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25292
01fcf061
VS
252932010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25294
25295 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25296
5d04b11e
VS
252972010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25298
25299 Unify libgcc processing.
25300
25301 * Makefile.in (kernel_img_LDFLAGS): New variable.
25302 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25303 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25304 overwriting.
25305 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25306 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25307 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25308 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25309 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25310 overwriting. Remove -lgcc and -static-libgcc
25311 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25312 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25313 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25314 (kernel_img_LDFLAGS): Append instead of overwriting.
25315 Remove -lgcc and -static-libgcc
25316 * conf/sparc64-ieee1275.rmk: Likewise.
25317 * include/grub/powerpc/libgcc.h: Move to ...
25318 * include/grub/libgcc.h: .. this.
25319 * include/grub/libgcc.h: Don't export most of the function on x86.
25320 (__bswapsi2): New export.
25321 (__bswapdi2): Likewise.
25322 * include/grub/mips/libgcc.h: Removed.
25323 * include/grub/sparc64/libgcc.h: Likewise.
25324
b7f3ac29
VS
253252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25328 disk_info_msg (conflicts with gettexting into languages with cases).
25329
2c7031b1
GS
253302010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25331
25332 Add grub-probe support for NetBSD.
25333
25334 * util/getroot.c (find_root_device): Convert block device to
25335 character device on NetBSD.
25336 * util/probe.c (probe): Require character device on NetBSD.
25337 * util/hostdisk.c: NetBSD specific headers.
25338 (configure_device_driver): new function to tune device driver
25339 parameters (currently only for NetBSD floppy driver).
25340 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25341 via disklabel ioctl).
25342 (open_device): call configure_device_driver on NetBSD.
25343 (convert_system_partition_to_system_disk): NetBSD specific code.
25344 (device_is_wholedisk): Likewise.
25345 (grub_util_biosdisk_get_grub_dev): Likewise.
25346 (make_device_name): Fixed a typo in bsd_part_str.
25347 * configure.ac: check for opendisk() and getrawpartition() on
25348 NetBSD and set LIBUTIL.
25349 * Makefile.in: add LIBUTIL to LIBS.
25350
f516290c
BC
253512010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25352
25353 Documentation fix.
25354
25355 * util/grub-script-check.c: Better help message.
25356
d8dcc0df
BC
253572010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25358
25359 Fix FreeBSD build.
25360
25361 * configure.ac: Flex version check.
25362 * conf/common.rmk: Add -Wno-error to sh.mod.
25363 * script/yylex.l: Remove all #pragma.
25364
6734334a
VS
253652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25368 prototype.
25369 Reported by: Seth Goldberg.
25370
daea6abd
VS
253712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25372
25373 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25374 Rename "module" to "module2".
25375 Reported by: Seth Goldberg.
25376
f2fd9d2b
VS
253772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25378
25379 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25380 EXPORT_FUNC.
25381 Reported by: Seth Goldberg.
25382
be124579
VS
253832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 * lib/posix_wrap/locale.h: Add missing file.
25386 Reported by: Seth Goldberg.
25387
ef5da797
VS
253882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 grub-emu module load support.
25391
25392 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25393 NO_DYNAMIC_MODULES switched to this.
25394 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25395 (CFLAGS): Likewise.
25396 * conf/any-emu.rmk: Generate symlist.
25397 (kernel_img_HEADERS): Add util/datetime.h.
25398 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25399 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25400 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25401 kern/$(target_cpu)/cache.S.
25402 * configure.ac (grub-emu-modules): New option.
25403 * genmk.rb: Handle multiple source lists.
25404 * include/grub/sdl.h: New file.
25405 * include/grub/libusb.h: Likewise.
25406 * util/grub-emu.c (main): Hanle (host) root.
25407 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25408 GRUB_ERR_UNKNOWN_DEVICE.
25409 * util/misc.c: Move mm functions to ...
25410 * util/mm.c: ... here. All users updated.
25411
47822096
VS
254122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25413
25414 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25415 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25416 missing files.
25417 (maintainer-clean): Remove libgcrypt-grub.
25418
5d7e7445
VS
254192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25420
25421 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25422
25f4e252
EC
254232010-04-09 EFI Coder <eficoder@hotmail.com>
25424
25425 * normal/menu_text.c (print_message): Clean up the message and show
25426 the Fn information when on EFI
25427 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25428
027de555
VS
254292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25432 All users updated.
25433 * normal/crypto.c (read_crypto_list): Likewise.
25434 * normal/dyncmd.c (read_command_list): Likewise.
25435 * normal/term.c (read_terminal_list): Likewise.
25436 * normal/main.c (read_lists): Use explicit prefix.
25437 (read_lists_hook): Use read_lists.
25438 (grub_normal_execute): Likewise.
25439
47779711
VS
254402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25441
25442 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25443 Reported by: Thomas Schmitt.
25444 Add -no-emul-boot to grub-mkisofs parameters.
25445
1118c32e
VS
254462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 * font/font.c: Indented.
25449
7d652447
BC
254502010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25451
25452 Elif support to GRUB script (by Deepak Vankadaru).
25453
25454 * tests/grub_script_if.in: New testcase.
25455 * conf/tests.rmk: Rule for new testcase.
25456 * script/parser.y: Grammar rules for elif.
25457
34bb22df
BC
254582010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25459
25460 While and until loops support to GRUB script.
25461
25462 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25463 (grub_script_create_cmdwhile): New function prototype.
25464 (grub_script_execute_cmdwhile): New function prototype.
25465 * script/execute.c (grub_script_execute_cmdwhile): New function.
25466 * script/parser.y (command): New commands.
25467 (whilecmd): New grammar rule.
25468 (untilcmd): New grammar rule.
25469 * script/script.c (grub_script_create_cmdwhile): New function.
25470 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25471 function.
25472
25473 * tests/grub_script_while1.in: New testcase.
25474 * conf/tests.rmk: Rule for new testcase.
25475
e215d8e0
VS
254762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25479 as *.jpg.
25480
d7c43ba1
MV
254812010-04-09 Mario Vazquez <mariovazq@gmail.com>
25482
25483 GRUB_BACKGROUND support.
25484
25485 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25486 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25487
d64795c0
VS
254882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25491 Idea by: Mario Vazquez
d64795c0
VS
25492
25493 * util/grub.d/00_header.in: Load pf2 and image modules.
25494
f267f83a
VS
254952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25496
25497 grub-mkconfig multiple terminal support.
25498
25499 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25500 * util/grub.d/00_header.in: Likewise.
25501
b7841ceb
VS
255022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25505 we use cd $(srcdir).
25506
df60998c
CW
255072010-04-08 Colin Watson <cjwatson@ubuntu.com>
25508
25509 * util/grub.d/10_linux.in: Only use the first word of
25510 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25511 spaces in GRUB_DISTRIBUTOR.
25512 * util/grub.d/10_kfreebsd.in: Likewise.
25513 * util/grub.d/10_hurd.in: Likewise.
25514
fa09c82e
BC
255152010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25516
14e18ae3 25517 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25518
25519 * tests/util/grub-shell.in: Remove -serial stdio option.
25520
daf892b3
BC
255212010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25522
25523 POSIX header file wrappers.
25524
25525 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25526 equivalents.
25527 * lib/posix_wrap/ctype.h: Likewise.
25528 * lib/posix_wrap/errno.h: Likewise.
25529 * lib/posix_wrap/langinfo.h: Likewise.
25530 * lib/posix_wrap/limits.h: Likewise.
25531 * lib/posix_wrap/localcharset.h: Likewise.
25532 * lib/posix_wrap/stdint.h: Likewise.
25533 * lib/posix_wrap/stdio.h: Likewise.
25534 * lib/posix_wrap/stdlib.h: Likewise.
25535 * lib/posix_wrap/string.h: Likewise.
25536 * lib/posix_wrap/sys/types.h: Likewise.
25537 * lib/posix_wrap/unistd.h: Likewise.
25538 * lib/posix_wrap/wchar.h: Likewise.
25539 * lib/posix_wrap/wctype.h: Likewise.
25540 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25541 (grub_script.yy.h): Likewise.
25542 * script/yylex.l: Remove POSIX emulation #defines.
25543 * Makefile.in (POSIX_CFLAGS): New variable.
25544 (GNULIB_UTIL_CFLAGS): Likewise.
25545
25546 Regexp support.
25547
25548 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25549 (regexp_mod_SOURCES): New variable.
25550 (regexp_mod_CFLAGS): Likewise.
25551 (regexp_mod_LDFLAGS): Likewise.
25552 * commands/regexp.c: New file.
25553 * gnulib/regcomp.c: New file. Imported from gnulib.
25554 * gnulib/regex.c: Likewise.
25555 * gnulib/regex_internal.c: Likewise.
25556 * gnulib/regex_internal.h: Likewise.
25557 * gnulib/regexec.c: Likewise.
25558 * gnulib/regex.h: Likewise.
25559
974ac4f7
VS
255602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25561
25562 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25563 unsupported video mode types.
25564
2622c3ff
VS
255652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25566
25567 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25568
064cb524
VS
255692010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25570
25571 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25572 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25573
a8c3b552
VS
255742010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25575
25576 Remove unused grub_vga_get_font.
25577
25578 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25579 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25580
187bbe3d
GS
255812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25582
25583 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25584 * include/grub/misc.h: Likewise.
25585
b9396631
GS
255862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25587
25588 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25589 for which failure is fatal.
25590
50479feb
GS
255912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25592
25593 * util/grub-install.in: Use mkdir -p to create grub directory.
25594 * util/i386/efi/grub-install.in: Likewise.
25595 * util/ieee1275/grub-install.in: Likewise.
25596
b1654fdf
GS
255972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25598
25599 * Makefile.in (LEX): new variable.
25600
bd5a6415
GS
256012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25602
25603 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25604 `=' and added double quotes on operands of this equality test.
25605
3db3a82b
VS
256062010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25607
25608 * Makefile.in (uninstall): Remove a leftover debug echo.
25609 Reported by: Grégoire Sutre
25610
38023412
VS
256112010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25612
25613 MIPS multiboot2 support.
25614
25615 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25616 (multiboot2_mod_SOURCES): New variable.
25617 (multiboot2_mod_CFLAGS): Likewise.
25618 (multiboot2_mod_LDFLAGS): Likewise.
25619 (multiboot2_mod_ASFLAGS): Likewise.
25620 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25621 definition.
25622 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25623 (MULTIBOOT_MBI_REGISTER): Likewise.
25624 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25625 (MULTIBOOT_ELF32_MACHINE): Likewise.
25626 (MULTIBOOT_ELF64_MACHINE): Likewise.
25627 * include/grub/mips/multiboot.h: New file.
25628 * include/grub/video.h (grub_video_driver_id): New type
25629 GRUB_VIDEO_DRIVER_SM712.
25630 (grub_video_get_info_and_fini): Export.
25631 (grub_video_get_palette): Likewise.
25632 (grub_video_get_driver_id): Likewise.
25633 * include/multiboot2.h: Resynced with spec.
25634 * loader/i386/multiboot.c: Moved from here ...
25635 * loader/multiboot.c: ... here. All users updated.
25636 (grub_multiboot_boot): Use platform-specific macros.
25637 * loader/i386/multiboot_elfxx.c: Moved from here ...
25638 * loader/multiboot_elfxx.c: ... here. All users updated.
25639 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25640 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25641 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25642
47674667
VS
256432010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Import gnulib argp module.
25646
25647 * gnulib/argp-ba.c: New file.
25648 * gnulib/argp-eexst.c: Likewise.
25649 * gnulib/argp-fmtstream.c: Likewise.
25650 * gnulib/argp-fmtstream.h: Likewise.
25651 * gnulib/argp-fs-xinl.c: Likewise.
25652 * gnulib/argp-help.c: Likewise.
25653 * gnulib/argp-namefrob.h: Likewise.
25654 * gnulib/argp-parse.c: Likewise.
25655 * gnulib/argp-pin.c: Likewise.
25656 * gnulib/argp-pv.c: Likewise.
25657 * gnulib/argp-pvh.c: Likewise.
25658 * gnulib/argp-version-etc.c: Likewise.
25659 * gnulib/argp-version-etc.h: Likewise.
25660 * gnulib/argp-xinl.c: Likewise.
25661 * gnulib/argp.h: Likewise.
25662
495442ed
VS
256632010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25664
25665 * kern/device.c (grub_device_iterate): Clear errors after failed
25666 opening device.
25667
f9fd65df
VS
256682010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25669
25670 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25671 returned by firmware.
25672
af09641e
VS
256732010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25676 compilation on coreboot and qemu
25677
016883a5
VS
256782010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25679
25680 * include/multiboot2.h: Resync with spec.
25681
f97e1f7d
VS
256822010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25683
25684 Multiboot2 tag support
25685
25686 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25687 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25688 Remove loader/multiboot_loader.c.
25689 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25690 (grub_multiboot2_real_boot): Likewise.
25691 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25692 (grub_get_multiboot_mmap_count): New proto.
25693 (grub_fill_multiboot_mmap): Likewise.
25694 (grub_multiboot_set_video_mode): Likewise.
25695 (grub_multiboot_set_console): Likewise.
25696 (grub_multiboot_load): Likewise.
25697 (grub_multiboot_load_elf): Likewise.
25698 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25699 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25700 * include/multiboot.h: Resynced with specification.
25701 * include/multiboot2.h: Resynced with specification.
25702 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25703 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25704 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25705 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25706 users updated.
25707 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25708 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25709 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25710 Removed.
25711 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25712 Moved from here...
25713 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25714 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25715 Moved from here...
25716 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25717 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25718 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25719 All users updated.
25720 * loader/i386/multiboot_mbi2.c: New file.
25721
3506b90b
VS
257222010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 Resync with gnulib.
25725
25726 * Makefile.in (GNULIB_CFLAGS): New variable.
25727 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25728 (grub_script_check_CFLAGS): New variable.
25729 * gnulib/alloca.h: Resync with gnulib.
25730 * gnulib/error.c: Likewise.
25731 * gnulib/error.h: Likewise.
25732 * gnulib/fnmatch.c: Likewise.
25733 * gnulib/fnmatch_loop.c: Likewise.
25734 * gnulib/getdelim.c: Likewise.
25735 * gnulib/getline.c: Likewise.
25736 * gnulib/getopt.c: Likewise.
25737 * gnulib/getopt1.c: Likewise.
25738 * gnulib/getopt_int.h: Likewise.
25739 * gnulib/gettext.h: Likewise.
25740 * gnulib/progname.c: Likewise.
25741 * gnulib/progname.h: Likewise.
25742
394a3120
GS
257432010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25744
25745 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25746 which is the case with --disabled-nls.
25747
25748 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25749 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25750 * util/misc.c: Likewise.
25751 * util/mkisofs/mkisofs.c: Likewise.
25752 * util/mkisofs/mkisofs.h: Likewise.
25753
969d1c78
VS
257542010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25755
25756 Simplify Apple CC support.
25757
25758 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25759 Add 0 byte at the end not to have a symbol with empty target.
25760 * mmap/i386/pc/mmap_helper.S: Likewise.
25761 * genmk.rb: Ignore errors 2030 and 2050.
25762 * kern/i386/pc/startup.S: Use LOCAL when possible.
25763
8d2977bb
BC
257642010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25765
25766 Testcase and the fix for final semicolon on cmdline.
25767
25768 * tests/grub_script_final_semicolon.in: New testcase.
25769 * conf/tests.rmk: Rules for the new testcase.
25770 * script/parser.y: Grammar fix.
25771
a7bd6915
BC
257722010-03-26 BVK Chaitanya <bvk@localhost>
25773
25774 Blank lines testcase for GRUB script.
25775
25776 * tests/grub_script_blanklines.in: New testcase.
25777 * conf/tests.rmk: Rules for the new testcase.
25778
e4ff6628
VS
257792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25780
25781 Don't use __FILE__.
25782
25783 * genmk.rb: Add -DGRUB_FILE to all C targets.
25784 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25785 * include/grub/list.h: Likewise.
25786 * include/grub/misc.h: Likewise.
25787 * include/grub/mm.h: Likewise.
25788 * include/grub/test.h: Likewise.
25789 * kern/mm.c: Likewise.
25790 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25791
6a5cf6b6
VS
257922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25793
25794 Sunpc partitions support.
25795
25796 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25797 (grub_fstest_SOURCES): Likewise.
25798 (pkglib_MODULES): Add part_sunpc.mod.
25799 (part_sunpc_mod_SOURCES): New variable.
25800 (part_sunpc_mod_CFLAGS): Likewise.
25801 (part_sunpc_mod_LDFLAGS): Likewise.
25802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25803 * partmap/sunpc.c: New file.
25804
746d9045
BC
258052010-03-26 BVK Chaitanya <bvk@localhost>
25806
25807 For loop support to GRUB script.
25808
25809 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25810 (grub_script_create_cmdfor): New function prototype.
25811 (grub_script_execute_cmdfor): New function prototype.
25812 * script/execute.c (grub_script_execute_cmdfor): New function.
25813 * script/parser.y (command): New for command.
25814 (forcmd): New grammar rule.
25815 * script/script.c (grub_script_create_cmdfor): New function.
25816 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25817 function.
25818 * tests/grub_script_for1.in: New testcase.
25819 * conf/tests.rmk: Rules for new testcase.
25820
18486b18
VS
258212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 Nested partitions
25824
25825 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25826 'partition' is NULL, grub_partition_get_start already does that.
25827 * commands/loadenv.c (check_blocklists): Likewise.
25828 (write_blocklists): Likewise.
25829 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25830 (grub_fstest_SOURCES): Likewise.
25831 (pkglib_MODULES): Add part_bsd.mod.
25832 (part_bsd_mod_SOURCES): New variable.
25833 (part_bsd_mod_CFLAGS): Likewise.
25834 (part_bsd_mod_LDFLAGS): Likewise.
25835 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25836 (grub_emu_SOURCES): Likewise.
25837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25838 * include/grub/bsdlabel.h: New file.
25839 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25840 'get_name'.
25841 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25842 (grub_partition_map_list): New variable.
25843 (grub_partition_map_register): Inline.
25844 (grub_partition_map_unregister): Likewise.
25845 (FOR_PARTITION_MAPS): New macro.
25846 (grub_partition_map_iterate): Removed.
25847 (grub_partition_get_start): Handle nested partitions.
25848 * include/grub/msdos_partition.h: Remove bsd-related entries.
25849 (grub_pc_partition): Remove.
25850 * kern/disk.c (grub_disk_close): Free partition data.
25851 (grub_disk_adjust_range): Handle nested partitions.
25852 * kern/partition.c (grub_partition_map_probe): New function.
25853 (grub_partition_probe): Parse name to number, handle subpartitions.
25854 (get_partmap): New function.
25855 (grub_partition_iterate): Handle subpartitions.
25856 (grub_partition_get_name): Likewise.
25857 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25858 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25859 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25860 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25861 Set 'number'.
25862 (acorn_partition_map_probe): Remove.
25863 (acorn_partition_map_get_name): Likewise.
25864 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25865 Set 'number'.
25866 Set 'index' to 0 since there can be only one partition entry per sector.
25867 (amiga_partition_map_probe): Remove.
25868 (amiga_partition_map_get_name): Likewise.
25869 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25870 Set 'number'.
25871 Set 'offset' and 'index' to real positions of partitions.
25872 (apple_partition_map_probe): Remove.
25873 (apple_partition_map_get_name): Likewise.
25874 * partmap/bsdlabel.c: New file.
25875 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25876 Set 'number'.
25877 Allocate 'data' so it can be correctly freed.
25878 Set 'index' to offset inside sector.
25879 (gpt_partition_map_probe): Remove.
25880 (gpt_partition_map_get_name): Likewise.
25881 * partmap/msdos.c (grub_partition_parse): Remove.
25882 (pc_partition_map_iterate): Don't force raw access.
25883 Set 'number'.
25884 Make 'ext_offset' a local variable.
25885 (pc_partition_map_probe): Remove.
25886 (pc_partition_map_get_name): Remove.
25887 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25888 Set 'number'.
25889 (sun_partition_map_probe): Remove.
25890 (sun_partition_map_get_name): Likewise.
25891 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25892 (grub_pcpart_type): Likewise.
25893 * util/hostdisk.c (open_device): Handle new numbering scheme.
25894 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25895 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25896 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25897 * util/grub-install.in: Insert all subpartition modules.
25898 * util/ieee1275/grub-install.in: Likewise.
25899
a3940f88
AG
259002010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25901
25902 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25903 grammar.
25904
21b99926 259052010-03-24 Colin Watson <cjwatson@ubuntu.com>
25906
25907 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25908
bed1d352
CW
259092010-03-21 Colin Watson <cjwatson@ubuntu.com>
25910
25911 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25912 match where 'make install' puts them.
25913 * util/i386/efi/grub-install.in: Likewise.
25914
c9f58427
CW
259152010-03-19 Colin Watson <cjwatson@ubuntu.com>
25916
25917 * .bzrignore: Add gentrigtables, grub-script-check,
25918 grub_script_check_init.c, grub_script_check_init.h, and
25919 trigtables.c.
25920
f84afb27
VS
259212010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25922
25923 * kern/parser.c: Indented.
25924
ed0e3d30
VS
259252010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25926
25927 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25928
0ea81d98
VS
259292010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25930
25931 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25932 alpha_mask_size == 0 case.
25933
0cdc2a09
BC
259342010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25935
25936 GRUB shell lexer and parser improvements.
25937
25938 * conf/any-emu.rmk: Build rule updates.
25939 * conf/common.rmk: Likewise.
25940 * conf/i386-coreboot.rmk: Likewise.
25941 * conf/i386-efi.rmk: Likewise.
25942 * conf/i386-ieee1275.rmk: Likewise.
25943 * conf/i386-pc.rmk: Likewise.
25944 * conf/powerpc-ieee1275.rmk: Likewise.
25945 * conf/x86_64-efi.rmk: Likewise.
25946
25947 * configure.ac: Configure check for flex.
25948
25949 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25950 types.
25951 (grub_lexer_param): Struct member updates.
25952 (grub_parser_param): Likewise.
25953 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25954 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25955 (grub_script_lexer_init): Prototype update.
25956 (grub_script_lexer_record_start): Likewise.
25957 (grub_script_lexer_record_stop): Likewise.
25958 (grub_script_lexer_yywrap): New function prototype.
25959 (grub_script_lexer_fini): Likewise.
25960 (grub_script_execute_argument_to_string): Removed by...
25961 (grub_script_execute_argument_to_argv): ...better version.
25962
25963 * script/execute.c (ROUND_UPTO): New macro.
25964 (grub_script_execute_cmdline): Out of memory fixes.
25965 (grub_script_execute_menuentry): Likewise.
25966 (grub_script_execute_argument_to_string): Removed. Update all
25967 users by...
25968 (grub_script_execute_argument_to_argv): ...better version.
25969 * script/function.c (grub_script_function_create): Use
25970 grub_script_execute_argument_to_argv instead of
25971 grub_script_execute_argument_to_string.
25972
25973 * script/lexer.c (check_varstate): Removed.
25974 (check_textstate): Removed.
25975 (grub_script_lexer_record_start): Likewise.
25976 (grub_script_lexer_record_stop): Likewise.
25977 (recordchar): Replaced with...
25978 (grub_script_lexer_record): ...new function.
25979 (nextchar): Removed.
25980 (grub_script_lexer_init): Rewritten.
25981 (grub_script_yylex): Rewritten.
25982 (append_newline): New function.
25983 (grub_script_lexer_yywrap): New function.
25984 (grub_script_lexer_fini): New function.
25985 (grub_script_yyerror): Sets error flag.
25986
25987 * script/yylex.l: New file.
25988 (grub_lexer_yyfree): Wrapper for flex yyffre.
25989 (grub_lexer_yyalloc): Likewise.
25990 (grub_lexer_yyrealloc): Likewise.
25991 * script/parser.y: Refactored.
25992
25993 * script/script.c (grub_script_arg_add): Out of memory fixes.
25994 (grub_script_add_arglist): Likewise.
25995 (grub_script_create_cmdline): Likewise.
25996 (grub_script_create_cmdmenu): Likewise.
25997 (grub_script_add_cmd): Likewise.
25998 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25999 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
26000 unnecessary code.
26001
26002 * tests/grub_script_echo1.in: New testcase.
26003 * tests/grub_script_vars1.in: New testcase.
26004 * tests/grub_script_echo_keywords.in: New testcase.
26005
1d63a066
VS
260062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 Remove some redundancy in build system.
26009
26010 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
26011 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
26012 (TARGET_LDFLAGS): Add -nostdlib.
26013 (TARGET_IMG_LDFLAGS): Likewise.
26014 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
26015 anything since mmap isn't available.
26016 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
26017 Add util/time.c.
26018 (pkglib_MODULES): Remove reboot.mod.
26019 (reboot_mod_SOURCES): Removed.
26020 (reboot_mod_CFLAGS): Likewise.
26021 (reboot_mod_LDFLAGS): Likewise.
26022 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
26023 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
26024 (DEFSYMFILES): Add kernel_syms.lst.
26025 (kernel_img_HEADERS): Add common headers.
26026 (symlist.c): New target.
26027 (kernel_syms.lst): Likewise.
26028 (pkglib_MODULES): Add memdisk.mod.
26029 (memdisk_mod_SOURCES): New variable.
26030 (memdisk_mod_CFLAGS): Likewise.
26031 (memdisk_mod_LDFLAGS): Likewise.
26032 (pkglib_MODULES): Add reboot.mod.
26033 (reboot_mod_SOURCES): New variable.
26034 (reboot_mod_CFLAGS): Likewise.
26035 (reboot_mod_LDFLAGS): Likewise.
26036 (pkglib_MODULES): Add date.mod.
26037 (date_mod_SOURCES): New variable.
26038 (date_mod_CFLAGS): Likewise.
26039 (date_mod_LDFLAGS): Likewise.
26040 (pkglib_MODULES): Add datehook.mod.
26041 (datehook_mod_SOURCES): New variable.
26042 (datehook_mod_CFLAGS): Likewise.
26043 (datehook_mod_LDFLAGS): Likewise.
26044 (pkglib_MODULES): Add lsmmap.mod.
26045 (lsmmap_mod_SOURCES): New variable.
26046 (lsmmap_mod_CFLAGS): Likewise.
26047 (lsmmap_mod_LDFLAGS): Likewise.
26048 (pkglib_MODULES): Add boot.mod.
26049 (boot_mod_SOURCES): New variable.
26050 (boot_mod_CFLAGS): Likewise.
26051 (boot_mod_LDFLAGS): Likewise.
26052 * conf/i386-coreboot.rmk: Removed redundant parts.
26053 * conf/i386-ieee1275.rmk: Likewise.
26054 * conf/i386-pc.rmk: Likewise.
26055 * conf/mips-yeeloong.rmk: Likewise.
26056 * conf/mips.rmk: Likewise.
26057 * conf/powerpc-ieee1275.rmk: Likewise.
26058 * conf/sparc64-ieee1275.rmk: Likewise.
26059 * conf/x86_64-efi.rmk: Likewise.
26060 * conf/i386-coreboot.rmk: Moved qemu parts ..
26061 * conf/i386-qemu.rmk: ... here
26062 * conf/i386-efi.rmk: Moved common parts to...
26063 * conf/x86-efi.rmk: ... here.
26064 * conf/i386.rmk: Added modules common to all x86 variants.
26065 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26066 * disk/memdisk.c: Remove grub/machine/kernel.h.
26067 * gensymlist.sh.in: Include symbol.h.
26068 * hook/datehook.c: Correct module name.
26069 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26070 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26071 * include/grub/i386/efi/serial.h: New file.
26072 * include/grub/x86_64/efi/serial.h: Likewise.
26073 * util/time.c: Likewise.
26074 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26075
463ac55f
CK
260762010-03-14 Colin King <colin.king@ubuntu.com>
260772010-03-14 Colin Watson <cjwatson@ubuntu.com>
26078
26079 Shrink the pre-partition-table part of boot.img by eight bytes.
26080
26081 * boot/i386/pc/boot.S (ERR): New macro.
26082 (chs_mode): Use ERR.
26083 (geometry_error): Likewise.
26084 (hd_probe_error): Remove. This is only used once, so we wrwite
26085 it inline instead.
26086 (read_error): Instead of printing read_error_string, just set up
26087 %si and fall through to ...
26088 (error_message): ... this new function, also used by ERR.
26089
08e46ede
CW
260902010-03-14 Colin Watson <cjwatson@ubuntu.com>
26091
26092 Speed up consecutive hostdisk operations on the same device.
26093
26094 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26095 (grub_util_biosdisk_open): Initialise disk->data.
26096 (struct linux_partition_cache): New structure.
26097 (linux_find_partition): Cache partition start positions; these are
26098 expensive to compute on every read and write.
26099 (open_device): Cache open file descriptor in disk->data, so that we
26100 don't have to reopen it and flush the buffer cache for consecutive
26101 operations on the same device.
26102 (grub_util_biosdisk_close): New function.
26103 (grub_util_biosdisk_dev): Set `close' member.
26104
26105 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26106 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26107 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26108 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26109 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26110
4a6d2d06
VS
261112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 Compile parts of grub-emu as modules.
26114
26115 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26116 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26117 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26118 (all-local): Add $(GRUB_EMU).
26119 (install-local): Install $(GRUB_EMU).
26120 (uninstall): Uninstall $(GRUB_EMU).
26121 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26122 * kern/dl.c: Likewise.
26123 * commands/sleep.c: Not include machine/time.h.
26124 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26125 (COMMON_CFLAGS): Likewise.
26126 (sbin_UTILITIES): Remove grub-emu.
26127 (grub_emu_SOURCES): Removed.
26128 (kernel_img_RELOCATABLE): New variable.
26129 (pkglib_PROGRAMS): Add kernel.img.
26130 (kernel_img_SOURCES): New variable
26131 (kernel_img_CFLAGS): Likewise.
26132 (kernel_img_LDFLAGS): Likewise.
26133 (TARGET_NO_STRIP): Likewise.
26134 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26135 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26136 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26137 (grub-emu): New target.
26138 (GRUB_EMU): New variable.
26139 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26140 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26141 * loader/xnu.c: Likewise.
26142 * include/grub/pci.h: Likewise.
26143 * genemuinit.sh: New file.
26144 * genemuinitheader.sh: Likewise.
26145 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26146 Support TARGET_NO_DYNAMIC_MODULES.
26147 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26148 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26149 * disk/loopback.c: Likewise.
26150 * font/font_cmd.c: Likewise.
26151 * partmap/acorn.c: Likewise.
26152 * partmap/amiga.c: Likewise.
26153 * partmap/apple.c: Likewise.
26154 * partmap/gpt.c: Likewise.
26155 * partmap/msdos.c: Likewise.
26156 * partmap/sun.c: Likewise.
26157 * parttool/msdospart.c: Likewise.
26158 * term/gfxterm.c: Likewise.
26159 * video/bitmap.c: Likewise.
26160 * video/readers/jpeg.c: Likewise.
26161 * video/readers/png.c: Likewise.
26162 * video/readers/tga.c: Likewise.
26163 * video/video.c: Likewise.
26164 * util/grub-emu.c (read_command_list): Removed.
26165 (main): Don't call util_init_nls.
26166 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26167 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26168
91fdd2ed
VS
261692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26172 date.mod, datehook.mod.
26173 (datetime_mod_SOURCES): New variable.
26174 (datetime_mod_CFLAGS): Likewise.
26175 (datetime_mod_LDFLAGS): Likewise.
26176 (date_mod_SOURCES): Likewise.
26177 (date_mod_CFLAGS): Likewise.
26178 (date_mod_LDFLAGS): Likewise.
26179 (datehook_mod_SOURCES): Likewise.
26180 (datehook_mod_CFLAGS): Likewise.
26181 (datehook_mod_LDFLAGS): Likewise.
26182 * conf/sparc64-ieee1275.rmk: Likewise.
26183 * lib/ieee1275/datetime.c: New file.
26184
873ccae6
VS
261852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26186
26187 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26188 (ieee1275_fb_mod_SOURCES): New variable.
26189 (ieee1275_fb_mod_CFLAGS): Likewise.
26190 (ieee1275_fb_mod_LDFLAGS): Likewise.
26191 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26192 New proto.
26193 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26194 (HEAP_MAX_ADDR): Likewise.
26195 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26196 type.
26197 Correct stop condition.
26198 (grub_ieee1275_devices_iterate): New function.
26199 * video/ieee1275.c: New file.
26200
601c97c0
VS
262012010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26204
26205 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26206 as scratch.
26207 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26208 SCRATCH_PAD_DISKBOOT as scratch.
26209 (bootit): Pass Openfirmware pointer in %o4.
26210 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26211 of 0x200000.
26212 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26213 with util/grub-mkrawimage.c.
26214 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26215 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26216 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26217 (grub_aout_load) [GRUB_UTIL]: Likewise.
26218 * include/grub/kernel.h (grub_modules_get_end): New proto.
26219 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26220 (SCRATCH_PAD_BOOT): New definition.
26221 (SCRATCH_PAD_DISKBOOT): Likewise.
26222 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26223 * include/grub/sparc64/ieee1275/ieee1275.h
26224 (grub_ieee1275_original_stack): New variable
26225 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26226 New definition
26227 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26228 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26229 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26230 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26231 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26232 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26233 (grub_platform_image_format_t): New type.
26234 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26235 * kern/main.c (grub_modules_get_end)
26236 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26237 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26238 (codestart): Switch stacks.
26239 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26240 variable.
26241 (grub_heap_init): Use grub_modules_get_end.
26242 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26243 stack.
26244 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26245 (main): Likewise.
26246 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26247
d68b491e
TG
262482010-03-14 Thorsten Glaser <tg@mirbsd.org>
26249
26250 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26251
4e02ed50
MK
262522010-03-08 Matt Kraai <kraai@ftbfs.org>
26253
26254 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26255 bug #559005).
26256
1f15fc1e
VS
262572010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * genmoddep.awk: Output all missing symbols and not only first.
26260
fce5d8ff
VS
262612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 * NEWS: Put the date of 1.98 release.
26264
d1e8a02f
VS
262652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26268 ft2build.h.
26269
696fd607
VS
262702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26271
26272 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26273 completition in the middle of string.
26274
33e2e6f3
VS
262752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26276
26277 * util/grub-mkrescue.in: Use mktemp with explicit template.
26278
b1f6d291
VS
262792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26282
2ac227c7
VS
262832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26286 right pointer.
26287
8f9a632b
VS
262882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26289
26290 Fix FreeBSD compilation.
26291
26292 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26293 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26294
60b03859
VS
262952010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26298
48a5a769
VS
262992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26300
26301 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26302
3ab4bd77
VS
263032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26306
d116e0d8
RM
263072010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26308
26309 Support relative image path in theme file.
26310
26311 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26312 (image_set_property): Handle theme_dir and relative path.
26313
c7ef54aa
VS
263142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 * configure.ac: Alias amd64 to x86_64.
26317
fcee14ed
VS
263182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 * NEWS: mention multiboot on EFI.
26321
d0780363
VS
263222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 * kern/main.c (grub_load_modules): Handle errors from init functions of
26325 embeded modules.
26326
41168ea4
VS
263272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 * normal/autofs.c (autoload_fs_module): Handle errors.
26330
b54d93ac
VS
263312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26332
26333 Disable linux.mod on qemu-mips since it's not functional and leads
26334 to compilation failure.
26335
26336 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26337 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26338 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26339 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26340 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26341 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26342 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26343 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26344 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26345 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26346 Reported by: BVK Chaitanya
26347
fc8345da
JU
263482010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26349
26350 * INSTALL: Add gettext as a dependency and add qemu to a new section
26351 "Prerequisites for make-check".
26352
4760f979
CF
263532010-03-04 Christian Franke <franke@computer.org>
26354
26355 * util/grub-pe2elf.c: Add missing include "progname.h".
26356
f209b5b2
VS
263572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26358
26359 * normal/crypto.c (read_crypto_list): Fix a typo.
26360 Reported by: Seth Goldberg.
26361
b4b7be98
VS
263622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 26365 Reported by: Seth Goldberg.
b4b7be98 26366
c0ee0385
VS
263672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26370 ascii.bitmaps.
26371
a8efbf64
VS
263722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26373
26374 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 26375 Reported by: Seth Goldberg.
a8efbf64 26376
08dcd913
VS
263772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26378
26379 * util/i386/efi/grub-install.in: Copy gettext files.
26380
c4d0b332
VS
263812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26384
c6f2fe52
VS
263852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26386
26387 Wait for user entry basing on presence of output rather than on errors.
26388
26389 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26390 (grub_install_newline_hook): Likewise.
26391 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26392 * normal/menu.c (show_menu): Check line_counter to determine presence
26393 of output.
26394 * normal/term.c (grub_normal_line_counter): New variable.
26395 (grub_normal_get_line_counter): New function.
26396 (grub_install_newline_hook): Likewise.
26397
5382b1e4
VS
263982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26401
5519963b
VS
264022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * configure.ac: Update version to 1.98.
26405
72b28631
VS
264062010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 * util/grub.d/10_linux.in (linux_entry): Don't default to
26409 gfxpayload=keep if Linux doesn't support video handover.
26410
c140a180
VS
264112010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 Don't compile video modules on yeeloong since video subsystem is part
26414 of kernel.
26415
26416 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26417 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26418 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26419 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26420 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26421 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26422 * include/grub/bitmap_scale.h: Likewise.
26423 * include/grub/bufio.h: Likewise.
26424 * include/grub/font.h: Likewise.
26425 * include/grub/gfxterm.h: Likewise.
26426 * include/grub/video.h: Likewise.
26427 * include/grub/vbe.h: Don't include video_fb.h.
26428 * video/i386/pc/vbe.c: Include video_fb.h.
26429 * commands/i386/pc/vbetest.c: Include video.h.
26430
a0ca21c2
CW
264312010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26432
26433 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26434 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26435 default entry if GRUB_SAVEDEFAULT=true. This allows using
26436 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26437 saving a new default on every boot.
26438
4a8a763c
VS
264392010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26440
26441 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26442 * normal/term.c (read_terminal_list): Likewise.
26443 * normal/main.c (grub_normal_init_page): Likewise.
26444 (grub_normal_read_line_real): Likewise.
26445
607ffde2
VS
264462010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26447
26448 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26449 memory leak.
26450 Reported by: Seth Goldberg.
26451
2b8fa975
CW
264522010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26453
26454 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26455 duplicate declaration of `start'.
26456
618307dd
VS
264572010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26460 filename.
26461 Reported by: Georgy Buranov
26462
7dd05b96 264632010-02-20 Carles Pina i Estany <carles@pina.cat>
26464
26465 * util/grub-mkrawimage.c (usage): Change string formatting to
26466 improve gettext.
26467
d1484a42
MRA
264682010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26469
26470 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26471 backspace keys.
26472
42b1d186
VS
264732010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26474
26475 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26476 Reported by: Michael Suchanek.
26477
264782010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26479
26480 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26481 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26482
d9f31a41
VS
264832010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26484
26485 Remove any reference to non-free fonts.
26486
26487 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26488 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26489 uses non-free components.
26490 * font/font.c (grub_font_get_name): Remove example name.
26491 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26492 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26493 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26494 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26495
2793c71e
GB
264962010-02-16 Georgy Buranov <gburanov@gmail.com>
26497
26498 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26499
402e3779
VS
265002010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26501
26502 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26503 Double divisor.
26504 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26505 features.
26506 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26507
0dd1e0dd
VS
265082010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26511
6fa7cfce
ST
265122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26513
26514 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26515 * docs/grub.texi (Command-line and menu entry commands): Document play
26516 command.
26517
37c8483b
ST
265182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26519
26520 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26521 parse arguments as inline tempo and notes. Move code for playing notes
26522 to...
26523 (play): ... new function.
26524
14da0fb7
ST
265252010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26526
26527 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26528 grub_uint16_t instead of short.
26529 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26530 disk from little endian to cpu endianness.
26531
04459e70
ST
265322010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26533
26534 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26535 GRUB_TICKS_PER_SECOND instead of 120.
26536
a0876943
VS
265372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26538
26539 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26540 escape sequence after \e.
26541
e29f95dc
VS
265422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26543
26544 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26545 non-ASCII characters.
26546
d27859b2
VS
265472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26548
26549 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26550 set root in single quotes to prevent \, from being unescaped.
26551
bc028f2f
VS
265522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26553
26554 Prevent unknown commands from stopping menuentry execution.
26555
26556 * script/execute.c (grub_script_execute_cmdline): Print error after
26557 unknown command.
26558
095f5f82
VS
265592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26562 Reported by: Pavel Pisa.
26563
8c717950
VS
265642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26565
26566 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26567
904935c3
VS
265682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 Merge grub_ieee1275_map_physical into grub_map and rename to
26571 grub_ieee1275_map
26572
26573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26574 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26575 Remove.
26576 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26577 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26578 necessary.
26579 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26580
5b59a4e3
VS
265812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26582
26583 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26584 opening and not after.
26585
69e137e8
VS
265862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26587
26588 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26589 constants.
26590
2c0fcc36
VS
265912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26592
26593 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26594 (alloc_phys): Use ALIGN_UP instead of align_addr.
26595
8c6052ce
VS
265962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26599
17cec782
VS
266002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26601
26602 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26603
e0128bbd
VS
266042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26605
26606 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26607 verbose dprintf.
26608
ca62070b
VS
266092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26610
26611 Fix over-4GiB seek on sparc64.
26612
26613 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26614 Replace pos_i and pos_lo with pos. All users updated.
26615 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26616 New constant.
26617 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26618 Likewise.
26619 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26620 and pos_lo.
26621
bdca2607
VS
266222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26623
26624 * util/grub-mkrawimage.c (main): Call set_program_name.
26625
da278c4d
VS
266262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26627
26628 Properly align 64-bit targets.
26629
26630 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26631 (generate_image): Use ALIGN_ADDR.
26632
b274d734
VS
266332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 Properly create cross-endian images.
26636
26637 * include/grub/types.h (grub_host_to_target_addr): New macro
26638 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26639
82da2062
VS
266402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26643
7cae4377
VS
266442010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26645
26646 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26647
26648 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26649 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26650 (grub_linux_boot): Divide by 64K when on VESA.
26651
65a533e7
VS
266522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26653
26654 Support GRUB_GFXPAYLOAD_LINUX.
26655
26656 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26657 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26658
dd01d397
VS
266592010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26660
26661 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26662 to show messages instead of discarding them.
26663 Process errors after executing command and not before. Keep old method
26664 too as precaution.
26665
660960d6
VS
266662010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26667
26668 * configure.ac: Check for ft2build.h.
26669
62509f04
VS
266702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26671
26672 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26673
473df63d
VS
266742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26675
26676 * genkernsyms.sh.in: Use TARGET_CC.
26677
c98d2a13
CW
266782010-02-07 Colin Watson <cjwatson@ubuntu.com>
26679
26680 * NEWS: Update.
26681
6e14234c
VS
266822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26683
26684 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26685 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26686 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26687
b255e9cf
YB
266882010-02-07 Yves Blusseau <blusseau@zetam.org>
26689
6e14234c 26690 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26691
98e6959d
VS
266922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 Fix warnings in grub-emu when compiling with maximum warning options.
26695
26696 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26697 (grub_arch_modules_addr): Return 0 and not NULL.
26698 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26699 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26700 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26701 of disk to dsk to avoid shadowing.
74e4934e
VS
26702 (find_free_slot): Fix prototype.
26703 * util/getroot.c (grub_util_is_dmraid): Make static.
26704 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26705 Add missing prototype.
26706 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26707
74e31b5c
VS
267082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26709
26710 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26711 appropriately.
26712
6b2ad14b
VS
267132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26716 code out.
26717
8f891adc
VS
267182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26721 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26722 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26723 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26724 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26725 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26726
74b45184
VS
267272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26728
26729 * include/grub/err.h (grub_err_printf): Don't export.
26730
a4bced77
VS
267312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26734
007d0695
VS
267352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26736
26737 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26738 * kern/misc.c (grub_gettext_dummy): Make static.
26739
b6c0d9c2
VS
267402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26741
26742 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26743 by non-valid ones.
26744 * kern/term.c (grub_putchar): Likewise.
26745
f51a90d0
VS
267462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26747
26748 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26749 buggy hook call and memory leak.
26750
6846cec5
VS
267512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26754
468d69fe
VS
267552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26756
26757 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26758
51906b8c
VS
267592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26760
26761 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26762 modevar.
26763 Return grub_errno on allocation error.
26764
09706ce5
VS
267652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26768
911df80c
YB
267692010-02-06 Yves Blusseau <blusseau@zetam.org>
26770
26771 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26772 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26773
3746a6bc
VS
267742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26775
26776 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26777 non-pxe disk.
26778 (grub_pxefs_open): Likewise.
26779
09706ce5
VS
267802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26783 * util/grub.d/10_kfreebsd.in: Likewise.
26784 * util/grub.d/10_linux.in: Likewise.
26785
7cc192d9
VS
267862010-02-06 Colin D Bennett <colin@gibibit.com>
26787
26788 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26789 (gfxmenu_mod_SOURCES): New variable.
26790 (gfxmenu_mod_CFLAGS): Likewise.
26791 (gfxmenu_mod_LDFLAGS): Likewise.
26792 * include/grub/term.h (grub_term_set_current_output): Declare
26793 argument as const.
26794 * docs/gfxmenu-theme-example.txt: New file.
26795 * gfxmenu/gfxmenu.c: Likewise.
26796 * gfxmenu/gui_box.c: Likewise.
26797 * gfxmenu/gui_canvas.c: Likewise.
26798 * gfxmenu/gui_circular_progress.c: Likewise.
26799 * gfxmenu/gui_image.c: Likewise.
26800 * gfxmenu/gui_label.c: Likewise.
26801 * gfxmenu/gui_list.c: Likewise.
26802 * gfxmenu/gui_progress_bar.c: Likewise.
26803 * gfxmenu/gui_string_util.c: Likewise.
26804 * gfxmenu/gui_util.c: Likewise.
26805 * gfxmenu/icon_manager.c: Likewise.
26806 * gfxmenu/model.c: Likewise.
26807 * gfxmenu/named_colors.c: Likewise.
26808 * gfxmenu/theme_loader.c: Likewise.
26809 * gfxmenu/view.c: Likewise.
26810 * gfxmenu/widget-box.c: Likewise.
26811 * include/grub/gfxmenu_model.h: Likewise.
26812 * include/grub/gfxmenu_view.h: Likewise.
26813 * include/grub/gfxwidgets.h: Likewise.
26814 * include/grub/gui.h: Likewise.
26815 * include/grub/gui_string_util.h: Likewise.
26816 * include/grub/icon_manager.h: Likewise.
26817
268182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 Agglomerate scrolling in gfxterm.
26821
26822 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26823 (grub_virtual_screen_setup): Initialise 'total_screen'.
26824 (write_char): Split to ...
26825 (paint_char): ... this ...
26826 (write_char): ... and this.
26827 (paint_char): Handle delayed scrolling.
26828 (draw_cursor): Likewise.
26829 (scroll_up): Split to ...
26830 (real_scroll): ... this ...
26831 (scroll_up): ... and this.
26832 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26833 characters.
26834 (grub_gfxterm_refresh): Call real_scroll.
26835
268362010-02-06 Colin D Bennett <colin@gibibit.com>
26837
26838 * include/grub/misc.h (grub_iscntrl): New inline function.
26839 (grub_isalnum): Likewise.
26840 (grub_strtol): Likewise.
26841
268422010-02-06 Colin D Bennett <colin@gibibit.com>
26843
26844 * normal/menu_text.c (get_entry_number): Move from here ...
26845 * normal/menu.c (get_entry_number): ... moved here.
26846 * include/grub/menu.h (grub_menu_get_default_entry_index):
26847 New prototype.
26848 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26849 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26850 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26851 (grub_menu_viewer_should_return): Likewise.
26852 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26853 * normal/menu_text.c (run_menu): Enable menu switching.
26854 * normal/menu_viewer.c (should_return): New variable.
26855 (menu_viewer_changed): Likewise.
26856 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26857 (grub_menu_viewer_should_return): New function.
26858 (menuviewer_write_hook): Likewise.
26859 (grub_menu_viewer_init): Likewise.
26860
268612010-02-06 Colin D Bennet <colin@gibibit.com>
268622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26863
26864 Support for gfxterm in a window.
26865
26866 * include/grub/gfxterm.h: New file.
26867 * include/grub/video.h (struct grub_video_rect): New declaration.
26868 (grub_video_rect_t): Likewise.
26869 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26870 (refcount): New variable.
26871 (render_target): Likewise.
26872 (window): Likewise.
26873 (repaint_callback): Likewise.
26874 (grub_virtual_screen_setup): Use 'render_target'.
26875 (init_window): New function.
26876 (grub_gfxterm_init_window): Likewise.
26877 (grub_gfxterm_init): Check reference counter.
26878 Use init_window.
26879 (destroy_window): New function.
26880 (grub_gfxterm_destroy_window): Likewise.
26881 (grub_gfxterm_fini): Check reference counter.
26882 Use destroy_window.
26883 (redraw_screen_rect): Restore viewport.
26884 Use 'render_target' and 'window'.
26885 Call 'repaint_callback'.
26886 (write_char): Use 'render_target'.
26887 (draw_cursor): Likewise.
26888 (scroll_up): Restore viewport.
26889 Use 'render_target' and 'window'.
26890 Call 'repaint_callback'.
26891 (grub_gfxterm_cls): Likewise.
26892 (grub_gfxterm_refresh): Use 'window'.
26893 (grub_gfxterm_set_repaint_callback): New function.
26894 (grub_gfxterm_background_image_cmd): Use 'window'.
26895 (grub_gfxterm_get_term): New function.
26896 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26897
268982010-02-06 Colin D Bennett <colin@gibibit.com>
26899
26900 Bitmap scaling support.
26901
26902 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26903 (bitmap_scale_mod_SOURCES): New variable.
26904 (bitmap_scale_mod_CFLAGS): Likewise.
26905 (bitmap_scale_mod_LDFLAGS): Likewise.
26906 * include/grub/bitmap_scale.h: New file.
26907 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26908 (background_image_cmd_options): New variable.
26909 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26910 (cmd): Rename and change type to ...
26911 (background_image_cmd_handle): ... this. All users updated.
26912 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26913 * video/bitmap_scale.c: New file.
26914
269152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26916
26917 SDL support.
26918
26919 * Makefile.in (LIBSDL): New variable.
26920 (enable_grub_emu_sdl): Likewise.
26921 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26922 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26923 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26924 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26925 * util/sdl.c: New file.
26926
269272010-02-06 Colin D Bennett <colin@gibibit.com>
269282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26929
26930 Double buffering support.
26931
26932 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26933 * include/grub/video.h: Update comment.
26934 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26935 New type.
26936 (grub_video_fb_doublebuf_blit_init): New prototype.
26937 * term/gfxterm.c (scroll_up): Support double buffering.
26938 (grub_gfxterm_refresh): Likewise.
26939 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26940 (grub_video_fb_doublebuf_blit_init): Likewise.
26941 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26942 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26943 'displayed_page', 'render_page' and 'update_screen'.
26944 (grub_video_vbe_fini): Free offscreen buffer.
26945 (doublebuf_pageflipping_commit): New function.
26946 (doublebuf_pageflipping_update_screen): Likewise.
26947 (doublebuf_pageflipping_init): Likewise.
26948 (double_buffering_init): Likewise.
26949 (grub_video_vbe_setup): Enable doublebuffering.
26950 (grub_video_vbe_swap_buffers): Implement.
26951 (grub_video_vbe_set_active_render_target): Handle double buffering.
26952 (grub_video_vbe_get_active_render_target): Likewise.
26953 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26954 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26955 (grub_video_vbe_enable_double_buffering): Likewise.
26956 (grub_video_vbe_swap_buffers): Use update_screen.
26957 (grub_video_set_mode): Use double buffering.
26958
269592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26960
26961 * maintainance/gentrigtables.py: Remove.
26962 * lib/trig.c: Likewise.
26963
26964 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26965
26966 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26967 `trigtables.c'.
26968 (trigtables.c): New rule.
26969 (gentrigtables): Likewise.
26970 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26971
269722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26973
26974 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26975 integer constants.
26976
269772010-02-06 Colin D Bennet <colin@gibibit.com>
26978
26979 Trigonometry support.
26980
26981 * include/grub/trig.h: New file.
26982 * lib/trig.c: Likewise.
26983 * maintainance/gentrigtables.py: Likewise.
26984 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26985 (trig_mod_SOURCES): New variable.
26986 (trig_mod_CFLAGS): Likewise.
26987 (trig_mod_LDFLAGS): Likewise.
26988
5562834e
VS
269892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26992 disk devices.
26993
4f8528fc
VS
269942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26997 error.
26998
2b4068e9
VS
269992010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27000
27001 * util/hostdisk.c (open_device): Don't use partition device when reading
27002 before the partition.
27003 (grub_util_biosdisk_read): Don't read from partition and before the
27004 partition in single operation.
27005 (grub_util_biosdisk_write): Don't write to partition and before the
27006 partition in single operation.
27007
399f6e4d
TL
270082010-02-03 Torsten Landschoff <torsten@debian.org>
27009
27010 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27011 last sectors.
27012
996649b0
VS
270132010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
27016 CDROM reads.
27017 (grub_biosdisk_write): Refuse to write to CDROM.
27018
3b205d4d
VS
270192010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27020
27021 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
27022
61e89d9d
VS
270232010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
27024
27025 * font/font.c (find_glyph): Check that bmp_idx is available before
27026 using it.
27027 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
27028 with (font == NULL).
27029
bf7fcba2
CS
270302010-01-28 Christian Schmitt <chris@ilovelinux.de>
27031
27032 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
27033
f45d2663
BC
270342010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
27035
27036 * include/grub/script_sh.h (sourcecode): Add const qualifier.
27037 * util/grub-script-check.c (getline): Fix empty lines case.
27038
ec1444e6
RM
270392010-01-28 Robert Millan <rmh.grub@aybabtu.com>
27040
27041 * Makefile.in (check): Exit with fail status when one of the tests
27042 fails.
27043 * tests/example_functional_test.c (example_test): Fix reversed assert.
27044 * tests/example_unit_test.c (example_test): Likewise.
27045
2e1cb9bb
CW
270462010-01-28 Colin Watson <cjwatson@ubuntu.com>
27047
27048 * util/grub.d/10_linux.in: This script does not use any of the
27049 contents of gettext.sh, only the external command `gettext', so stop
27050 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
27051 the same prefix as GRUB.)
27052 * util/grub.d/10_kfreebsd.in: Likewise.
27053
63533ab0
VS
270542010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
27057 of the line.
27058
989e1f93
VS
270592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27062 last sectors.
27063
e709ebe2
VS
270642010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27067 having a 4KiB and not 32KiB buffer size.
27068
27dea7ed
RM
270692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * util/hostfs.c: Include `<errno.h>'.
27072 (grub_hostfs_read): Handle errors from fseeko() and fread().
27073
67667b9c
RM
270742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27075
27076 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27077 loop when using read hooks on files whose size isn't sector-aligned.
27078
c294d9d8
RM
270792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 Remove unused parameter.
27082
27083 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27084 (grub_iso9660_open): Remove initialization of `data->length'.
27085
af75a9f1
RM
270862010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27087
27088 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27089 memleak conditions.
27090
254e2ce5 270912010-01-27 Carles Pina i Estany <carles@pina.cat>
27092
27093 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27094 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27095
b510928c 270962010-01-26 Carles Pina i Estany <carles@pina.cat>
27097
27098 * util/bin2h.c (usage): Fix warning (space after backslash).
27099
aa2f9dd2 271002010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 27101
27102 * font/font.c: Include `grub/fontformat.h.
27103 Remove font file format constants.
27104 (grub_font_load): Use the new macros.
27105 * include/grub/fontformat.h: New file.
27106 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27107 (write_font_pf2): Use the new macros.
27108
94e7e712
RM
271092010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27110
27111 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27112 does.
27113
3973a59a
RM
271142010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27115
27116 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27117
27118 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27119 (_start): Macroify `0x7F'.
27120
27121 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27122 (make_install_device): Use "(pxe)" as fallback prefix when booting
27123 via PXE.
27124
42e0cba3
GS
271252010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27126
27127 * configure.ac: Reset LIBS after check for libgcc symbols.
27128
847effd8
CW
271292010-01-25 Colin Watson <cjwatson@ubuntu.com>
27130
27131 * util/hostdisk.c (open_device): Add trailing newline to debug
27132 message.
27133
ea4a7e35
GS
271342010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27135
27136 * configure.ac: Check for `limits.h'.
27137 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27138
67951a53
RM
271392010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27140
27141 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27142 capitalize error strings.
27143
c273d4ce
ST
271442010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27145
27146 * util/grub.d/10_hurd.in: Add a recovery mode.
27147
69be5b74
VS
271482010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 * configure.ac: Check for libgcc symbols with -nostdlib.
27151
fc9e5810
BC
271522010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27153
27154 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27155
4b358c0a
VS
271562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27157
27158 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27159 stack since heap may be unavailable at that point.
27160 (grub_ofconsole_gotoxy): Likewise.
27161
454fcd1c
VS
271622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 * configure.ac: Check for _restgpr_14_x.
27165 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27166 and _savegpr_* prototypes.
27167
566863ca
RM
271682010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27169
27170 Use generic grub_reboot() for i386-efi.
27171
27172 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27173 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27174 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27175
bf86e59a
VS
271762010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27177
27178 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27179 presence of "prefix" variable as it breaks when normal.mod is
27180 embedded.
27181
d645e0f8
VS
271822010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27183
27184 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27185 stack since heap is unavailable at that point.
27186
f9ab2e25
VS
271872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27190 (grub_freebsd_bootinfo): Rewritten.
27191 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27192
01fc7054
VS
271932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27194
27195 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27196
caab4fd6
RM
271972010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27198
27199 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27200 domain now.
27201
67eb1427
FZ
272022010-01-20 Felix Zielcke <fzielcke@z-51.de>
27203
27204 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27205 around for handling "/" to the correct fix. Fix a memory leak. Use
27206 xstrdup instead of strdup.
27207
a9ed4ff3
VS
272082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27209
27210 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27211
272122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
27213
27214 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27215
27216 * font/font.c (struct grub_font): New member 'bmp_idx'.
27217 (font_init): Initialise 'bmp_idx'.
27218 (load_font_index): Fill 'bmp_idx'.
27219 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27220
48209f4f
VS
272212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27224 unnecessary calls.
27225
9f0a4bb7
VS
272262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27227
27228 Move context handling out of the kernel.
27229
27230 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27231 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27232 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27233 * conf/i386-efi.rmk: Likewise.
27234 * conf/i386-ieee1275.rmk: Likewise.
27235 * conf/i386-pc.rmk: Likewise.
27236 * conf/powerpc-ieee1275.rmk: Likewise.
27237 * conf/sparc64-ieee1275.rmk: Likewise.
27238 * conf/x86_64-efi.rmk: Likewise.
27239 * include/grub/env.h: Include grub/menu.h.
27240 (grub_env_var_type): Removed.
27241 (grub_env_var): Replaced field 'type' with 'global'.
27242 (grub_env_find): New prototype.
27243 (grub_env_context_open): Remove EXPORT_FUNC.
27244 (grub_env_context_close): Likewise.
27245 (grub_env_export): Likewise.
27246 (grub_env_set_data_slot): Removed.
27247 (grub_env_get_data_slot): Likewise.
27248 (grub_env_unset_data_slot): Likewise.
27249 (grub_env_unset_menu): New prototype.
27250 (grub_env_set_menu): Likewise.
27251 (grub_env_get_menu): Likewise.
27252 * include/grub/env_private.h: New file.
27253 * include/grub/normal.h (grub_context_init): New prototype.
27254 (grub_context_fini): Likewise.
27255 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27256 * normal/context.c (grub_cmd_export): ... to here.
27257 * kern/env.c: Include env_private.h.
27258 (HASHSZ): Moved to include/grub/env_private.h.
27259 (grub_env_context): Likewise.
27260 (grub_env_sorted_var): Likewise.
27261 (current_context): Renamed from this ...
27262 (grub_current_context): ...to this. 'static' removed. All users updated.
27263 (grub_env_find): Removed 'static'.
27264 (grub_env_context_open): Moved to normal/context.c.
27265 (grub_env_context_close): Likewise.
27266 (grub_env_export): Likewise.
27267 (mangle_data_slot_name): Removed.
27268 (grub_env_set_data_slot): Likewise.
27269 (grub_env_get_data_slot): Likewise.
27270 (grub_env_unset_data_slot): Likewise.
27271 * kern/main.c (grub_set_root_dev): Don't export root.
27272 It will be done later.
27273 (grub_main): Don't export prefix.
27274 It will be done later.
27275 * normal/context.c: New file.
27276 * normal/main.c (free_menu): Use grub_env_unset_menu.
27277 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27278 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27279 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27280 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27281
8dd35b8c
VS
272822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27283
27284 setpci support.
27285
27286 * commands/setpci.c: New file.
27287 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27288 (setpci_mod_SOURCES): New variable.
27289 (setpci_mod_CFLAGS): Likewise.
27290 (setpci_mod_LDFLAGS): Likewise.
27291
449193d5
VS
272922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27293
27294 Byte-addressable PCI configuration space.
27295
27296 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27297 dword address.
27298 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27299 GRUB_PCI_REG_CACHELINE.
27300 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27301 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27302 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27303 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27304 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27305 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27306 grub_pci_make_address.
27307 (lock_rom_area): Likewise.
27308 * commands/lspci.c (grub_lspci_iter): Use macroses
27309 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27310 of grub_pci_make_address.
27311 * disk/ata.c (grub_ata_pciinit): Likewise.
27312 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27313 (GRUB_PCI_REG_VENDOR): Likewise.
27314 (GRUB_PCI_REG_DEVICE): Likewise.
27315 (GRUB_PCI_REG_COMMAND): Likewise.
27316 (GRUB_PCI_REG_STATUS): Likewise.
27317 (GRUB_PCI_REG_REVISION): Likewise.
27318 (GRUB_PCI_REG_CLASS): Likewise.
27319 (GRUB_PCI_REG_CACHELINE): Likewise.
27320 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27321 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27322 (GRUB_PCI_REG_BIST): Likewise.
27323 (GRUB_PCI_REG_ADDRESSES): Likewise.
27324 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27325 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27326 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27327 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27328 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27329 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27330 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27331 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27332 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27333 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27334 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27335 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27336 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27337 (GRUB_PCI_REG_MIN_GNT): Likewise.
27338 (GRUB_PCI_REG_MAX_LAT): Likewise.
27339 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27340 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27341 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 27342 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
27343 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27344 space.
27345
96d73208
RM
273462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27347
27348 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27349 can be reliably determined to be supported.
27350
d4484482
RM
273512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27352
27353 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27354 that VESA is supported.
27355 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27356 supported.
27357
00308ecf
VS
273582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27361
f66924a4
RM
273622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27363
27364 * util/misc.c (make_system_path_relative_to_its_root): Work around
27365 special-casing of "/", as previous incarnation of this routine did.
27366
cbca0ada
VS
273672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27368
27369 Fix any-emu compilation.
27370
27371 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27372 * grub_bin2h_SOURCES: New variable.
27373
34a66d99
RM
273742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27375
27376 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27377
94fabf58
RM
273782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 * util/grub.d/00_header.in: Fix handling of locale_dir.
27381
02cf98ca
VS
273822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27383
27384 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27385 as possible unifont location (Gentoo).
27386 Reported by: Alexander Brüning
27387
327dbcd7
VS
273882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27389
27390 Don't try to generate lists for kernel.img.
27391
27392 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27393 (pkglib_MODULES): Remove kernel.img.
27394 (kernel_img_EXPORTS): Removed.
27395 (kernel_img_RELOCATABLE): New variable.
27396 * conf/x86_64-efi.rmk: Likewise.
27397 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27398
ca467290
VS
273992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27400
27401 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27402 grub_xasprintf or grub_snprintf.
27403 (grub_vsprintf): Likewise.
27404 (grub_snprintf): New proto.
27405 (grub_vsnprintf): Likewise.
27406 (grub_xasprintf): Likewise.
27407 (grub_xvasprintf): Likewise.
27408 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27409 (grub_sprintf): Removed.
27410 (grub_vsnprintf): New function.
27411 (grub_snprintf): Likewise.
27412 (grub_xvasprintf): Likewise.
27413 (grub_xasprintf): Likewise.
27414 (grub_vsprintf): Renamed to ...
27415 (grub_vsnprintf_real): ...this. New argument max_len.
27416
aca655fd
BC
274172010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27418
27419 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27420 fix grub-script-check warning.
27421
7ee92c32
VS
274222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 * include/grub/font.h (grub_font_load): Fix prototype.
27425
f80927ca
VS
274262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27427
27428 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27429
119c50ea
VS
274302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27431
27432 * include/grub/x86_64/at_keyboard.h: New file.
27433
47d5f3c1
VS
274342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27435
27436 * loader/mips/linux.c: Include missing grub/i18n.h.
27437
55ff5266
RM
274382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27439
27440 * normal/menu.c (notify_execution_failure): Clarify error message.
27441
c893cc87
RM
274422009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27443
27444 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27445 return value (and revert all return statements). Update users.
27446
917dd370
CW
274472010-01-20 Dan Merillat <debian@dan.merillat.org>
27448
27449 * kern/device.c (grub_device_iterate): Allocate new part_ent
27450 structure based on sizeof (*p) rather than sizeof (p->next), to
27451 account for structure padding.
27452
27453 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27454 disk is NULL, which might happen for LVM physical volumes with no
27455 LVM signature.
27456
d4a4ee57
RM
274572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27458
27459 * loader/mips/linux.c (grub_cmd_initrd)
27460 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27461
274622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27463
27464 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27465 (grub_video_video_init, grub_video_bitmap_init)
27466 (grub_font_manager_init, grub_term_gfxterm_init)
27467 (grub_at_keyboard_init): New extern declarations.
27468 (grub_machine_init): Initialize gfxterm and at_keyboard.
27469
27470 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27471
27472 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27473 `gfxterm.mod' into core image.
27474
27475 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27476 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27477 (kernel_img_FORMAT): Copy to ...
27478
27479 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27480 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27481 (kernel_img_FORMAT): ... here, and ...
27482
27483 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27484 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27485 (kernel_img_FORMAT): ... here.
27486
27487 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27488 and input (at_keyboard) terminals in kernel.
27489 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27490
27491 (pkglib_MODULES): Remove `pci.mod'.
27492 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27493 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27494 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27495 (at_keyboard_mod_LDFLAGS): Remove variables.
27496
274972010-01-11 Felix Zielcke <fzielcke@z-51.de>
27498
27499 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27500
275012009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27502
27503 * include/grub/mips/libgcc.h: Only export symbols for functions
27504 that libgcc provides.
27505
275062009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 MIPS support.
27509
27510 * bus/bonito.c: New file.
27511 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27512 GRUB_PCI_NUM_DEVICES.
27513 * term/i386/pc/serial.c: Move to ...
27514 * term/serial.c: ... here. All users updated.
27515 * util/i386/pc/grub-mkimage.c: Move to ...
27516 * util/grub-mkrawimage.c: ... here. All users updated.
27517 * term/i386/pc/at_keyboard.c: Move to ...
27518 * term/at_keyboard.c: ... here. All users updated.
27519 * conf/mips-qemu-mips.rmk: New file.
27520 * conf/mips-yeeloong.rmk: Likewise.
27521 * conf/mips.rmk: Likewise.
27522 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27523 mipsel-qemu-mips.
27524 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27525 to port addresses.
27526 (grub_ata_pciinit): Support CS5536.
27527 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27528 * font/font_cmd.c (loadfont_command): Open file before passing it to
27529 grub_font_load.
27530 (pseudo_file_read): New function.
27531 (pseudo_file_close): Likewise.
27532 (pseudo_fs): New structure.
27533 (load_font_module): New function.
27534 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27535 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27536 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27537 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27538 * include/grub/i386/at_keyboard.h: Split into ...
27539 * include/grub/at_keyboard.h: ... this ...
27540 * include/grub/i386/at_keyboard.h: ... and this.
27541 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27542 New prototype.
27543 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27544 updated.
27545 (grub_elf64_size): Likewise.
27546 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27547 filename.
27548 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27549 * include/grub/i386/coreboot/serial.h: Rewritten.
27550 * include/grub/i386/ieee1275/serial.h: Include
27551 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27552 * include/grub/i386/pc/serial.h: Moved from here ...
27553 * include/grub/serial.h: ... to here. All users updated.
27554 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27555 (GRUB_PCI_NUM_BUS): Likewise.
27556 (GRUB_PCI_NUM_DEVICES): Likewise.
27557 (grub_pci_device_map_range): Add missing volatile keyword.
27558 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27559 * include/grub/mips/at_keyboard.h: New file.
27560 * include/grub/mips/cache.h: Likewise.
27561 * include/grub/mips/io.h: Likewise.
27562 * include/grub/mips/kernel.h: Likewise.
27563 * include/grub/mips/libgcc.h: Likewise.
27564 * include/grub/mips/pci.h: Likewise.
27565 * include/grub/mips/qemu-mips/boot.h: Likewise.
27566 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27567 * include/grub/mips/qemu-mips/loader.h: Likewise.
27568 * include/grub/mips/qemu-mips/memory.h: Likewise.
27569 * include/grub/mips/qemu-mips/serial.h: Likewise.
27570 * include/grub/mips/qemu-mips/time.h: Likewise.
27571 * include/grub/mips/relocator.h: Likewise.
27572 * include/grub/mips/time.h: Likewise.
27573 * include/grub/mips/types.h: Likewise.
27574 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27575 * include/grub/mips/yeeloong/boot.h: Likewise.
27576 * include/grub/mips/yeeloong/kernel.h: Likewise.
27577 * include/grub/mips/yeeloong/loader.h: Likewise.
27578 * include/grub/mips/yeeloong/memory.h: Likewise.
27579 * include/grub/mips/yeeloong/pci.h: Likewise.
27580 * include/grub/mips/yeeloong/serial.h: Likewise.
27581 * include/grub/mips/yeeloong/time.h: Likewise.
27582 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27583 * kern/elf.c (grub_elf32_size): New parameter. All users
27584 updated.
27585 (grub_elf64_size): Likewise.
27586 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27587 Load modules before saying "Welcome to GRUB!".
27588 Call grub_refresh after saying "Welcome to GRUB!".
27589 * kern/mips/cache.S: New file.
27590 * kern/mips/cache_flush.S: Likewise.
27591 * kern/mips/dl.c: Likewise.
27592 * kern/mips/init.c: Likewise.
27593 * kern/mips/qemu-mips/init.c: Likewise.
27594 * kern/mips/startup.S: Likewise.
27595 * kern/mips/yeeloong/init.c: Likewise.
27596 * kern/term.c (grub_putcode): Handle NULL terminal.
27597 (grub_getcharwidth): Likewise.
27598 (grub_getkey): Likewise.
27599 (grub_checkkey): Likewise.
27600 (grub_getkeystatus): Likewise.
27601 (grub_getxy): Likewise.
27602 (grub_getwh): Likewise.
27603 (grub_gotoxy): Likewise.
27604 (grub_cls): Likewise.
27605 (grub_setcolorstate): Likewise.
27606 (grub_setcolor): Likewise.
27607 (grub_getcolor): Likewise.
27608 (grub_refresh): Likewise.
27609 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27610 (write_jump): Add hatch nop.
27611 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27612 * lib/mips/setjmp.S: New file.
27613 * loader/mips/linux.c: Likewise.
27614 * term/i386/pc/at_keyboard.c: Move from here ...
27615 * term/at_keyboard.c: ... to here.
27616 * term/i386/pc/serial.c: Moved from here ...
27617 * term/serial.c: ... to here. All users updated.
27618 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27619 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27620 (serial_translate_key_sequence): Avoid deadlock.
27621 (grub_serial_getkey): Handle backspace.
27622 (grub_serial_putchar): Fix newline handling.
27623 * util/i386/pc/grub-mkimage.c: Move from here ...
27624 * util/grub-mkrawimage.c: ... to here. All users updated.
27625 (generate_image): New parameters 'font_path' and 'format'.
27626 Support embedding font.
27627 Use grub_host_to_target* instead of grub_cpu_to_le*.
27628 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27629 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27630 (options): New option "--font".
27631 (usage): Likewise.
27632 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27633 (main): Handle "--font".
27634 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27635 (grub_virtual_screen_setup): Set bg_color_display.
27636 (redraw_screen_rect): Use bg_color_display instead of incorrect
27637 bg_color.
27638 (grub_gfxterm_cls): Likewise.
27639 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27640 Support embedding config file.
27641 (add_segments): Likewise.
27642 (options): New option "--config".
27643 (main): Handle "--config".
27644 * video/sm712.c: New file.
27645
25c2b5b3
RM
276462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27647
27648 Fix parallel builds.
27649
27650 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27651 font.c depend on ascii.h).
27652
276532010-01-12 Carles Pina i Estany <carles@pina.cat>
27654
27655 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27656
276572010-01-11 Carles Pina i Estany <carles@pina.cat>
27658
27659 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27660 By default: disabled.
27661 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27662 parameter.
27663
276642010-01-10 Carles Pina i Estany <carles@pina.cat>
27665
27666 * font/font.c: Update copyright years.
27667 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27668
276692010-01-10 Carles Pina i Estany <carles@pina.cat>
27670
27671 * font/font.c: Include `ascii.h'.
27672 (ASCII_BITMAP_SIZE): New macro.
27673 (ascii_font_glyph): Define.
27674 (ascii_glyph_lookup): New function.
27675 (grub_font_get_string_width): Change comment. If glyph not found, use
27676 ascii_glyph_lookup.
27677 (grub_font_get_glyph_with_fallback): If glyph not available returns
27678 ascii_glyph_lookup.
27679 * util/grub-mkfont.c (file_formats): New enum.
27680 (options): Add `ascii-bitmaps' new option.
27681 (usage): Add `asii-bitmaps' new option.
27682 (write_font_ascii_bitmap): New function.
27683 (write_font): Rename to ...
27684 (write_font_p2): ... this. Remove print_glyphs call.
27685 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27686 used. Call print_glyphs.
27687 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27688
276892010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27690
27691 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27692 (grub_bin2h_SOURCES): New variable.
27693 * util/bin2h.c: New file.
27694
915fc1b8
VS
276952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27696
27697 * include/multiboot.h: Resynced with spec.
27698 * include/multiboot2.h: Likewise.
27699 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27700 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27701
9444b678
RM
277022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27703
27704 * include/grub/term.h (grub_term_register_input,
27705 grub_term_register_output): Check return of terminal init()
27706 routines, and abort if errors are raised.
27707
27708 * commands/terminal.c: Update copyright year.
27709
cba98e8d
RM
277102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27711
27712 * commands/terminal.c (grub_cmd_terminal_input)
27713 (grub_cmd_terminal_output): Check return of terminal init()
27714 routines, and abort if errors are raised.
27715
6f7db5d6
VS
277162010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27717
27718 * include/grub/i386/bsd.h: Fix include pathes.
27719
262bff8d
VS
277202010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27721
27722 Add missing *BSD copyright headers.
27723
27724 * include/grub/aout.h: Add BSD licence.
27725 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27726 * include/grub/i386/freebsd_linker.h: ... here,
27727 * include/grub/i386/freebsd_reboot.h: ... here,
27728 * include/grub/i386/netbsd_bootinfo.h: ... here,
27729 * include/grub/i386/netbsd_reboot.h: ... here,
27730 * include/grub/i386/openbsd_bootarg.h: ... here,
27731 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27732 licence to each file.
27733
b2cab848
RM
277342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27735
27736 * acinclude.m4: Remove `nop' assembly instruction; it's not
27737 implemented by all architectures.
27738
2cb6be4b
RM
277392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27740
27741 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27742 ELILO. This is no longer necessary.
27743
a2eaee15
BC
277442010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27745
27746 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27747
27748 * util/grub-script-check.c: grub-script-check tool.
27749 * conf/common.rmk: Make rules for grub-script-check.
27750
88d17012
RM
277512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27752
27753 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27754 spotting it back in 2008. Shame on me for forgetting he did.
27755
27756 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27757
8040619d
RM
277582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27759
27760 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27761 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27762 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27763 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27764 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27765 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27766
a0c2a0f6
RM
277672010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27768
27769 * include/grub/test.h: Add license header.
27770 * tests/example_functional_test.c: Likewise.
27771 * tests/example_unit_test.c: Likewise.
27772 * tests/lib/functional_test.c: Likewise.
27773 * tests/lib/test.c: Likewise.
27774 * tests/lib/unit_test.c: Likewise.
27775
b0b13907
VS
277762010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27777
27778 Use flag-based instead of hook-based video mode selection and "auto"
27779 keyword.
27780
27781 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27782 (grub_video_set_mode): Changed prototype. All users updated.
27783 (grub_video_check_mode_flag): New inline function.
27784 * video/video.c (parse_modespec): New function.
27785 (grub_video_set_mode): Parse flags and keywords.
27786
ea379330 277872010-01-17 Carles Pina i Estany <carles@pina.cat>
27788
27789 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27790 fprintf call.
27791
e15c215e
FZ
277922010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27793
27794 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27795
409ae1c9 277962010-01-16 Carles Pina i Estany <carles@pina.cat>
27797
27798 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27799 string.
27800 * util/grub-emu.c (usage): Likewise.
27801 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27802 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27803 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27804 * util/i386/pc/grub-setup.c (usage): Likewise.
27805
70a14d3d 278062010-01-16 Carles Pina i Estany <carles@pina.cat>
27807
27808 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27809 the message.
27810 (grub_util_info): Likewise.
27811 (grub_util_error): Likewise.
27812 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27813 and/or new lines in `grub_util_warna', `grub_util_info',
27814 `grub_util_error' calls.
27815 * util/getroot.c: Likewise.
27816 * util/grub-editenv.c: Likewise.
27817 * util/grub-emu.c: Likewise.
27818 * util/grub-fstest.c: Likewise.
27819 * util/grub-mkdevicemap.c: Likewise.
27820 * util/grub-mkfont.c: Likewise.
27821 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27822 * util/grub-mkrelpath.c: Likewise.
27823 * util/grub-pe2elf.c: Likewise.
27824 * util/grub-probe.c: Likewise.
27825 * util/hostdisk.c: Likewise.
27826 * util/i386/efi/grub-mkimage.c: Likewise.
27827 * util/i386/pc/grub-mkimage.c: Likewise.
27828 * util/i386/pc/grub-setup.c: Likewise.
27829 * util/ieee1275/ofpath.c: Likewise.
27830 * util/mkisofs/eltorito.c: Likewise.
27831 * util/mkisofs/rock.c: Likewise.
27832 * util/mkisofs/write.c: Likewise.
27833 * util/raid.c: Likewise.
27834 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27835 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27836
a0b766fc
VS
278372010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 Enable multiboot on non-pc.
27840
27841 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27842 multiboot.mod and multiboot2.mod to ...
27843 * conf/i386.rmk (pkglib_MODULES): ... here.
27844 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27845 Moved to ...
27846 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27847 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27848 Moved to ...
27849 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27850 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27851 Moved to ...
27852 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27853 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27854 Moved to ...
27855 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27856 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27857 relocator.mod.
27858 (ata_mod_SOURCES): Removed.
27859 (ata_mod_CFLAGS): Likewise.
27860 (ata_mod_LDFLAGS): Likewise.
27861 (relocator_mod_SOURCES): Removed.
27862 (relocator_mod_CFLAGS): Likewise.
27863 (relocator_mod_ASFLAGS): Likewise.
27864 (relocator_mod_LDFLAGS): Likewise.
27865 Include i386.mk.
27866 * include/grub/x86_64/multiboot.h: New file.
27867 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27868 Terminate EFI.
27869
884ade56
VS
278702010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 Video multiboot support.
27873
27874 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27875 New prototype.
27876 * include/multiboot.h: Resynced with multiboot specification.
27877 * include/multiboot2.h: Likewise.
27878 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27879 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27880 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27881 (HAS_VGA_TEXT): Likewise.
27882 (accepts_video): New variable.
27883 (grub_multiboot_set_accepts_video): New function.
27884 (grub_multiboot_get_mbi_size): Account for video structures.
27885 (set_video_mode): New function.
27886 (retrieve_video_parameters): Likewise.
27887 (grub_multiboot_make_mbi): Fill video fields.
27888
0d90e8a6
VS
278892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27890
27891 Video driver ids.
27892
27893 * include/grub/video.h (grub_video_driver_id): New type.
27894 (grub_video_adapter): New member 'id'. All users updated.
27895 (grub_video_get_driver_id): New proto.
27896 * video/video.c (grub_video_get_driver_id): New function.
27897
5c71db1b 278982010-01-14 Carles Pina i Estany <carles@pina.cat>
27899
27900 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27901 `var=val'.
27902
cca15b52 279032010-01-14 Carles Pina i Estany <carles@pina.cat>
27904
27905 * normal/cmdline.c (print_completion): Gettextizze.
27906
c586fbb2 279072001-01-14 Carles Pina i Estany <carles@pina.cat>
27908
27909 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27910
ba2f6848 279112010-01-14 Carles Pina i Estany <carles@pina.cat>
27912
27913 * gettext/gettext.c (grub_gettext_translate): Push and pop
27914 grub_errno.
27915 (grub_gettext_delete_list): Change comment style.
27916 * kern/err.c (grub_error): Gettextizze.
27917 (grub_fatal): Gettextizze.
27918
0a46429a
RM
279192010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27920
27921 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27922 (grub_linux16_real_boot): ... this.
27923 * kern/i386/loader.S: Likewise.
27924 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27925 (grub_linux16_boot): New function. Switches to text mode and calls
27926 grub_linux16_real_boot().
27927
27928 * loader/i386/bsd.c: Include `<grub/video.h>'.
27929 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27930 text mode before calling grub_unix_real_boot().
27931
27932 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27933 (grub_multiboot_boot): Switch to text mode before calling
27934 grub_relocator32_boot().
27935
27936 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27937 (grub_chainloader_boot): Switch to text mode before calling
27938 grub_chainloader_real_boot().
27939
d6f93a66
RM
279402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
279412010-01-05 Colin Watson <cjwatson@ubuntu.com>
27942
27943 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27944 non-empty value.
27945
279462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
279472010-01-05 Colin Watson <cjwatson@ubuntu.com>
27948
27949 * util/grub.d/00_header.in: Define a "savedefault" function for use
27950 in menu entries.
27951 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27952
279532010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
279542010-01-05 Colin Watson <cjwatson@ubuntu.com>
27955
27956 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27957 saved_entry if boot_once is unset.
27958 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27959 previous saved entry (i.e. grub-reboot).
27960
279612009-12-08 Colin Watson <cjwatson@ubuntu.com>
27962
27963 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27964
279652009-12-08 Colin Watson <cjwatson@ubuntu.com>
27966
27967 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27968 `var=val'.
27969 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27970
279712009-12-08 Colin Watson <cjwatson@ubuntu.com>
27972
27973 * util/grub-reboot.in: Fix --version output.
27974 * util/grub-set-default.in: Likewise.
27975
279762009-12-08 Colin Watson <cjwatson@ubuntu.com>
27977
27978 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27979 blocks.
27980
279812009-12-08 Colin Watson <cjwatson@ubuntu.com>
27982
27983 * util/grub.d/00_header.in: Quote the value assigned to `default',
27984 in case it contains spaces.
27985
279862009-12-08 Colin Watson <cjwatson@ubuntu.com>
27987
27988 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27989 `save_default_entry' call from the macosx case to the linux case.
27990
279912009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
279922009-10-25 Colin Watson <cjwatson@ubuntu.com>
27993
27994 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27995 in `chosen' environment variable.
27996 * normal/menu_text.c (get_entry_number): Check if the variable
27997 matches the title of a menu entry.
27998 (run_menu): Pass menu to get_entry_number.
27999
28000 * util/grub-reboot.in: New file.
28001 * util/grub-set-default.in: New file.
28002 * conf/common.rmk (grub-reboot): New utility.
28003 (grub-set-default): New utility.
28004
28005 * util/grub-mkconfig_lib.in (save_default_entry): New function.
28006 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
28007 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
28008 move it to `saved_entry' for the next boot. Load environment on
28009 initialisation.
28010 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
28011 * util/grub.d/10_hurd.in: Likewise.
28012 * util/grub.d/10_linux.in (linux_entry): Likewise.
28013 * util/grub.d/10_windows.in: Likewise.
28014 * util/grub.d/30_os-prober.in: Likewise.
28015
28016 * util/grub-install.in: Create environment block.
28017 * util/i386/efi/grub-install.in: Likewise.
28018 * util/ieee1275/grub-install.in: Likewise.
28019 * util/sparc64/ieee1275/grub-install.in: Likewise.
28020
0934d184
BC
280212010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
28022
28023 Unit testing framework for GRUB.
28024
28025 * Makefile.in: Test framework build rules for 'make check'.
28026 * conf/tests.rmk: Build rules for individual tests and framework.
28027
28028 * include/grub/test.h: Header file for whitebox tests.
28029 * tests/lib/functional_test.c: Framework support for whitebox
28030 functional tests.
28031 * tests/lib/test.c: Common whitebox testing code for unit and
28032 functional tests.
28033 * tests/lib/unit_test.c: Framework support for whitebox unit
28034 tests.
28035
28036 * tests/util/grub-shell-tester.in: Support utility for grub-script
28037 tests.
28038 * tests/util/grub-shell.in: Utility to execute grub-script
28039 commands in a Qemu instance.
28040
28041 * tests/example_functional_test.c: Example whitebox functional
28042 test.
28043 * tests/example_grub_script_test.in: Example grub-script test.
28044 * tests/example_scripted_test.in: Example scripted test.
28045 * tests/example_unit_test.c: Example whitebox unit test.
28046
9c4ffeeb
VS
280472010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
28048
28049 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
28050 Add loader/i386/multiboot_mbi.c.
28051 (multiboot2_mod_SOURCES): Likewise.
28052 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
28053 (multiboot2_mod_SOURCES): Likewise.
28054 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
28055 (grub_multiboot_make_mbi): Likewise.
28056 (grub_multiboot_free_mbi): Likewise.
28057 (grub_multiboot_init_mbi): Likewise.
28058 (grub_multiboot_add_module): Likewise.
28059 (grub_multiboot_set_bootdev): Likewise.
28060 * loader/i386/multiboot.c (mbi): Removed.
28061 (mbi_dest): Likewise.
28062 (alloc_mbi): New variable.
28063 (grub_multiboot_payload_size): Removed. All users updated.
28064 (grub_multiboot_pure_size): New variable.
28065 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28066 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28067 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28068 (grub_fill_multiboot_mmap): Likewise.
28069 (grub_multiboot_get_bootdev): Likewise.
28070 (grub_multiboot): Use multiboot_mbi functions.
28071 * loader/i386/multiboot_mbi.c: New file.
28072
17383dfe
VS
280732010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28076 it would result in module crash.
28077
c1f28820
VS
280782010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28079
28080 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28081 (grub_ofconsole_getwh): Split to ...
28082 (grub_ofconsole_getwh): ... this.
28083 (grub_ofconsole_dimensions): ...and this.
28084 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28085
58655a16
RM
280862010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28087
28088 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28089
10891398
VS
280902010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 * loader/i386/pc/multiboot2.c: Removed stalled file.
28093
0b8a223c
VS
280942010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28097 Reported by: Grégoire Sutre
28098
92ab12b0
RM
280992010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28100
28101 * util/misc.c (canonicalize_file_name): New function.
28102 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28103 instead of realpath().
28104
a788afb6
CW
281052010-01-11 Colin Watson <cjwatson@ubuntu.com>
28106
28107 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28108 and make it clearer that it's optional. Based on confusion
28109 witnessed on IRC.
28110
ffa8e3d2
VS
281112010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28112
28113 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28114 in premature implicit newline.
28115
e9060a9d
VS
281162010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28119 which resulted in garbled command line at the end of screen.
28120
f0d0c0b7
RM
281212010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28122
28123 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28124 initialization with similar approach as with other Linux loaders.
28125
0e60bae7
RM
281262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28127
28128 Fix i386-ieee1275 build.
28129
28130 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28131 and grub_term_height() for video_{width,height} initialization.
28132
281332010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
28134
28135 Fix grub-emu build.
28136
28137 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28138
cdb3f378
RM
281392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
281402010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28141
28142 Support for multiple terminals.
28143
28144 * Makefile.in (pkglib_DATA): terminal.lst.
28145 (terminal.lst): New target.
28146 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28147 (GRUB_MOD_INIT(handler)): Likewise.
28148 (GRUB_MOD_FINI(handler)): Likewise.
28149 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28150 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28151 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28152 (grub_cmd_sleep): Use grub_term_save_pos.
28153 * commands/terminal.c: New file.
28154 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28155 commands/terminal.c and lib/charset.c.
28156 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28157 (pkglib_MODULES): Add terminal.mod.
28158 (terminal_mod_SOURCES): New variable.
28159 (terminal_mod_CFLAGS): Likewise.
28160 (terminal_mod_LDFLAGS): Likewise.
28161 * genhandlerlist.sh: Don't handle terminals.
28162 * genmk.rb: Generate terminal-*.lst.
28163 * genterminallist.sh: New file.
28164 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28165 (grub_is_valid_utf8): Likewise.
28166 (grub_utf8_to_ucs4_alloc): Likewise.
28167 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28168 (grub_menu_register_viewer): Changed argument.
28169 (grub_menu_try_text): New proto.
28170 (grub_gfxmenu_try_hook): New declaration.
28171 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28172 (grub_menu_init_page): Additional argument term.
28173 (grub_normal_init_page): Likewise.
28174 (grub_cmdline_get): Arguments simplified.
28175 (grub_utf8_to_ucs4_alloc): Removed.
28176 (grub_print_ucs4): Additional argument term.
28177 (grub_getstringwidth): Likewise.
28178 (grub_print_message_indented): Likewise.
28179 (grub_menu_text_register_instances): New proto.
28180 (grub_show_menu): Likewise.
28181 (read_terminal_list): Likewise.
28182 (grub_set_more): Likewise.
28183 * include/grub/parser.h: Include handler.h.
28184 * include/grub/reader.h: Rewritten.
28185 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28186 (GRUB_TERM_WIDTH): Changed to function.
28187 (GRUB_TERM_HEIGHT): Likewise.
28188 (GRUB_TERM_BORDER_WIDTH): Likewise.
28189 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28190 (GRUB_TERM_NUM_ENTRIES): Likewise.
28191 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28192 (GRUB_TERM_CURSOR_X): Likewise.
28193 (grub_term_input_class): Likewise.
28194 (grub_term_output_class): Likewise.
28195 (grub_term_outputs_disabled): New declaration.
28196 (grub_term_inputs_disabled): Likewise.
28197 (grub_term_outputs): Likewise.
28198 (grub_term_inputs): Likewise.
28199 (grub_term_register_input): Rewritten.
28200 (grub_term_register_output): Likewise.
28201 (grub_term_unregister_input): Likewise.
28202 (grub_term_unregister_output): Likewise.
28203 (FOR_ACTIVE_TERM_INPUTS): New macro.
28204 (FOR_DISABLED_TERM_INPUTS): Likewise.
28205 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28206 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28207 * include/grub/terminfo.h: Add oterm argument to all protypes.
28208 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28209 Use grub_rescue_run.
28210 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28211 All users updated.
28212 * kern/reader.c: Removed. All users updated.
28213 * kern/rescue_reader.c (grub_rescue_init): Removed.
28214 (grub_rescue_reader): Likewise.
28215 (grub_register_rescue_reader): Likewise.
28216 (grub_rescue_run): New function based on kern/reader.c.
28217 * kern/term.c: Adapted for multiterm.
28218 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28219 (grub_is_valid_utf8): Likewise.
28220 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28221 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28222 right terminal.
28223 * loader/i386/linux.c (grub_linux_boot): Likewise.
28224 * normal/auth.c (grub_username_get): New function.
28225 (grub_auth_check_authentication): Use grub_username_get.
28226 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28227 * normal/color.c: Adapt for multiterm.
28228 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28229 (grub_normal_init_page): Additional argument term.
28230 (read_lists): Call read_terminal_lists.
28231 (grub_enter_normal_mode): Call grub_cmdline_run.
28232 Handle grub_normal_exit_level.
28233 (grub_cmd_normal): Make reentrant.
28234 (grub_cmd_normal_exit): New function.
28235 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28236 * normal/menu.c: Adapt for multiterm.
28237 * normal/menu_entry.c: Likewise.
28238 * normal/menu_text.c: Likewise.
28239 * normal/menu_viewer.c: Removed. All users updated.
28240 * normal/term.c: New file.
28241 * util/console.c: Change order of includes to workaround a bug in
28242 ncurses headers.
28243 * term/terminfo.c: New argument oterm on all exported functions.
28244 All users updated.
28245 * util/grub-editenv.c (grub_term_input_class): Removed.
28246 (grub_term_output_class): Likewise.
28247
1a064917
RM
282482010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28249
28250 Make loader output a bit more user-friendly.
28251
28252 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28253 is being loaded. Likewise for the Hurd.
28254
28255 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28256 that kernel of FreeBSD ${version} is being loaded.
28257
28258 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28259 grub_dprintf().
28260 (grub_cmd_initrd): Likewise.
28261 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28262 that Linux ${version} is being loaded. Likewise for initrd.
28263
5ce0a83a 282642010-01-09 Carles Pina i Estany <carles@pina.cat>
28265
28266 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28267
809bbfeb 282682010-01-08 Carles Pina i Estany <carles@pina.cat>
28269
28270 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28271 (GRUB_MOD_INIT): Gettextizze.
28272 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28273 (GRUB_MOD_INIT): Gettextizze.
28274 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28275 (grub_cmd_linux): Capitalise Linux.
28276 (GRUB_MOD_INIT): Gettextizze.
28277 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28278 (grub_cmd_linux): Capitalise Linux.
28279 (GRUB_MOD_INIT): Gettextizze.
28280 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28281 (grub_cmd_linux): Capitalise Linux.
28282 (GRUB_MOD_INIT): Gettextizze.
28283 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28284 (GRUB_MOD_INIT): Gettextizze.
28285 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28286 (grub_cmd_linux): Capitalise Linux.
28287 (GRUB_MOD_INIT): Gettextizze.
28288 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28289 (grub_cpu_xnu_init): Gettextizze.
28290 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28291 (GRUB_MOD_INIT): Gettextizze.
28292 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28293 (GRUB_MOD_INIT): Gettextizze.
28294 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28295 (grub_linux_load64): Capitalise Linux.
28296 (GRUB_MOD_INIT): Gettextizze.
28297 * loader/xnu.c: Include `<grub/i18n.h>'.
28298 (GRUB_MOD_INIT): Gettextizze.
28299 * po/POTFILES: Add `loader/efi/appleloader.c',
28300 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28301 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28302 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28303 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28304 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28305 and `loader/xnu.c'.
28306
b394b2ca
RM
283072010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28308
28309 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28310
283112010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
28312
28313 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28314 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28315 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28316
bc8b32b3
RM
283172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28318
28319 Reset Multiboot 2 support. New loader implements the draft in
28320 /branches/multiboot2 and shares as much code as possible with the
28321 production Multiboot 1 implementation.
28322
28323 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28324 * loader/multiboot2.c: Likewise.
28325 * loader/i386/multiboot_helper.S: Likewise.
28326 * include/multiboot2.h: Replace with latest version from the draft
28327 in /branches/multiboot2.
28328
28329 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28330 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28331 and `loader/multiboot2.c'.
28332 (pkglib_MODULES): Add `multiboot2.mod'.
28333 (multiboot2_mod_SOURCES): New variable.
28334 (multiboot2_mod_LDFLAGS): Likewise.
28335 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28336
28337 * conf/i386-pc.rmk: Likewise.
28338
28339 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28340 (multiboot_mod_SOURCES): Remove variable.
28341 (multiboot_mod_LDFLAGS): Likewise.
28342 (multiboot_mod_CFLAGS): Likewise.
28343
28344 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28345 `<multiboot2.h>' instead of `<multiboot.h>'.
28346 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28347 (MULTIBOOT_HEADER_MAGIC): New macros.
28348
28349 * loader/multiboot_loader.c (module_version_status): Remove variable.
28350 (find_multi_boot2_header): Remove function.
28351 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28352 logic. Always check for the Multiboot version we're compiling for.
28353 (grub_cmd_module_loader): Likewise.
28354 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28355 command instead of `multiboot'.
28356
5d2c52b8
RM
283572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28358
28359 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28360 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28361 all users.
28362
53108d92
RM
283632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
283642010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28365
28366 Fix breakage introduced with previous commit.
28367
28368 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28369 commands.
28370 * normal/handler.c (read_handler_list): Revert part of previous commit
28371 affecting this file.
28372 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28373 (grub_normal_execute): ... here.
28374
e2e936b2
RM
283752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28376
28377 Merge prefix-redefinition-fix branch.
28378
28379 * normal/autofs.c (read_fs_list): Make function capable of being
28380 run multiple times, gracefuly replacing the previous data
28381 structures.
28382 * normal/dyncmd.c (read_command_list): Likewise.
28383 * normal/handler.c (read_handler_list): Likewise.
28384 * normal/main.c (read_lists): New function. Calls all the
28385 list reading functions.
28386 (grub_normal_execute): Use read_lists() instead of calling all
28387 list reading functions explicitly. Register read_lists() as a
28388 variable hook attached to ${prefix}.
28389
607a3701
VS
283902010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28391
28392 Merge crypto branch.
28393
28394 * Makefile.in (pkglib_DATA): Add crypto.lst.
28395 (crypto.lst): New target.
28396 * commands/hashsum.c: New file.
28397 * commands/password.c (check_password): Use grub_crypto_memcmp.
28398 * commands/password_pbkdf2.c: New file.
28399 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28400 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28401 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28402 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28403 -I$(srcdir)/lib/libgcrypt_wrap.
28404 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28405 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28406 password_pbkdf2.mod.
28407 (crypto_mod_SOURCES): New variable.
28408 (crypto_mod_CFLAGS): Likewise.
28409 (crypto_mod_LDFLAGS): Likewise.
28410 (hashsum_mod_SOURCES): New variable.
28411 (hashsum_mod_CFLAGS): Likewise.
28412 (hashsum_mod_LDFLAGS): Likewise.
28413 (pbkdf2_mod_SOURCES): New variable.
28414 (pbkdf2_mod_CFLAGS): Likewise.
28415 (pbkdf2_mod_LDFLAGS): Likewise.
28416 (password_pbkdf2_mod_SOURCES): New variable.
28417 (password_pbkdf2_mod_CFLAGS): Likewise.
28418 (password_pbkdf2_mod_LDFLAGS): Likewise.
28419 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28420 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28421 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28422 Include conf/gcry.rmk.
28423 * include/grub/auth.h: Rewritten.
28424 * include/grub/crypto.h: New file.
28425 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28426 * include/grub/normal.h (read_crypto_list): New prototype.
28427 * lib/crypto.c: New file.
28428 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28429 * lib/pbkdf2.c: Likewise.
28430 * normal/auth.c (grub_auth_strcmp): Removed.
28431 (grub_iswordseparator): Likewise.
28432 (grub_auth_strword): Likewise.
28433 (is_authenticated): Use grub_strword.
28434 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28435 and grub_strword. Pass entered password to authentication callback.
28436 * normal/crypto.c: New file.
28437 * normal/main.c: Call read_crypto_list.
28438 * util/grub-mkpasswd-pbkdf2.c: New file.
28439 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28440
42841caa
VS
284412010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28442
28443 Fix descent and ascent calculation.
28444
28445 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28446 (options): New option "asce".
28447 (usage): Likewise.
28448 (add_char): Ignore invalid glyphs for descent calculation.
28449 Calculate ascent from actual content.
28450 (print_glyphs): Use 'asce'.
28451 (write_font): Likewise. Allow ascent override.
28452 (main): Handle "asce" option.
28453
e7730de7 284542010-01-06 Carles Pina i Estany <carles@pina.cat>
28455
28456 * kern/err.c: Include `<grub/i18n.h>'.
28457 (grub_print_error): Add full stop. Gettextizze.
28458 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28459 (grub_bsd_load_elf): Capitalise ELF.
28460 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28461 (grub_cmd_freebsd_module): Likewise.
28462 (grub_cmd_freebsd_module_elf): Likewise.
28463 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28464
40e3a41f 284652010-01-06 Carles Pina i Estany <carles@pina.cat>
28466
28467 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28468 * commands/search_file.c (HELP_MESSAGE): New macro.
28469 * commands/search_label.c (HELP_MESSAGE): Likewise.
28470 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28471 * po/POTFILES: Add `commands/search_file.c',
28472 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28473 `commands/search.c'.
28474
83507e68
RM
284752010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28476
28477 * config.rpath: Update from Gnulib.
28478
465c787b
YB
284792010-01-05 Yves Blusseau <blusseau@zetam.org>
28480
28481 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28482
6581dd3a
YB
284832010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28484
28485 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28486
3bff18c5
CW
284872010-01-05 Colin Watson <cjwatson@ubuntu.com>
28488
28489 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28490 arguments to fread so that we get a return value in bytes, rather
28491 than something that will normally be rounded down to 0.
28492 Adjust error handling to avoid producing garbage when size_t is not
28493 the same size as long long.
28494
a1368118
CW
284952010-01-05 Colin Watson <cjwatson@ubuntu.com>
28496
28497 * util/mkisofs/write.c (padblock_write): Check return value of
28498 fread.
28499
7c302978
RM
285002010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28501
28502 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28503 floppy images now.
28504
28505 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28506
e33ace06
RM
285072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28508
28509 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28510 instead of manual alignment.
28511 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28512 verbose). Avoid attempts to read past end of the device
28513 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28514 but GRUB_DISK_CACHE_SIZE may exceed that).
28515
4b856776
RM
285162010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28517
28518 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28519 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28520 it to upper layer.
28521
52c2d97f
VS
285222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28523
28524 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28525 New constant.
28526 (grub_efi_piwg_device_path): New structure
28527 (grub_efi_piwg_device_path_t): New type.
28528 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28529 (devpath_1): Transform to a structure. All users updated.
28530 (devpath_2): Likewise.
28531 (devpath_3): Likewise.
28532 (devpath_4): Likewise.
28533 (devpath_5): Likewise.
28534
98ff6a54
VS
285352010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28536
28537 * loader/efi/appleloader.c: Restored. Update all users.
28538
3a73dcb6
RM
285392010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28540
28541 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28542
28543 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28544 (struct boot_blocklist): Move from here ...
28545 * include/grub/i386/pc/boot.h [ASM_FILE]
28546 (struct grub_boot_blocklist): ... to here. Update all users.
28547 (setup): Only initialize `start' member of `first_block'
28548 structure. Add assert() calls to verify the other members.
28549
28550 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28551 (generate_image): Fix broken blocklist length initialization.
28552 Add assert() call to verify blocklist `segment' field.
28553
ab0eeb0c
RM
285542010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28555
28556 * loader/efi/appleloader.c: Remove. Update all users.
28557
58bc8bd5
RM
285582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28559
28560 * boot/i386/pc/boot.S: Update copyright year.
28561 * boot/i386/pc/cdboot.S: Likewise.
28562 * boot/i386/pc/diskboot.S: Likewise.
28563 * boot/i386/pc/lnxboot.S: Likewise.
28564 * boot/i386/pc/pxeboot.S: Likewise.
28565 * bus/pci.c: Likewise.
28566 * commands/cmp.c: Likewise.
28567 * commands/help.c: Likewise.
28568 * commands/hexdump.c: Likewise.
28569 * commands/i386/pc/halt.c: Likewise.
28570 * commands/i386/pc/play.c: Likewise.
28571 * commands/i386/pc/vbeinfo.c: Likewise.
28572 * commands/ls.c: Likewise.
28573 * commands/test.c: Likewise.
28574 * disk/dmraid_nvidia.c: Likewise.
28575 * disk/i386/pc/biosdisk.c: Likewise.
28576 * disk/ieee1275/nand.c: Likewise.
28577 * disk/ieee1275/ofdisk.c: Likewise.
28578 * disk/lvm.c: Likewise.
28579 * disk/raid.c: Likewise.
28580 * disk/raid6_recover.c: Likewise.
28581 * disk/scsi.c: Likewise.
28582 * fs/affs.c: Likewise.
28583 * fs/cpio.c: Likewise.
28584 * fs/ext2.c: Likewise.
28585 * fs/hfs.c: Likewise.
28586 * fs/iso9660.c: Likewise.
28587 * fs/ntfs.c: Likewise.
28588 * fs/sfs.c: Likewise.
28589 * fs/udf.c: Likewise.
28590 * fs/ufs.c: Likewise.
28591 * fs/xfs.c: Likewise.
28592 * gencmdlist.sh: Likewise.
28593 * genmk.rb: Likewise.
28594 * include/grub/disk.h: Likewise.
28595 * include/grub/efi/api.h: Likewise.
28596 * include/grub/efi/efi.h: Likewise.
28597 * include/grub/efi/pe32.h: Likewise.
28598 * include/grub/elf.h: Likewise.
28599 * include/grub/fs.h: Likewise.
28600 * include/grub/i386/at_keyboard.h: Likewise.
28601 * include/grub/i386/pc/memory.h: Likewise.
28602 * include/grub/i386/pc/vbe.h: Likewise.
28603 * include/grub/i386/pci.h: Likewise.
28604 * include/grub/i386/tsc.h: Likewise.
28605 * include/grub/ieee1275/ieee1275.h: Likewise.
28606 * include/grub/ntfs.h: Likewise.
28607 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28608 * include/grub/sparc64/libgcc.h: Likewise.
28609 * include/grub/symbol.h: Likewise.
28610 * include/grub/types.h: Likewise.
28611 * include/multiboot2.h: Likewise.
28612 * io/gzio.c: Likewise.
28613 * kern/device.c: Likewise.
28614 * kern/disk.c: Likewise.
28615 * kern/efi/efi.c: Likewise.
28616 * kern/efi/mm.c: Likewise.
28617 * kern/elf.c: Likewise.
28618 * kern/file.c: Likewise.
28619 * kern/i386/dl.c: Likewise.
28620 * kern/i386/pc/init.c: Likewise.
28621 * kern/i386/pc/startup.S: Likewise.
28622 * kern/ieee1275/ieee1275.c: Likewise.
28623 * kern/ieee1275/init.c: Likewise.
28624 * kern/main.c: Likewise.
28625 * kern/mm.c: Likewise.
28626 * kern/powerpc/dl.c: Likewise.
28627 * kern/sparc64/dl.c: Likewise.
28628 * kern/x86_64/dl.c: Likewise.
28629 * lib/hexdump.c: Likewise.
28630 * loader/efi/appleloader.c: Likewise.
28631 * loader/i386/ieee1275/linux.c: Likewise.
28632 * loader/i386/pc/chainloader.c: Likewise.
28633 * loader/i386/pc/linux.c: Likewise.
28634 * loader/i386/pc/multiboot2.c: Likewise.
28635 * loader/ieee1275/multiboot2.c: Likewise.
28636 * loader/multiboot2.c: Likewise.
28637 * loader/multiboot_loader.c: Likewise.
28638 * loader/powerpc/ieee1275/linux.c: Likewise.
28639 * normal/completion.c: Likewise.
28640 * normal/menu_entry.c: Likewise.
28641 * partmap/apple.c: Likewise.
28642 * util/grub.d/10_hurd.in: Likewise.
28643 * util/hostfs.c: Likewise.
28644 * video/readers/png.c: Likewise.
28645
e2d70b5c
CW
286462010-01-03 Colin Watson <cjwatson@ubuntu.com>
28647
28648 * include/grub/misc.h (GNUC_PREREQ): New macro.
28649 (ATTRIBUTE_ERROR): New macro.
28650 * include/grub/list.h (grub_bad_type_cast_real): Use
28651 ATTRIBUTE_ERROR.
28652
a173283f 286532010-01-03 Carles Pina i Estany <carles@pina.cat>
28654
28655 * normal/menu_text.c (print_message): Change messages.
28656
7fa7ff74 286572010-01-03 Carles Pina i Estany <carles@pina.cat>
28658
28659 * normal/menu_entry.c (store_completion): Gettextizze.
28660
136d24f6 286612010-01-03 Carles Pina i Estany <carles@pina.cat>
28662
28663 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28664
f936862e 286652010-01-03 Carles Pina i Estany <carles@pina.cat>
28666
28667 * po/POTFILES: Sort correctly.
28668
29c44ad1 286692010-01-03 Carles Pina i Estany <carles@pina.cat>
28670
28671 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28672 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28673 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28674 full stop.
28675 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28676 summary. Gettextizze the strings.
28677 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28678 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28679 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28680 full stop.
28681 (GRUB_MOD_INIT): Remove command name from summary.
28682 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28683 summary.
28684 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28685 * term/i386/pc/serial.c (options): Add full stops.
28686 (GRUB_MOD_INIT): Remove command name from the summary.
28687
77a79592 286882010-01-03 Carles Pina i Estany <carles@pina.cat>
28689
28690 * commands/acpi.c: Gettextizze help strings and/or options. Include
28691 `grub/i18n.h' if needed.
28692 * commands/blocklist.c: Likewise.
28693 * commands/boot.c: Likewise.
28694 * commands/cat.c: Likewise.
28695 * commands/cmp.c: Likewise.
28696 * commands/configfile.c: Likewise.
28697 * commands/crc.c: Likewise.
28698 * commands/date.c: Likewise.
28699 * commands/echo.c: Likewise.
28700 * commands/efi/fixvideo.c: Likewise.
28701 * commands/efi/loadbios.c: Likewise.
28702 * commands/gptsync.c: Likewise.
28703 * commands/halt.c: Likewise.
28704 * commands/handler.c: Likewise.
28705 * commands/hdparm.c: Likewise.
28706 * commands/hexdump.c: Likewise.
28707 * commands/i386/cpuid.c: Likewise.
28708 * commands/i386/pc/drivemap.c: Likewise.
28709 * commands/i386/pc/halt.c: Likewise.
28710 * commands/i386/pc/pxecmd.c: Likewise.
28711 * commands/i386/pc/vbeinfo.c: Likewise.
28712 * commands/i386/pc/vbetest.c: Likewise.
28713 * commands/ieee1275/suspend.c: Likewise.
28714 * commands/keystatus.c: Likewise.
28715 * commands/loadenv.c: Likewise.
28716 * commands/ls.c: Likewise.
28717 * commands/lsmmap.c: Likewise.
28718 * commands/lspci.c: Likewise.
28719 * commands/memrw.c: Likewise.
28720 * commands/minicmd.c: Likewise.
28721 * commands/parttool.c: Likewise.
28722 * commands/password.c: Likewise.
28723 * commands/probe.c: Likewise.
28724 * commands/read.c: Likewise.
28725 * commands/reboot.c: Likewise.
28726 * commands/search.c: Likewise.
28727 * commands/sleep.c: Likewise.
28728 * commands/test.c: Likewise.
28729 * commands/true.c: Likewise.
28730 * commands/usbtest.c: Likewise.
28731 * commands/videotest.c: Likewise.
28732 * commands/xnu_uuid.c: Likewise.
28733 * disk/loopback.c: Likewise.
28734 * hello/hello.c: Likewise.
28735 * loader/i386/bsd.c: Likewise.
28736 * term/i386/pc/serial.c: Likewise.
28737 * po/POTFILES: Add new files.
28738
da8d5c53
CW
287392010-01-02 Colin Watson <cjwatson@ubuntu.com>
28740
28741 * term/i386/pc/at_keyboard.c
28742 (keyboard_controller_wait_untill_ready): Rename to ...
28743 (keyboard_controller_wait_until_ready): ... this. Update all users.
28744
33937904 287452010-01-01 Carles Pina i Estany <carles@pina.cat>
28746
28747 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28748 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28749 string using string width.
28750 * normal/menu_text.c (grub_print_message_indented): Use
28751 grub_print_spaces and not print_spaces.
28752 (print_timeout): Likewise.
28753 (print_spaces): Move to...
28754 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28755
3fd3b8d8
RM
287562010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28757
28758 Import from Gnulib.
28759
28760 * gnulib/getdelim.c: New file.
28761 * gnulib/getline.c: Likewise.
28762
33433555
VS
287632009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28764
28765 * include/grub/list.h (grub_assert_fail): Removed.
28766 (grub_bad_type_cast_real): New function.
28767 (grub_bad_type_cast): New macro.
28768 (GRUB_AS_LIST): Use grub_bad_type_cast.
28769 (GRUB_AS_LIST_P): Likewise.
e44721e8 28770 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28771 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28772 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28773 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28774 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28775
f5a51306
VS
287762009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28779 Fix syntax error.
28780
90d1e879
RM
287812009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28782
28783 * configure.ac: Check for TARGET_CFLAGS initialization before we
28784 initialize it ourselves (sigh).
28785 Move a few modifications to TARGET_CFLAGS to be unconditional
28786 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28787 eh_frame)
28788
28789 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28790 * term/i386/pc/at_keyboard.c
28791 (keyboard_controller_wait_untill_ready): Likewise.
28792 (keyboard_controller_led): Rename `led_status' paramter to avoid
28793 name conflict.
28794
465b5a81 287952009-12-28 Carles Pina i Estany <carles@pina.cat>
28796
28797 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28798 quotes.
28799
c181849b
VS
288002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28801
28802 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28803
9c8739a4
VS
288042009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28805
28806 * normal/menu_text.c (grub_print_message_indented): Prevent
28807 past-the-end-of-array dereference.
28808
3e74249c
VS
288092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28812 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28813
64fd18ed 288142009-12-27 Carles Pina i Estany <carles@pina.cat>
28815
28816 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28817 * normal/main.c (grub_normal_read_line): Remove a space from the
28818 default prompt.
28819
714af9b9 288202009-12-27 Carles Pina i Estany <carles@pina.cat>
28821
28822 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28823 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28824 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28825 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28826 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28827 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28828 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28829
82f3e412 288302009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28831
28832 * video/readers/jpeg.c (cmd): Declare.
28833 (grub_cmd_jpegtest): Use `grub_command_t' type.
28834 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28835 Assign to `cmd'.
28836 (GRUB_MOD_FINI): Use `cmd' to unregister.
28837 * video/readers/png.c (cmd): Declare.
28838 (grub_cmd_pngtest): Use `grub_command_t' type.
28839 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28840 Assign to `cmd'.
28841 (GRUB_MOD_FINI): Use `cmd' to unregister.
28842 * video/readers/tga.c (cmd): Declare.
28843 (grub_cmd_tgatest): Use `grub_command_t' type.
28844 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28845 Assign to `cmd'.
28846 (GRUB_MOD_FINI): Use `cmd' to unregister.
28847
82f3e412 288482009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28849
28850 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28851 stops.
28852 * kern/corecmd.c (grub_register_core_commands): Likewise.
28853 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28854 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28855 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28856 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28857 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28858 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28859 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28860 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28861 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28862 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28863 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28864 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28865 * normal/handler.c (insert_handler): Likewise.
28866 * normal/main.c (GRUB_MOD_INIT): Likewise.
28867 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28868
fdcdbb66 288692009-12-26 Carles Pina i Estany <carles@pina.cat>
28870
28871 * commands/help.c (grub_cmd_help): Print the command name before the
28872 summary.
28873 (GRUB_MOD_INIT): Remove command name from the summary.
28874 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28875 string as summary.
fdcdbb66 28876 * lib/arg.c (find_long): Print the command name before the summary.
28877 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28878 summary.
28879 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28880 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28881 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28882 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28883 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28884 * commands/date.c (GRUB_MOD_INIT): Likewise.
28885 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28886 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28887 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28888 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28889 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28890 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28891 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28892 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28893 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28894 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28895 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28896 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28897 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28898 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28899 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28900 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28901 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28902 * commands/password.c (GRUB_MOD_INIT): Likewise.
28903 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28904 * commands/read.c (GRUB_MOD_INIT): Likewise.
28905 * commands/search.c (GRUB_MOD_INIT): Likewise.
28906 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28907 * commands/test.c (GRUB_MOD_INIT): Likewise.
28908 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28909 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28910 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28911 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28912 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28913 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28914 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28915 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28916 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28917 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28918 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28919 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28920 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28921 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28922
9c288be2
VS
289232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 Use search command for preliminar UUID search.
28926
28927 * commands/search.c: Split into ...
28928 * commands/search_wrap.c: ...this
28929 * commands/search.c: ...and this.
28930 * commands/search_file.c: New file.
28931 * commands/search_label.c: New file.
28932 * commands/search_uuid.c: New file.
28933 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28934 Add commands/search_wrap.c, commands/search_file.c,
28935 commands/search_label.c and commands/search_uuid.c.
28936 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28937 (search_mod_SOURCES): Set to commands/search_wrap.c.
28938 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28939 search_label.mod.
28940 (search_fs_file_mod_SOURCES): New variable.
28941 (search_fs_file_mod_CFLAGS): Likewise.
28942 (search_fs_file_mod_LDFLAGS): Likewise.
28943 (search_label_mod_SOURCES): Likewise.
28944 (search_label_mod_CFLAGS): Likewise.
28945 (search_label_mod_LDFLAGS): Likewise.
28946 (search_fs_uuid_mod_SOURCES): New variable.
28947 (search_fs_uuid_mod_CFLAGS): Likewise.
28948 (search_fs_uuid_mod_LDFLAGS): Likewise.
28949 (fs_file_mod_SOURCES): Removed.
28950 (fs_file_mod_CFLAGS): Likewise.
28951 (fs_file_mod_LDFLAGS): Likewise.
28952 (fs_uuid_mod_SOURCES): Removed.
28953 (fs_uuid_mod_CFLAGS): Likewise.
28954 (fs_uuid_mod_LDFLAGS): Likewise.
28955 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28956 Set to util/grub-install.in.
28957 * disk/fs_file.c: Removed.
28958 * disk/fs_uuid.c: Likewise.
28959 * include/grub/search.h: New file.
28960 * util/grub-install.in: Handle sparc64.
28961 Create and use load.cfg.
28962 * util/sparc64/ieee1275/grub-install.in: Removed.
28963
db943399
VS
289642009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28965
28966 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28967 Ignore return status if CF is cleared.
28968 (grub_biosdisk_get_diskinfo_standard): Likewise.
28969
3fdae612
RM
289702009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28971
28972 * term/i386/pc/at_keyboard.c
28973 (keyboard_controller_wait_untill_ready): New function.
28974 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28975 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28976 for keyboard polling, rather than duplicate the same loop. This
28977 saves a few bytes in code size.
28978
7ebaa2b4
VS
289792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28980
28981 Support for (pxe[:server[:gateway]]) syntax and
28982 use environment variable for PXE.
28983
28984 * commands/i386/pc/pxecmd.c (options): Removed.
28985 (print_ip): Removed.
28986 (grub_cmd_pxe): Removed
28987 (grub_cmd_pxe_unload): New function.
28988 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28989 (grub_pxe_your_ip): Made static.
28990 (grub_pxe_default_server_ip): Likewise.
28991 (grub_pxe_default_gateway_ip): Likewise.
28992 (grub_pxe_blksize): Likewise.
28993 (parse_ip): New function.
28994 (grub_pxe_open): Support server and gateway specification.
28995 (grub_pxe_close): Free disk->data.
28996 (grub_pxefs_open): Use disk->data.
28997 (grub_pxefs_read): Likewise.
28998 (grub_env_write_readonly): New function.
28999 (set_mac_env): Likewise.
29000 (set_env_limn_ro): Likewise.
29001 (parse_dhcp_vendor): Likewise.
29002 (grub_pxe_detect): Set the environment variables.
29003 (set_ip_env): New function.
29004 (write_ip_env): Likewise.
29005 (grub_env_write_pxe_default_server): Likewise.
29006 (grub_env_write_pxe_default_gateway): Likewise.
29007 (grub_env_write_pxe_blocksize): Likewise.
29008 (GRUB_MOD_INIT(pxe)): Set environment variables.
29009 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
29010 (grub_pxe_mac_addr_t): ... this. All users updated.
29011 (grub_pxe_your_ip): Removed.
29012 (grub_pxe_server_ip): Likewise.
29013 (grub_pxe_gateway_ip): Likewise.
29014 (grub_pxe_blksize): Likewise.
29015
ec5f98ab 290162009-12-25 Carles Pina i Estany <carles@pina.cat>
29017
29018 * commands/help.c: Include `<grub/i18n.h>'.
29019 (grub_cmd_help): Gettextizze.
29020 (GRUB_MOD_INIT): Likewise.
29021 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
29022 (GRUB_MOD_INIT): Gettextizze.
29023 * commands/search.c: Include `<grub/i18n.h>'.
29024 (options): Gettextizze.
29025 (GRUB_MOD_INIT): Gettextizze.
29026 * lib/arg.c: Include `<grub/i18n.h>'.
29027 (help_options): Gettextizze.
29028 (find_long): Likewise.
29029 (grub_arg_show_help): Likewise.
29030 * normal/dyncmd.c: Include `<grub/i18n.h>'.
29031 (read_command_list): Gettextizze.
29032 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 29033 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 29034
22815526
RM
290352009-12-25 Robert Millan <rmh.grub@aybabtu.com>
29036
29037 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
29038 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
29039 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
29040 (led_status): New variable.
29041 (keyboard_controller_led): New function.
29042 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
29043 update led status for caps lock, num lock and scroll lock.
29044
0ad46fd7
FZ
290452009-12-25 Felix Zielcke <fzielcke@z-51.de>
29046
29047 * util/hostdisk.c (open_device): Fix a comment.
29048
d0e158c2
RM
290492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29050
29051 * util/grub-install.in (host_os): New variable.
29052 * util/i386/efi/grub-install.in (host_os): Likewise.
29053
401c0ad6
RM
290542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * util/mkisofs/write.c (padblock_write): Abort when given an
29057 excedingly large embed image, instead of silently truncating it.
29058
d14d3370
RM
290592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 * include/multiboot.h: Indentation fixes.
29062
eeed10b4
RM
290632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29064
29065 * include/multiboot.h (struct multiboot_aout_symbol_table)
29066 (struct multiboot_elf_section_header_table): New structure
29067 declarations (stolen from GRUB Legacy).
29068 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29069 table information.
29070
29071 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29072 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29073 type aliases.
29074
681c70ab
RM
290752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29076
29077 * include/multiboot.h: Make comments src2texi-friendly.
29078
e4d47d8d
RM
290792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29080
29081 For consistency with [multiboot]/docs/boot.S.
29082
29083 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29084 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29085 (MULTIBOOT_MAGIC2): Rename from this ...
29086 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29087
a0b70bda
RM
290882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29089
29090 * include/multiboot.h: Remove `<grub/types.h>'.
29091 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29092 types. Update all users.
29093
61ba42be 290942009-12-25 Carles Pina i Estany <carles@pina.cat>
29095
29096 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29097 `couldn't' and `can not' by `cannot'.
29098 * commands/i386/pc/drivemap.c: Likewise.
29099 * disk/ata.c: Likewise.
29100 * disk/ieee1275/nand.c: Likewise.
29101 * fs/affs.c: Likewise.
29102 * fs/fat.c: Likewise.
29103 * fs/hfs.c: Likewise.
29104 * fs/hfsplus.c: Likewise.
29105 * fs/iso9660.c: Likewise.
29106 * fs/jfs.c: Likewise.
29107 * fs/minix.c: Likewise.
29108 * fs/reiserfs.c: Likewise.
29109 * fs/sfs.c: Likewise.
29110 * fs/udf.c: Likewise.
29111 * fs/ufs.c: Likewise.
29112 * fs/xfs.c: Likewise.
29113 * loader/powerpc/ieee1275/linux.c: Likewise.
29114 * loader/sparc64/ieee1275/linux.c: Likewise.
29115 * util/grub-probe.c: Likewise.
29116 * util/misc.c: Likewise.
29117
7fd0baee 291182009-12-24 Carles Pina i Estany <carles@pina.cat>
29119
29120 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29121 grub_errno calls.
29122 * commands/acpi.c: Likewise.
29123 * commands/blocklist.c: Likewise.
29124 * commands/efi/loadbios.c: Likewise.
29125 * commands/i386/pc/drivemap.c: Likewise.
29126 * commands/loadenv.c: Likewise.
29127 * commands/memrw.c: Likewise.
29128 * commands/password.c: Likewise.
29129 * commands/videotest.c: Likewise.
29130 * disk/ata.c: Likewise.
29131 * disk/ata_pthru.c: Likewise.
29132 * disk/dmraid_nvidia.c: Likewise.
29133 * disk/ieee1275/nand.c: Likewise.
29134 * disk/ieee1275/ofdisk.c: Likewise.
29135 * disk/loopback.c: Likewise.
29136 * disk/lvm.c: Likewise.
29137 * disk/mdraid_linux.c: Likewise.
29138 * disk/raid.c: Likewise.
29139 * disk/raid6_recover.c: Likewise.
29140 * disk/scsi.c: Likewise.
29141 * efiemu/main.c: Likewise.
29142 * efiemu/mm.c: Likewise.
29143 * efiemu/pnvram.c: Likewise.
29144 * efiemu/symbols.c: Likewise.
29145 * font/font.c: Likewise.
29146 * fs/cpio.c: Likewise.
29147 * fs/hfsplus.c: Likewise.
29148 * fs/iso9660.c: Likewise.
29149 * fs/jfs.c: Likewise.
29150 * fs/minix.c: Likewise.
29151 * fs/ntfs.c: Likewise.
29152 * fs/ntfscomp.c: Likewise.
29153 * fs/reiserfs.c: Likewise.
29154 * fs/ufs.c: Likewise.
29155 * fs/xfs.c: Likewise.
29156 * gettext/gettext.c: Likewise.
29157 * include/grub/auth.h: Likewise.
29158 * kern/elf.c: Likewise.
29159 * kern/file.c: Likewise.
29160 * kern/ieee1275/init.c: Likewise.
29161 * kern/ieee1275/mmap.c: Likewise.
29162 * kern/ieee1275/openfw.c: Likewise.
29163 * kern/powerpc/dl.c: Likewise.
29164 * kern/sparc64/dl.c: Likewise.
29165 * lib/arg.c: Likewise.
29166 * loader/i386/bsd.c: Likewise.
29167 * loader/i386/bsdXX.c: Likewise.
29168 * loader/i386/efi/linux.c: Likewise.
29169 * loader/i386/efi/xnu.c: Likewise.
29170 * loader/i386/ieee1275/linux.c: Likewise.
29171 * loader/i386/linux.c: Likewise.
29172 * loader/i386/multiboot.c: Likewise.
29173 * loader/i386/pc/linux.c: Likewise.
29174 * loader/i386/pc/multiboot2.c: Likewise.
29175 * loader/i386/xnu.c: Likewise.
29176 * loader/ieee1275/multiboot2.c: Likewise.
29177 * loader/macho.c: Likewise.
29178 * loader/machoXX.c: Likewise.
29179 * loader/multiboot2.c: Likewise.
29180 * loader/multiboot_loader.c: Likewise.
29181 * loader/powerpc/ieee1275/linux.c: Likewise.
29182 * loader/sparc64/ieee1275/linux.c: Likewise.
29183 * loader/xnu.c: Likewise.
29184 * loader/xnu_resume.c: Likewise.
29185 * mmap/i386/pc/mmap.c: Likewise.
29186 * normal/menu_viewer.c: Likewise.
29187 * partmap/acorn.c: Likewise.
29188 * partmap/amiga.c: Likewise.
29189 * partmap/apple.c: Likewise.
29190 * script/lexer.c: Likewise.
29191 * term/gfxterm.c: Likewise.
29192 * term/i386/pc/serial.c: Likewise.
29193 * term/i386/pc/vga.c: Likewise.
29194 * term/ieee1275/ofconsole.c: Likewise.
29195 * term/terminfo.c: Likewise.
29196 * video/bitmap.c: Likewise.
29197 * video/efi_gop.c: Likewise.
29198 * video/efi_uga.c: Likewise.
29199 * video/fb/video_fb.c: Likewise.
29200 * video/i386/pc/vbe.c: Likewise.
29201 * video/readers/tga.c: Likewise.
29202 * video/video.c: Likewise.
29203
0ad46fd7 292042009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
29205
29206 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29207 * commands/lspci.c: Likewise.
29208 * commands/probe.c: Likewise.
29209 * commands/xnu_uuid.c: Likewise.
29210 * conf/i386-coreboot.rmk: Likewise.
29211 * conf/i386-efi.rmk: Likewise.
29212 * conf/i386-ieee1275.rmk: Likewise.
29213 * conf/i386-pc.rmk: Likewise.
29214 * conf/powerpc-ieee1275.rmk: Likewise.
29215 * conf/sparc64-ieee1275.rmk: Likewise.
29216 * conf/x86_64-efi.rmk: Likewise.
29217 * fs/i386/pc/pxe.c: Likewise.
29218 * gettext/gettext.c: Likewise.
29219 * include/grub/efi/graphics_output.h: Likewise.
29220 * include/grub/i386/pc/memory.h: Likewise.
29221 * kern/env.c: Likewise.
29222 * kern/i386/qemu/startup.S: Likewise.
29223 * lib/i386/pc/biosnum.c: Likewise.
29224 * lib/i386/relocator.c: Likewise.
29225 * lib/i386/relocator_asm.S: Likewise.
29226 * lib/relocator.c: Likewise.
29227 * loader/i386/bsd.c: Likewise.
29228 * loader/i386/multiboot.c: Likewise.
29229 * loader/i386/pc/chainloader.c: Likewise.
29230 * loader/i386/xnu.c: Likewise.
29231 * loader/xnu.c: Likewise.
29232 * normal/main.c: Likewise.
29233 * normal/menu_text.c: Likewise.
29234 * util/getroot.c: Likewise.
29235 * util/grub-mkconfig_lib.in: Likewise.
29236 * util/grub.d/00_header.in: Likewise.
29237 * util/i386/pc/grub-mkimage.c: Likewise.
29238 * util/mkisofs/eltorito.c: Likewise.
29239 * util/mkisofs/exclude.h: Likewise.
29240 * util/mkisofs/hash.c: Likewise.
29241 * util/mkisofs/iso9660.h: Likewise.
29242 * util/mkisofs/joliet.c: Likewise.
29243 * util/mkisofs/mkisofs.c: Likewise.
29244 * util/mkisofs/mkisofs.h: Likewise.
29245 * util/mkisofs/multi.c: Likewise.
29246 * util/mkisofs/name.c: Likewise.
29247 * util/mkisofs/rock.c: Likewise.
29248 * util/mkisofs/tree.c: Likewise.
29249 * util/mkisofs/write.c: Likewise.
29250 * video/efi_gop.c: Likewise.
29251
009ec743
VS
292522009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29253
29254 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29255 size counting.
29256
0ad46fd7 292572009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
29258
29259 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29260 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29261
d3d30ea0
VS
292622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29263
29264 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29265 (GRUB_MOD_INIT(memrw)): Update help line.
29266
a34f5c70
VS
292672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29270 Use grub_extcmd_t. All users updated.
29271 (options): New variable.
29272 (grub_cmd_read): Restructure for readability. Support "-v" option.
29273 (grub_cmd_write): Restructure for readability.
29274
0ad46fd7 292752009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
29276
29277 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29278
0ad46fd7 292792009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
29280
29281 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29282 with the actual contents of the correspondending make variable.
29283 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29284 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29285 specifying `*.lst' and `efiemu??.o'
29286
0ad46fd7 292872009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
29288
29289 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29290 after function name.
29291 Noticed by Rene Engelhard <rene@debian.org>.
29292
dc77a799
VS
292932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29294
29295 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29296 (options): New variable.
29297 (iospace): Likewise.
29298 (grub_lspci_iter): List IO spaces if "-i" was given.
29299 (grub_cmd_lspci): Parse options.
29300 (GRUB_MOD_INIT(lspci)): Use extcmd.
29301 (GRUB_MOD_FINI(lspci)): Likewise.
29302
0ad46fd7 293032009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
29304
29305 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29306 `function' keyword.
29307 Patch by Tony Mancill <tmancill@debian.org>.
29308
b5d5993b
VS
293092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29310
29311 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29312 (grub_uhci_portstatus): Likewise.
29313 (grub_uhci_portstatus): Add necessary delay.
11d18281 29314 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 29315
941903f2 293162009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 29317
941903f2 29318 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29319 (GRUB_MOD_INIT): Likewise.
29320 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 29321 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29322 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 29323 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29324 (enable_rom_area): Likewise.
29325 (GRUB_MOD_INIT): Likewise.
29326 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29327 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29328 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29329 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29330 * commands/hexdump.c (options): Likewise.
29331 * commands/i386/cpuid.c (options): Likewise.
29332 (GRUB_MOD_INIT): Likewise.
29333 * commands/i386/pc/drivemap.c (options): Likewise.
29334 (GRUB_MOD_INIT): Likewise.
29335 * commands/i386/pc/halt (options): Likewise.
29336 (GRUB_MOD_INIT): Likewise.
29337 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29338 * commands/i386/pc/pxecmd.c (options): Likewise.
29339 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29340 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29341 * commands/keystatus.c (options): Likewise.
29342 (GRUB_MOD_INIT): Likewise.
29343 * commands/loadenv.c (options): Likewise.
29344 * commands/ls.c (options): Likewise.
29345 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29346 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29347 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29348 * commands/parttool.c (helpmsg): Likewise.
29349 * commands/probe.c (options): Likewise.
29350 * commands/read.c (GRUB_MOD_INIT): Likewise.
29351 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29352 * commands/search.c (options): Likewise.
29353 * commands/sleep.c (options): Likewise.
29354 * commands/test.c (GRUB_MOD_INIT): Likewise.
29355 * commands/true.c (GRUB_MOD_INIT): Likewise.
29356 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29357 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29358 * lib/arg.c (help_options): Likewise.
e9bbb4e7 29359 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29360 `$(XGETTEXT)'.
98a50553 29361 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 29362
0ad46fd7 293632009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 29364
ef3c2c3a 29365 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
29366 instead of specifying them explicit.
29367
7922f68b
RM
293682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29369
29370 * NEWS: Add grub-probe support for GNU/Hurd.
29371
537ce47f
RM
293722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29373
29374 * NEWS: gettext was added after 1.97.
29375
9b214e3a
RM
293762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29377
29378 * util/mkisofs/msdos_partition.h: New file (based on
29379 include/grub/msdos_partition.h).
29380 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29381 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29382 (ld_options, main): Recognize --protective-msdos-label.
29383 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29384 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29385 (padblock_write): If `use_protective_msdos_label' is set, patch a
29386 protective DOS-style label in the output image.
29387
29388 * util/grub-mkrescue.in: Use --protective-msdos-label.
29389
e9309813
RM
293902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29391
29392 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29393 boot.
29394
0ae56929
RM
293952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29396
29397 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29398 variables.
29399 (ld_options, main): Recognize `--embedded-boot'.
29400 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29401 declarations.
29402 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29403 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29404 (padblock_write): Likewise. Rewrite to support embedded boot image.
29405
29406 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29407 for BIOS-based disk boot instead of only ElTorito.
29408
b15937b1
RM
294092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29410
29411 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29412 build (not needed for bootstrap).
29413
52cc3ce0
RM
294142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29415
29416 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29417 from i386-pc build (not needed for bootstrap).
29418 Rewrite a pair of strings.
29419
36f5ff04
RM
294202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29421
29422 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29423
973c6c85 294242009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29425
29426 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29427
05d21547
AB
294282009-12-21 Andreas Born <futur.andy@googlemail.com>
29429
29430 * kern/env.c (grub_env_context_open): Mark exported variable for
29431 reexport.
29432
0175d51f
AB
294332009-12-21 Andreas Born <futur.andy@googlemail.com>
29434
29435 * kern/env.c (grub_env_export): Create nonexistent variables before
29436 exporting.
29437
7f39d92f 294382009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29439
7f39d92f 29440 * include/grub/auth.h: Include `<grub/i18n.h>'.
29441 (GRUB_GET_PASSWORD): Gettextizze string.
29442 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29443 menu_text.c.
29444 (grub_utf8_to_ucs4_alloc): Fix indentation.
29445 (grub_print_ucs4): Likewise.
29446 (grub_getstringwidth): Likewise.
29447 (print_message_indented): New declaration.
29448 * normal/auth.c: Include `<grub/i18n.h>'.
29449 (grub_auth_check_authentication): Gettexttize string.
29450 * normal/cmdline.c: Include `<grub/i18n.h>'.
29451 (grub_cmdline_get): Gettextizze.
29452 * normal/color.c: Include `<grub/i18n.h>'.
29453 (grub_parse_color_name_pair): Gettexttize strings.
29454 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29455 string (use `print_message_indented').
29456 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29457 `include/grub/normal.h'.
29458 (print_message_indented): Renamed to ...
29459 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29460 used in normal/main.c).
29461 (print_message): Use `grub_print_message_indented' instead of
29462 `print_message_indented'.
29463 (print_timeout): Likewise.
29464 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29465 (grub_normal_print_device_info): Gettexttize strings.
29466 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29467
3041d898
VS
294682009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29471 of arguments. Return number of tokens and not arguments. All users
29472 updated.
29473
de15bf8e
VS
294742009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29477 non-MSDOS paritions.
29478
e0a6ca52
VS
294792009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29480
29481 * include/grub/types.h (UNUSED): Removed since it conflicts with
29482 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29483 Reported by Grégoire Sutre.
29484
b99518d1 294852009-12-19 Carles Pina i Estany <carles@pina.cat>
29486
29487 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29488 (grub_print_ucs4_alloc): Likewise.
29489 (grub_getstringwidth): Likewise.
29490 * normal/main.c (grub_normal_init_page): Gettextize version string.
29491 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29492 (getstringwidth): Renamed to ...
29493 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29494 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29495 (grub_print_ucs4): Remove `static' qualifer (now used in
29496 normal/main.c).
29497 * po/POTFILES: Add normal/main.c.
29498
bfd5e52b 294992009-12-19 Carles Pina i Estany <carles@pina.cat>
29500
29501 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29502 (print_message_indented): Add `margin_left' and `margin_right'
29503 parameters.
29504 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29505 strings.
29506 (print_timeout): Use `print_message_indented' to print the message.
29507 Deletes `second_stage' parameter.
29508 (run_menu): Update `print_timeout' calls.
29509
5a1ad2b9
VS
295102009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29511
29512 Fix console palette on OpenFirmware.
29513
29514 * term/ieee1275/ofconsole.c (MAX): Removed.
29515 (colors): Redone based on VGA palette.
29516 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29517 colors are supported.
29518 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29519
b045f00a
VS
295202009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29521
29522 Fix potential EfiEmu double prepare.
29523
29524 * efiemu/main.c (prepared): New variable
29525 (grub_efiemu_unload): Set prepare to '0'.
29526 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29527
29528 set_virtual_address_map support.
29529
29530 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29531 prototype.
29532 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29533 prototype.
29534 (grub_efiemu_crc32): Likewise.
29535 (grub_efiemu_crc64): Likewise.
29536 (grub_efiemu_set_virtual_address_map): Likewise.
29537 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29538 New definition.
29539 (grub_autoefi_set_virtual_address_map): Likewise.
29540 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29541 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29542 Restructure flow to accomodate it.
29543 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29544 (grub_efiemu_crc): Recompute CRC32.
29545 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29546 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29547 * efiemu/symbols.c (relocated_handle): New variable.
29548 (grub_efiemu_free_syms): Free relocated_handle.
29549 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29550 (grub_efiemu_write_sym_markers): New function.
29551 (grub_efiemu_set_virtual_address_map): Likewise.
29552
29553 Newer XNU parameters.
29554
29555 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29556 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29557 (grub_xnu_fill_devicetree): New prototype.
29558 (grub_xnu_heap_real_start): New variable.
29559 * loader/xnu.c (get_name_ptr): New function.
29560 (grub_xnu_load_driver): Fill namelen and name.
29561
29562 64-bit xnu support.
29563
29564 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29565 and 'loader/macho64.c'.
29566 * conf/i386-pc.rmk: Likewise.
29567 * conf/x86_64-efi.rmk: Likewise.
29568 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29569 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29570 * include/grub/macho.h (grub_macho_segment64): New structure.
29571 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29572 (grub_macho_size32): ... to this.
29573 (grub_macho32_get_entry_point): Renamed from ...
29574 (grub_macho_get_entry_point32): ... to this.
29575 (grub_macho_contains_macho64): New prototype.
29576 (grub_macho_size64): Likewise.
29577 (grub_macho_get_entry_point64): Likewise.
29578 (grub_macho32_load): Renamed from ...
29579 (grub_macho_load32): ... to this.
29580 (grub_macho32_filesize): Renamed from ...
29581 (grub_macho_filesize32): ... to this.
29582 (grub_macho32_readfile): Renamed from ...
29583 (grub_macho_readfile32): ... to this.
29584 (grub_macho_filesize64): New prototype.
29585 (grub_macho_readfile64): Likewise.
29586 (grub_macho_parse32): Likewise.
29587 (grub_macho_parse64): Likewise.
29588 * loader/macho.c: Split into ...
29589 * loader/machoXX.c: ... and this. Replace 32 with XX.
29590 * loader/macho32.c: New file.
29591 * loader/macho64.c: Likewise.
29592 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29593 (grub_cmd_xnu_kernel): Make 32-bit only.
29594 (grub_cmd_xnu_kernel64): New function.
29595 (grub_xnu_load_driver): Support Mach-O 64.
29596 (grub_cmd_xnu_mkext): Likewise.
29597 * util/grub.d/30_os-prober.in (osx_entry): New function.
29598 Generate entries for 64-bit boot too.
29599
29600 Eliminate ad-hoc tree format in XNU and EfiEmu.
29601
29602 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29603 * efiemu/pnvram.c: Rewritten to use environment variables.
29604 All users updated.
29605
29606 Inline utf16_to_utf8.
29607
29608 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29609 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29610 All users updated.
29611 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29612
29613 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29614 * commands/usbtest.c (grub_usb_get_string): ... move here.
29615 (usb_print_str): Fix error handling.
29616 * include/grub/usb.h (grub_usb_get_string): Remove.
29617
29618 UTF-8 to UTF-16 transformation.
29619
29620 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29621 (charset_mod_SOURCES): New variable.
29622 (charset_mod_CFLAGS): Likewise.
29623 (charset_mod_LDFLAGS): Likewise.
29624 * include/grub/utf.h: New file.
29625 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29626
29627 Support for device properties.
29628
29629 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29630 (grub_xnu_devprop_device_header): Likewise.
29631 (grub_xnu_devprop_device_descriptor): Likewise.
29632 (grub_xnu_devprop_add_device): New prototype.
29633 (grub_xnu_devprop_remove_device): Likewise.
29634 (grub_xnu_devprop_remove_property): Likewise.
29635 (grub_xnu_devprop_add_property_utf8): Likewise.
29636 (grub_xnu_devprop_add_property_utf16): Likewise.
29637 (grub_cpu_xnu_init): Likewise.
29638 (grub_cpu_xnu_fini): Likewise.
29639 (grub_cpu_xnu_unload): Likewise.
29640 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29641 (property_descriptor): Likewise.
29642 (devices): New variable.
29643 (grub_xnu_devprop_remove_property): New function.
29644 (grub_xnu_devprop_add_device): Likewise.
29645 (grub_xnu_devprop_remove_device): Likewise.
29646 (grub_xnu_devprop_add_property): Likewise.
29647 (grub_xnu_devprop_add_property_utf8): Likewise.
29648 (grub_xnu_devprop_add_property_utf16): Likewise.
29649 (hextoval): Likewise.
29650 (grub_cpu_xnu_fill_devprop): Likewise.
29651 (grub_cmd_devprop_load): Likewise.
29652 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29653 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29654 (cmd_devprop_load): New variable.
29655 (grub_cpu_xnu_init): New function.
29656 (grub_cpu_xnu_fini): Likewise.
29657 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29658 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29659 (grub_cmd_xnu_devtree): Likewise.
29660 (hextoval): New function.
29661 (unescape): Likewise.
29662 (grub_xnu_fill_devicetree): Likewise.
29663
29664 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29665 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29666
0945f181
VS
296672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29668
29669 Workaround for broken ATI VBE.
29670
29671 * video/i386/pc/vbe.c (last_set_mode): New variable.
29672 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29673 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29674 (grub_video_vbe_setup): Don't check for reserved flag.
29675
0ad46fd7 296762009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29677
29678 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29679 the `find' command.
29680
c179ebe4
VS
296812009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 UUID support for HFS.
29684
29685 * fs/hfs.c (grub_hfs_uuid): New function.
29686 (grub_hfs_fs): New value .uuid.
29687 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29688
0ad46fd7 296892009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29690
29691 Fix a segfault with parsing unknown long options.
29692
29693 * util/grub-mkrelpath.c (options): Zero terminate it.
29694
c4a3e41a
CPE
296952009-12-13 Carles Pina i Estany <carles@pina.cat>
29696
29697 * include/grub/misc.h (grub_puts): New declaration.
29698 (grub_puts_): Likewise.
a22008a6 29699 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29700 (grub_puts_): Likewise.
29701
2e8a7602
RM
297022009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29703
29704 * util/grub-probe.c (probe): Improve error message.
29705
b50b77b9
RM
297062009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29707
29708 * loader/i386/multiboot_elfxx.c
29709 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29710 initialization.
29711
297122009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29713
29714 Relocator framework
29715
29716 * loader/i386/xnu_helper.S: Removed. All users updated.
29717 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29718 (relocator_mod_SOURCES): New variable.
29719 (relocator_mod_CFLAGS): Likewise.
29720 (relocator_mod_LDFLAGS): Likewise.
29721 (relocator_mod_ASFLAGS): Likewise.
29722 * conf/x86_64.rmk: Likewise.
29723 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29724 (grub_multiboot_payload_entry_offset): Likewise.
29725 (grub_multiboot_forward_relocator): Likewise.
29726 (grub_multiboot_forward_relocator_end): Likewise.
29727 (grub_multiboot_backward_relocator): Likewise.
29728 (grub_multiboot_backward_relocator_end): Likewise.
29729 (grub_multiboot_payload_eip): New variable.
29730 (grub_multiboot_payload_orig): Likewise.
29731 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29732 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29733 * include/grub/i386/memory.h
29734 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29735 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29736 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29737 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29738 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29739 * include/grub/i386/relocator.h: New file.
29740 * include/grub/x86_64/relocator.h: Likewise.
29741 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29742 (XNU_RELOCATOR): New macro.
29743 (grub_xnu_launcher_start): Remove.
29744 (grub_xnu_launcher_end): Likewise.
29745 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29746 (grub_xnu_heap_real_start): Remove.
29747 (grub_xnu_heap_start): Change to void *. All users updated.
29748 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29749 * lib/i386/relocator.c: New file.
29750 * lib/i386/relocator_asm.S: Likewise.
29751 * lib/i386/relocator_backward.S: Likewise.
29752 * lib/mips/relocator.c: Likewise.
29753 * lib/mips/relocator_asm.S: Likewise.
29754 * lib/relocator.c: Likewise.
29755 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29756 (entry): Removed.
29757 (playground): Likewise.
29758 (grub_multiboot_payload_orig): New variable.
29759 (grub_multiboot_payload_dest): Likewise.
29760 (grub_multiboot_payload_size): Likewise.
29761 (grub_multiboot_payload_eip): Likewise.
29762 (grub_multiboot_payload_esp): Likewise.
29763 (grub_multiboot_boot): Use grub_relocator32_boot.
29764 (grub_multiboot_unload): Free relocators.
29765 (grub_multiboot): Setup stack. Use relocators.
29766 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29767 (grub_multiboot_load_elfXX): Use relocators.
29768 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29769 (grub_multiboot_payload_size): Likewise.
29770 (grub_multiboot_payload_dest): Likewise.
29771 (grub_multiboot_payload_entry_offset): Likewise.
29772 (grub_multiboot_forward_relocator): Likewise.
29773 (grub_multiboot_backward_relocator): Likewise.
29774 (grub_multiboot_real_boot): Likewise.
29775 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29776 (grub_xnu_entry_point): Likewise.
29777 (grub_xnu_arg1): Likewise.
29778 (grub_xnu_stack): Likewise.
29779 (grub_xnu_launch): Removed.
29780 (grub_xnu_boot_resume): New function.
29781 (grub_xnu_boot): Use relocators.
29782 * loader/i386/xnu_helper.S: Removed.
29783 * loader/xnu.c (grub_xnu_heap_start): New variable.
29784 (grub_xnu_heap_size): Likewise.
29785 (grub_xnu_heap_malloc): Use relocators.
29786 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29787
29eb90c6
VS
297882009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29789
29790 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29791 anything.
29792
31027430
CPE
297932009-12-13 Carles Pina i Estany <carles@pina.cat>
29794
29795 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29796 GRUB_ERR_NONE before calling grub_env_set.
29797
dc0c71d9
RM
297982009-12-12 Robert Millan <rmh@aybabtu.com>
29799
29800 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29801 * genmk.rb (video): New variable.
29802 (CLEANFILES, VIDEOFILES): Add #{video}.
29803 (#{video}): New target rule.
29804 * genvideolist.sh: New file.
29805 * Makefile.in (pkglib_DATA): Add video.lst.
29806 (video.lst): New target rule.
29807 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29808 `video.lst'.
29809 * util/grub.d/30_os-prober.in: Replace `vbe' with
29810 ${GRUB_VIDEO_BACKEND}.
29811
2a4bfcf0
RM
298122009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29813
29814 * THANKS: Add David Miller.
29815
2a3aa4d5
RM
298162009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29817
29818 libpciaccess support.
29819
29820 * Makefile.in (LIBPCIACCESS): New variable.
29821 (enable_grub_emu_pci): Likewise.
29822 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29823 util/pci.c and commands/lspci.c.
29824 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29825 * configure.ac (grub-emu-pci): New option.
29826 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29827 (grub_pci_device_unmap_range): Likewise.
29828 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29829 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29830 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29831 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29832 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29833 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29834 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29835 * include/grub/pciutils.h: New file.
29836 * util/pci.c: Likewise.
29837
0ad46fd7 298382009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29839
29840 * util/misc.c: Don't include <errno.h> twice.
29841
0ad46fd7 298422009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29843
29844 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29845 name in an error message.
29846 (grub_biosdisk_rw): Likewise.
29847
2e59983c
VS
298482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29849
29850 Eliminate NTFS 4Gib barrier.
29851
29852 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29853 (read_run_data): Likewise.
29854 (grub_ntfs_read_run_list): Likewise.
29855 (grub_ntfs_read_block): Likewise.
29856 (grub_ntfs_iterate_dir): Likewise.
29857 (read_mft): Likewise.
29858 (read_data): Likewise.
29859 Use COM_LOG_LEN.
29860 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29861 to avoid 64-bit division
29862 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29863 (grub_ntfs_rlst): Use grub_disk_addr_t.
29864
71ee178a
VS
298652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29866
29867 Eliminate grub-fstest 4Gib barrier.
29868
29869 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29870 (read_file): Fix error reporting.
29871
2520d4b8
VS
298722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29873
29874 Eliminate hexdump 4Gib barrier.
29875
29876 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29877 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29878
e1f27065
VS
298792009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29880
29881 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29882 Fixes amarsh bug.
29883
1a0f7f45
RM
298842009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29885
29886 Remove miscellaneous files in distclean target.
29887
29888 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29889
c631d9fb
CW
298902009-12-09 Colin Watson <cjwatson@ubuntu.com>
29891
29892 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29893 if they're already set. This resolves the conflict between my
29894 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29895 fixing the --grub-probe option again.
29896 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29897 change on 2009-10-06, so that we now once again source
29898 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29899
7c7b6106
RM
299002009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29901
29902 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29903 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29904 `util/devicemap.c'.
29905
e3069ec1
CPE
299062009-12-08 Carles Pina i Estany <carles@pina.cat>
29907
29908 * include/grub/misc.h (grub_printf_): New declaration.
29909 * kern/misc.c (grub_printf_): New definition.
29910 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29911 instead of `grub_printf' and `_'.
29912 * normal/menu_entry.c (store_completion): Likewise.
29913 (run): Likewise.
29914 (grub_menu_entry_run): Likewise.
29915 * normal/menu_text.c (grub_wait_after_message): Likewise.
29916 (notify_booting): Likewise.
29917 (notify_fallback): Likewise.
29918 (notify_execution_failure): Likewise.
29919
d6ceebf1
CW
299202009-12-07 Colin Watson <cjwatson@ubuntu.com>
29921
29922 * configure.ac: Check for vasprintf.
29923 * util/misc.c (asprintf): Move allocation from here ...
29924 (vasprintf): ... to here. New function.
29925 (xasprintf): New function.
29926 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29927 prototypes.
29928 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29929 * util/grub-mkfont.c (write_font): Likewise.
29930 * util/grub-probe.c (probe): Likewise.
29931 * util/hostdisk.c (make_device_name): Likewise.
29932
de6daa8b
DM
299332009-12-06 David S. Miller <davem@sunset.davemloft.net>
29934
29935 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29936 anything even prefixed with 'cdrom' as a cdrom.
29937
0ad46fd7 299382009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29939
29940 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29941 mount points.
29942
98d3dc02
CPE
299432009-12-05 Carles Pina i Estany <carles@pina.cat>
29944
29945 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29946 grub_gettext_msg_list.
29947 (grub_gettext_gettranslation_from_position): Return const char *
29948 and not char *.
a2c1332b 29949 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29950 returns from the list if existing there.
29951 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29952 (grub_gettext_delete_list): Delete the list.
29953 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29954 lang environment variable is changed.
29955 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29956
b283f108
VS
299572009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29958
29959 Rename kernel.mod to kernel.img.
29960
29961 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29962 (kernel_mod_EXPORTS): Rename to ...
29963 (kernel_img_EXPORTS): ... this.
29964 (kernel_mod_SOURCES): Rename to ...
29965 (kernel_img_SOURCES): ... this.
29966 (kernel_mod_HEADERS): Rename to ...
29967 (kernel_img_HEADERS): ... this. All users updated.
29968 (kernel_mod_CFLAGS): Rename to ...
29969 (kernel_img_CFLAGS): ... this.
29970 (kernel_mod_ASFLAGS): Rename to ...
29971 (kernel_img_ASFLAGS): ... this.
29972 (kernel_mod_LDFLAGS): Rename to ...
29973 (kernel_img_LDFLAGS): ... this.
29974 * conf/x86_64-efi.rmk: Likewise.
29975 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29976 (read_kernel_image): ... this. All users updated.
29977 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29978
69055f8a
CPE
299792009-12-05 Carles Pina i Estany <carles@pina.cat>
29980
29981 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29982 (print_spaces): New function.
29983 (grub_print_ucs4): New function.
29984 (getstringwidth): New function.
29985 (print_message_indented): New function.
29986 (print_message): Gettexttize strings using print_message_indented.
29987 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29988 width.
29989 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29990 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29991 Gettextize.
29992 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29993 string.
29994 (run): Likewise.
29995 (grub_menu_entry_run): Likewise.
29996 * PO/POTFILES: Add normal/menu_entry.c.
29997
f616f51c
VS
299982009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29999
30000 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
30001
57bbe3be
CPE
300022009-12-05 Carles Pina i Estany <carles@pina.cat>
30003
30004 * util/grub-install.in: Install gettext .mo files.
30005 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
30006
013d67a1
CPE
300072009-12-05 Carles Pina i Estany <carles@pina.cat>
30008
30009 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
30010 grub_dprintf.
30011
fb954db0
RM
300122009-12-05 Robert Millan <rmh.grub@aybabtu.com>
30013
30014 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
30015 non-firmware-dependant one in realmode.S takes precedence.
30016
6b8474f8
RM
300172009-12-04 Robert Millan <rmh.grub@aybabtu.com>
30018
30019 * commands/halt.c: Replace misc arch-specific headers with
30020 `<grub/misc.h>'.
30021 * commands/reboot.c: Likewise.
30022 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
30023 `<grub/misc.h>'.
30024 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
30025 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
30026 (kernel_img_SOURCES): ... to here.
30027
30028 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
30029 * include/grub/i386/pc/init.h: Likewise.
30030 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30031 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30032
30033 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
30034
30035 * include/grub/i386/halt.h: Remove.
30036 * include/grub/i386/reboot.h: Likewise.
30037
30038 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
30039
4b2e6ca2
DM
300402009-12-03 David S. Miller <davem@sunset.davemloft.net>
30041
30042 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
30043 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
30044 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
30045 "progname.h"
30046 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30047 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30048 (usage): Add missing comma in printf.
30049
5239348f
RM
300502009-12-02 Robert Millan <rmh.grub@aybabtu.com>
30051
30052 Use the same reboot approach on i386 coreboot and qemu as we do on
30053 BIOS.
30054
30055 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
30056 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
30057 * kern/i386/reboot.c: Remove.
30058 * include/grub/i386/reboot.h (grub_reboot): Export function.
30059 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30060 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30061 0xf000:0xfff0 instead of 0xffff:0x0000.
30062 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30063 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30064
ef34cbd4
RM
300652009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30066
30067 Fix $srcdir != $objdir build.
30068
30069 * Makefile.in (po/%.po): Rewrite as ...
30070 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30071
dc9837ea
ST
300722009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30073
30074 Fix GNU/Hurd grub-install crash.
30075 * util/grub-probe.c (probe): Try to access `path' only when it is not
30076 NULL.
30077
2f857f98
VS
300782009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 Correct module naming.
30081
30082 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30083 (GRUB_MOD_INIT(efi_uga)): ... to this
30084 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30085 (GRUB_MOD_FINI(efi_uga)): ... to this
30086 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30087 (GRUB_MOD_INIT(efi_gop)): ... to this
30088 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30089 (GRUB_MOD_FINI(efi_gop)): ... to this
30090
c5448046
RM
300912009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30092
30093 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30094 translatable.
30095 (usage): Translate `arg' strings using gettext().
30096 Thanks to Jordi Mallach for the suggestion.
30097
c85184ad
VS
300982009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30099
30100 GOP support. Based on patch from Bean
30101 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30102
30103 * video/efi_gop.c: New file.
30104 * include/grub/efi/graphics_output.h: Likewise.
30105 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30106 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30107 variables.
30108 * conf/x86_64-efi.rmk: Likewise.
30109
8a4c48d8
VS
301102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30111
30112 Rename efi_fb to efi_uga.
30113
30114 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30115 'efi_uga.mod'.
30116 (efi_fb_mod_SOURCES): Rename this ...
30117 (efi_uga_mod_SOURCES): ... to this.
30118 (efi_fb_mod_CFLAGS): Rename this ...
30119 (efi_uga_mod_CFLAGS): ... to this.
30120 (efi_fb_mod_LDFLAGS): Rename this ...
30121 (efi_uga_mod_LDFLAGS): ... to this.
30122 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30123 'efi_uga.mod'.
30124 (efi_fb_mod_SOURCES): Rename this ...
30125 (efi_uga_mod_SOURCES): ... to this.
30126 (efi_fb_mod_CFLAGS): Rename this ...
30127 (efi_uga_mod_CFLAGS): ... to this.
30128 (efi_fb_mod_LDFLAGS): Rename this ...
30129 (efi_uga_mod_LDFLAGS): ... to this.
30130 * video/efi_fb.c: Move this ...
30131 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30132
fb6c1a7b
RM
301332009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30134
30135 * po/README: New file. Explain our PO file workflow.
30136
3bc7896c
RM
301372009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30138
30139 * po/ChangeLog: Remove. Move relevant entries back to ...
30140 * ChangeLog: ... here.
30141 * po/ca.po: Remove (now handled by TLP).
30142 * po/id.po: Likewise.
30143 * po/zh_CN.po: Likewise.
30144 * Makefile.in (LINGUAS): Initialize in a way that supports
30145 empty set.
30146
9ed4841d
RM
301472009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30148
30149 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30150 reliing on po/LINGUAS.
30151 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30152 (po/%.po): ... this.
30153
0ad46fd7 301542009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
30155
30156 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30157 (main): Use `program_name' instead of nonexistent `progname'.
30158
e30dd392
FZ
301592009-11-26 Felix Zielcke <fzielcke@z-51.de>
30160
30161 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30162 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30163
7656de4f
RM
301642009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30165
30166 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30167 commit.
30168 * conf/i386-efi.rmk: Likewise.
30169 * conf/i386-ieee1275.rmk: Likewise.
30170 * conf/powerpc-ieee1275.rmk: Likewise.
30171 * conf/sparc64-ieee1275.rmk: Likewise.
30172 * conf/x86_64-efi.rmk: Likewise.
30173
db77c4d4
FZ
301742009-11-26 Felix Zielcke <fzielcke@z-51.de>
30175
30176 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30177
a755bb04
FZ
301782009-11-26 Felix Zielcke <fzielcke@z-51.de>
30179
30180 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30181
8a4c07fd
RM
301822009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30183
30184 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30185 (grub_mkdevicemap_SOURCES): New variable.
30186 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30187 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30188 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30189 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30190 (grub_mkdevicemap_SOURCES): Remove.
30191 * conf/i386-efi.rmk: Likewise.
30192 * conf/i386-ieee1275.rmk: Likewise.
30193 * conf/i386-pc.rmk: Likewise.
30194 * conf/powerpc-ieee1275.rmk: Likewise.
30195 * conf/sparc64-ieee1275.rmk: Likewise.
30196 * conf/x86_64-efi.rmk: Likewise.
30197 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30198 (usage): Fix strings to use `program_name'.
30199 (main): Initialize gettext.
30200 * util/grub-editenv.c: Likewise.
30201 * util/grub-emu.c: Likewise.
30202 * util/grub-fstest.c: Likewise.
30203 * util/grub-mkdevicemap.c: Likewise.
30204 * util/grub-mkfont.c: Likewise.
30205 * util/grub-mkrelpath.c: Likewise.
30206 * util/grub-pe2elf.c: Likewise.
30207 * util/grub-probe.c: Likewise.
30208 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30209 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30210 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30211
30212 * util/misc.c: Include `"progname.h"'.
30213 (progname): Remove variable.
30214 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30215
6f61ed55
FZ
302162009-11-25 Felix Zielcke <fzielcke@z-51.de>
30217
30218 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30219 printf and print a newline after the menuentry header line.
30220 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30221
f022876b
FZ
302222009-11-25 Felix Zielcke <fzielcke@z-51.de>
30223
30224 autoconf >= 2.60 support $(localedir).
30225
30226 * INSTALL: Note that autoconf 2.60 is required.
30227 * configure.ac (AC_PREREQ): Bump to 2.60.
30228 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30229 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30230
6717926e
YB
302312009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30232
30233 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30234 aclocal is run.
30235
08806a54
RM
302362009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30237
30238 * normal/main.c (grub_normal_read_line): Fix off-by-one
30239 buffer overflow.
30240
13b33fba
RM
302412009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30244 "parser.grub" in grub_command_execute() call.
30245
4a8572e9
CPE
302462009-11-24 Carles Pina i Estany <carles@pina.cat>
30247
30248 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30249 * conf/i386-efi.rmk: Likewise.
30250 * conf/i386-ieee1275.rmk: Likewise.
30251 * conf/i386-pc.rmk: Likewise.
30252 * conf/powerpc-ieee1275.rmk: Likewise.
30253 * conf/sparc64-ieee1275.rmk: Likewise.
30254 * conf/x86_64-efi.rmk: Likewise.
30255 * gettext/gettex.c: Include <grub/i18n.h>.
30256 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30257 here ...
30258 * include/grub/i18n.h: ... to here
30259 * include/grub/i18n.h: ... to here.
30260 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 30261 (grub_gettext_dummy): Move above user.
4a8572e9 30262
bee48093
FZ
302632009-11-24 Felix Zielcke <fzielcke@z-51.de>
30264
30265 * util/Makefile.in (install-local): Convert a `for' into a normal
30266 shell expansion.
30267
a031e91c
RM
302682009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30269
30270 * autogen.sh: Add automake call.
30271 * config.guess: Remove.
30272 * config.sub: Likewise.
30273 * install-sh: Likewise.
30274
26bec39d
FZ
302752009-11-24 Felix Zielcke <fzielcke@z-51.de>
30276
30277 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30278
8e2532fd
FZ
302792009-11-24 Felix Zielcke <fzielcke@z-51.de>
30280
30281 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30282 function to a normal shell `for'.
30283
fefa1b7d
FZ
302842009-11-24 Felix Zielcke <fzielcke@z-51.de>
30285
30286 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30287
4501250b
FZ
302882009-11-24 Felix Zielcke <fzielcke@z-51.de>
30289
30290 * util/grub-mkrelpath.c: New file.
30291 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30292 (grub_mkrelpath_SOURCES): New variable.
30293 * include/grub/util/misc.h: New function prototype.
30294 * util/misc.c (make_system_path_relative_to_its_root): New function.
30295
30296 * util/grub-mkconfig_lib.in (bindir): New variable.
30297 (grub_mkrelpath): Likewise.
30298 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30299
30300 * util/probe.c (probe): Make the file path relative to its root.
30301 Change a info message to use the GRUB path. Enable again the
30302 check if we can read the file with GRUB facilities.
30303
30304 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30305 to its root.
30306
11d9778b
FZ
303072009-11-24 Felix Zielcke <fzielcke@z-51.de>
30308
30309 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30310 platform.
30311
4465287d
FZ
303122009-11-24 Felix Zielcke <fzielcke@z-51.de>
30313
30314 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30315 strncmp().
30316
62b47f22
FZ
303172009-11-24 Felix Zielcke <fzielcke@z-51.de>
30318
30319 * util/getroot.c (grub_util_is_dmraid): New function.
30320 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30321 devices as normal ones, not as LVM.
30322
1eafb9b9 303232009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
30324
30325 * conf/common.rmk: Add grub-gettext_lib target and updates
30326 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30327 LDFLAGS.
30328 * gettext/gettext.c: New file. (Reads mo files).
30329 * include/grub/file.h (grub_file_pread): New prototype.
30330 * include/grub/i18n.h (_): New prototype.
30331 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30332 prototypes.
30333 * kern/misc.c (grub_gettext_dummy): New function.
30334 * normal/menu_text.c: Include <grub/i18n.h>.
30335 * normal/menu_text.c (print_timeout): Gettexttize string.
30336 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
30337 * po/POTFILES: Add `normal/menu_text.c'.
30338 * po/ca.po: Add new translations.
c3ea6bd4
CPE
30339 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30340 gettext module and defines locale_dir and lang in grub.cfg.
30341 * NEWS: Add gettext support.
30342
0fdb2568
RM
303432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30344
30345 * util/hostdisk.c: Include `<grub/i18n.h>'.
30346 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30347 (make_device_name): Rewrite using asprintf.
30348 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30349 (find_system_device): If a device is not found, generate one just
30350 by reusing the OS path name.
30351 (read_device_map): Make it permissible for device.map not to exist.
30352
f515aa62
RM
303532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * script/sh/execute.c: Move from here ...
30356 * script/execute.c: ... to here. Update all users.
30357 * script/sh/function.c: Move from here ...
30358 * script/function.c: ... to here. Update all users.
30359 * script/sh/lexer.c: Move from here ...
30360 * script/lexer.c: ... to here. Update all users.
30361 * script/sh/main.c: Move from here ...
30362 * script/main.c: ... to here. Update all users.
30363 * script/sh/parser.y: Move from here ...
30364 * script/parser.y: ... to here. Update all users.
30365 * script/sh/script.c: Move from here ...
30366 * script/script.c: ... to here. Update all users.
30367
f84b481b
RM
303682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30369
30370 * configure.ac: Detect all `emu' platforms. Define
30371 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30372 --enable-grub-emu logic. Disable include/grub/machine
30373 symlink on `emu' platforms.
30374
30375 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30376 * gensymlist.sh.in: Likewise.
30377
30378 * include/grub/i386/coreboot/machine.h: Remove file.
30379 * include/grub/i386/efi/machine.h: Likewise.
30380 * include/grub/i386/ieee1275/machine.h: Likewise.
30381 * include/grub/i386/pc/machine.h: Likewise.
30382 * include/grub/i386/qemu/machine.h: Likewise.
30383 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30384 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30385 * include/grub/x86_64/efi/machine.h: Likewise.
30386
30387 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30388 * commands/halt.c: Likewise.
30389 * commands/reboot.c: Likewise.
30390 * include/grub/autoefi.h: Likewise.
30391 * include/grub/i386/at_keyboard.h: Likewise.
30392 * include/grub/i386/kernel.h: Likewise.
30393 * include/grub/i386/loader.h: Likewise.
30394 * include/grub/i386/pc/memory.h: Likewise.
30395 * kern/dl.c: Likewise.
30396 * kern/i386/coreboot/init.c: Likewise.
30397 * loader/i386/bsd.c: Likewise.
30398 * loader/i386/linux.c: Likewise.
30399 * loader/multiboot_loader.c: Likewise.
30400 * term/i386/pc/serial.c: Likewise.
30401 * term/usb_keyboard.c: Likewise.
30402
30403 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30404 `<grub/machine/machine.h>'
30405 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30406 * util/misc.c: Remove `<grub/machine/machine.h>' and
30407 `<grub/machine/time.h>'.
30408
30409 * Makefile.in (enable_grub_emu): Remove variable.
30410 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30411
30412 * conf/any-emu.rmk: New file.
30413 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30414 (grub_emu_init.c): Move from here ...
30415 * conf/any-emu.rmk: ... to here.
30416
30417 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30418 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30419 * conf/any-emu.rmk: ... to here.
30420
4efeab03
RM
304212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30422
30423 * include/grub/parser.h (grub_parser_register): Document need
30424 of `name' parameter.
30425 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30426 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30427 "sh" to "grub".
30428
ea1dd8bf
RM
304292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30430
30431 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30432 `$(XGETTEXT)'.
30433 * include/grub/i18n.h (N_): New macro.
30434 * util/mkisofs/mkisofs.h: Likewise.
30435 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30436 around N_().
30437 (usage): Use gettext() to translate help strings when printing them.
30438
0c140626
RM
304392009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30440
30441 Based on patch from Bean
30442 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30443
30444 * video/efi_fb.c: New file.
30445 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30446 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30447 variables.
30448 * conf/x86_64-efi.rmk: Likewise.
30449
87d58298
RM
304502009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30451
30452 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30453 * util/i386/pc/grub-setup.c: Likewise.
30454
994cc3a3
ST
304552009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30456
30457 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30458 <hurd/fs.h>
30459 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30460 file_get_storage_info to implement grub_guess_root_device.
30461
26a61d6a
FZ
304622009-11-21 Felix Zielcke <fzielcke@z-51.de>
30463
30464 * Makefile.in (target): Use make's builtin $(shell) function
30465 instead of calling directly $(SHELL) to create the locale directories,
30466 inside the $(foreach) function.
30467
74ff1dd5
FZ
304682009-11-21 Felix Zielcke <fzielcke@z-51.de>
30469
30470 * util/grub-mkrescue.in: Print an error and usage if output option
30471 has not been given.
30472
0b787d0e
FZ
304732009-11-21 Felix Zielcke <fzielcke@z-51.de>
30474
30475 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30476 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30477 root and /boot are on different devices.
30478
1164b270
RM
304792009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30480
30481 Fix build for srcdir != objdir.
30482
30483 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30484 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30485 $(srcdir).
30486 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30487 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30488 reference for input.
30489
13774a2f
RM
304902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30491
30492 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30493 or hardlinking it). Remove -J option, Joliet is not compatible with
30494 multiple source directories.
30495
efda854e
RM
304962009-11-21 Carles Pina i Estany <carles@pina.cat>
304972009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30498
30499 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30500 (process_input_dir): New function. Process an arbitrary input
30501 directory.
30502 Misc adjustments to support both "override mode" and system-wide mode.
30503
6c09890c
FZ
305042009-11-20 Felix Zielcke <fzielcke@z-51.de>
30505
30506 * configure.ac (UNIFONT_BDF): Rename to ...
30507 (FONT_SOURCE): ... this. Update all users.
30508
a797824f
FZ
305092009-11-20 Felix Zielcke <fzielcke@z-51.de>
30510
30511 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30512 to the list of unifont files to look for.
30513
cd4f42b0
RM
305142009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30515
30516 Patch from Joe Auricchio <jauricchio@gmail.com>
30517 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30518 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30519 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30520
393c783d
FZ
305212009-11-19 Felix Zielcke <fzielcke@z-51.de>
30522
30523 * Makefile.in (install-local): Add a missing backslash.
30524
b2f1e327
FZ
305252009-11-19 Felix Zielcke <fzielcke@z-51.de>
30526
30527 * include/grub/x86_64/io.h: New file.
30528
f577f7a0
RM
305292009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30530
30531 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30532 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30533 Include `"progname.h"'.
30534 (main): Initialize gettext.
30535 * util/i386/pc/grub-setup.c: Gettexttize.
30536 * util/i386/pc/grub-mkimage.c: Likewise.
30537
30538 * Makefile.in (po/*.po): Redefine as ...
30539 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30540
3bc7896c
RM
30541 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30542
c37943b6
RM
305432009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30544
30545 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30546 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30547 (program_name): Remove.
30548 (main): Initialize gettext support.
6323f705
RM
30549 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30550 Include `<libintl.h>'.
30551 (_): New macro.
c37943b6
RM
30552
30553 * util/mkisofs/eltorito.c: Gettexttize.
30554 * util/mkisofs/joliet.c: Likewise.
30555 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30556 * util/mkisofs/multi.c: Likewise.
30557 * util/mkisofs/rock.c: Likewise.
30558 * util/mkisofs/tree.c: Likewise.
30559 * util/mkisofs/write.c: Likewise.
30560
3bc7896c
RM
30561 * po/POTFILES: Update with new files.
30562
5ce77c6e
RM
305632009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30564
30565 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30566 * util/mkisofs/iso9660.h: Likewise.
30567 * util/mkisofs/joliet.c: Likewise.
30568 * util/mkisofs/mkisofs.c: Likewise.
30569 * util/mkisofs/mkisofs.h: Likewise.
30570 * util/mkisofs/rock.c: Likewise.
30571 * util/mkisofs/tree.c: Likewise.
30572 * util/mkisofs/write.c: Likewise.
30573
30574 * util/mkisofs/eltorito.c (rcsid): Remove.
30575 * util/mkisofs/hash.c: Likewise.
30576 * util/mkisofs/joliet.c: Likewise.
30577 * util/mkisofs/name.c: Likewise.
30578 * util/mkisofs/rock.c: Likewise.
30579 * util/mkisofs/tree.c: Likewise.
30580 * util/mkisofs/write.c: Likewise.
30581
1dabbc77
RM
305822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30583
30584 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30585 instead of static allocation.
30586 * util/mkisofs/match.h: Likewise.
30587
633877cb
RM
305882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30589
3bc7896c
RM
30590 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30591 and `util/grub.d/10_linux.in'.
633877cb
RM
30592 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30593 translatable Shell files.
30594
af1c0c85
RM
305952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30596
30597 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30598
769ae37b
RM
305992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30600
30601 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30602 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30603 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30604 Add gettext initialization.
30605 (kfreebsd_entry): Make menuentry output translatable.
30606
306072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30608
30609 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30610 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30611 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30612 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30613 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30614 * po/LINGUAS: New file.
769ae37b
RM
30615
306162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30617
30618 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30619 other things).
30620 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30621 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30622 bindtextdomain() calls for gettext initialization.
30623
306242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30625
30626 * gnulib/progname.c: New file (imported from Gnulib).
30627 * gnulib/progname.h: Likewise.
30628 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30629 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30630 (usage): Replace `progname' with `program_name'.
30631 (main): Use set_program_name() for program name initialization.
30632
306332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30634
30635 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30636 from here ...
30637 * Makefile.in (CPPFLAGS): ... to here.
30638
306392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 * aclocal.m4: Move from here ...
30642 * acinclude.m4: ... to here.
30643 * autogen.sh: Add call to `aclocal'.
30644 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30645
306462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30647
30648 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30649 (LINGUAS): New variable.
30650 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30651 (install-local): Install MO files.
30652 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30653 * include/grub/i18n.h: New file.
3bc7896c
RM
30654 * po/POTFILES: New file.
30655 * po/ca.po: New file.
769ae37b
RM
30656 * util/grub.d/10_linux.in (bindir): New variable.
30657 Add gettext initialization.
30658 (linux_entry): Make menuentry output translatable.
30659 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30660 (usage): Make --help output translatable.
30661 (main): Initialize gettext.
30662
02c0a6ad
RM
306632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30664
30665 * import_gcry.py: New file (written by Vladimir with minor
30666 adjustments).
30667 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30668 ciphers.
30669 * INSTALL: Document that Python is required for bootstrap.
30670
306712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30672
30673 Import ciphers from libgcrypt 1.4.4.
30674
30675 * lib/libgcrypt/cipher/ChangeLog
30676 * lib/libgcrypt/cipher/ac.c
30677 * lib/libgcrypt/cipher/arcfour.c
30678 * lib/libgcrypt/cipher/bithelp.h
30679 * lib/libgcrypt/cipher/blowfish.c
30680 * lib/libgcrypt/cipher/camellia-glue.c
30681 * lib/libgcrypt/cipher/camellia.c
30682 * lib/libgcrypt/cipher/camellia.h
30683 * lib/libgcrypt/cipher/cast5.c
30684 * lib/libgcrypt/cipher/cipher.c
30685 * lib/libgcrypt/cipher/crc.c
30686 * lib/libgcrypt/cipher/des.c
30687 * lib/libgcrypt/cipher/dsa.c
30688 * lib/libgcrypt/cipher/ecc.c
30689 * lib/libgcrypt/cipher/elgamal.c
30690 * lib/libgcrypt/cipher/hash-common.c
30691 * lib/libgcrypt/cipher/hash-common.h
30692 * lib/libgcrypt/cipher/hmac-tests.c
30693 * lib/libgcrypt/cipher/md.c
30694 * lib/libgcrypt/cipher/md4.c
30695 * lib/libgcrypt/cipher/md5.c
30696 * lib/libgcrypt/cipher/primegen.c
30697 * lib/libgcrypt/cipher/pubkey.c
30698 * lib/libgcrypt/cipher/rfc2268.c
30699 * lib/libgcrypt/cipher/rijndael-tables.h
30700 * lib/libgcrypt/cipher/rijndael.c
30701 * lib/libgcrypt/cipher/rmd.h
30702 * lib/libgcrypt/cipher/rmd160.c
30703 * lib/libgcrypt/cipher/rsa.c
30704 * lib/libgcrypt/cipher/seed.c
30705 * lib/libgcrypt/cipher/serpent.c
30706 * lib/libgcrypt/cipher/sha1.c
30707 * lib/libgcrypt/cipher/sha256.c
30708 * lib/libgcrypt/cipher/sha512.c
30709 * lib/libgcrypt/cipher/tiger.c
30710 * lib/libgcrypt/cipher/twofish.c
30711 * lib/libgcrypt/cipher/whirlpool.c
30712
af2f93ac
RM
307132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30714
30715 Fix build for systems without error().
30716
30717 * gnulib/error.c: New file (imported from Gnulib).
30718 * gnulib/error.h: Likewise.
30719 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30720 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30721 (this variable is now used by error()).
30722
73fb3dd5
FZ
307232009-11-16 Felix Zielcke <fzielcke@z-51.de>
30724
814f5e96
FZ
30725 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30726 instead of relying that char is signed.
73fb3dd5 30727
a691ca33
VS
307282009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30729
30730 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30731 blocksize different from specified.
30732 (grub_pxefs_read): Likewise.
30733
2af8f0f4
FZ
307342009-11-16 Felix Zielcke <fzielcke@z-51.de>
30735
30736 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30737
30738 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30739 (grub_ata_readwrite): Likewise. Update 2 format strings.
30740 (grub_atapi_read): Likewise.
30741
30742 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30743 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30744 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30745 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30746 (ata_mod_LDFLAGS): Move from here ...
30747 * conf/i386.rmk: ... to here ...
30748 * conf/x86_64-efi.rmk: ... and here.
30749 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30750 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30751
83bdecaf
RM
307522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30753
30754 Relicense multiboot.h, with RMS' blessing.
30755
30756 * include/multiboot.h: Change to X11 license.
30757
fd6fd3d7
RM
307582009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30759
30760 Support --version in grub-mkisofs.
30761
30762 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30763 (OPTION_VERSION): New macro.
30764 (ld_options): Recognize --version.
30765 (usage): Move `program_name' from here ...
30766 (program_name): ... to here. Add `static' qualifier.
30767 (main): Recognize `OPTION_VERSION'.
30768
16a88c49
FZ
307692009-11-15 Felix Zielcke <fzielcke@z-51.de>
30770
30771 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30772 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30773
a4158476
RM
307742009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30775
30776 Fix help2man generation for mkisofs.
30777
30778 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30779 (usage): Send output to stdout (rather than stderr).
30780
fc2208b0
RM
307812009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30784 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30785 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30786 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30787 (bin_SCRIPTS): Add `grub-mkfloppy'.
30788 (grub_mkfloppy_SOURCES): New variable.
30789
30790 * util/grub-mkrescue.in: New file.
30791 * util/i386/pc/grub-mkfloppy.in: New file.
30792
30793 * util/i386/coreboot/grub-mkrescue.in: Remove.
30794 * util/i386/pc/grub-mkrescue.in: Remove.
30795
8d0edf4a
RM
307962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30797
30798 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30799 from here ...
30800 * include/multiboot.h (struct multiboot_header): ... to here. Update
30801 all users.
30802 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30803 from here ...
30804 * include/multiboot.h (struct multiboot_info): ... to here. Update
30805 all users.
30806 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30807 from here ...
30808 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30809 Update all users.
30810 * include/grub/multiboot.h (struct grub_mod_list): Move
30811 from here ...
30812 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30813 Update all users.
30814
a73f5969
RM
308152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30816
30817 * include/multiboot2.h (multiboot_word): Rename from this ...
30818 (multiboot2_word): ... to this. Update all users.
30819 (multiboot_header): Rename from this ...
30820 (multiboot2_header): ... to this. Update all users.
30821 (multiboot_tag_header): Rename from this ...
30822 (multiboot2_tag_header): ... to this. Update all users.
30823 (multiboot_tag_start): Rename from this ...
30824 (multiboot2_tag_start): ... to this. Update all users.
30825 (multiboot_tag_name): Rename from this ...
30826 (multiboot2_tag_name): ... to this. Update all users.
30827 (multiboot_tag_module): Rename from this ...
30828 (multiboot2_tag_module): ... to this. Update all users.
30829 (multiboot_tag_memory): Rename from this ...
30830 (multiboot2_tag_memory): ... to this. Update all users.
30831 (multiboot_tag_unused): Rename from this ...
30832 (multiboot2_tag_unused): ... to this. Update all users.
30833 (multiboot_tag_end): Rename from this ...
30834 (multiboot2_tag_end): ... to this. Update all users.
30835
1c8927f0
RM
308362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30837
30838 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30839 this platform we should support Multiboot1 first.
30840
30841 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30842 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30843 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30844
6e1e0d89
RM
308452009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30846
30847 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30848 of write calls (converting them to fwrite() if they aren't already).
30849 (get_torito_desc): Likewise.
30850 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30851
7f2b34d8
RM
308522009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30853
30854 * util/i386/pc/grub-install.in: Move from here ...
30855 * util/grub-install.in: ... to here. Update all users.
30856
c0ef3311
CW
308572009-11-11 Colin Watson <cjwatson@ubuntu.com>
30858
30859 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30860
e1f240ff
RM
308612009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30862
30863 Support for El Torito without floppy emulation.
30864
30865 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30866 (init_boot_catalog): Improve error handling.
30867 (get_torito_desc): Don't use floppy emulation unless requested by
30868 user. Patch boot information table when requested via
30869 `-boot-info-table'.
30870 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30871 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30872 (use_boot_info_table): New variables.
30873 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30874 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30875 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30876 `--eltorito-emul-floppy'.
30877 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30878 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30879 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30880 (use_boot_info_table, get_731): New prototypes.
30881 * util/mkisofs/write.c (get_731): New function.
30882
af7d4de5
FZ
308832009-11-11 Felix Zielcke <fzielcke@z-51.de>
30884
30885 Fix the generation of the man page.
30886
30887 * util/pc/i386/grub-install.in: Source
30888 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30889
2c55dbc0
RM
308902009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30891
30892 Large file support for grub-mkisofs.
30893
30894 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30895 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30896 (session_start): Upgrade type to `uint64_t'. Update all users.
30897 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30898 (struct directory_entry): Upgrade type of `starting_block' and
30899 `size' to `uint64_t'. Update all users.
30900 (struct deferred): Remove unused structure.
30901 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30902 Update all users.
30903 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30904 file is larger than `UINT32_MAX'.
30905 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30906 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30907 return value.
30908 (struct deferred_write): Upgrade type of `extent' and `size' to
30909 `uint64_t'. Update all users.
30910 (last_extent_written): Upgrade type to `uint64_t'. Update all
30911 users.
30912 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30913 Update all users. Upgrade type of `remain' to `int64_t' and
30914 `use' to `size_t'. Use error() to handle fread() errors.
30915 (write_files): Rely on write_one_file() rather than calling
30916 xfwrite() directly.
30917
6a9cead5
FZ
309182009-11-09 Felix Zielcke <fzielcke@z-51.de>
30919
30920 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30921
4825d790
RM
309222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30923
30924 * util/mkisofs/fnmatch.c: Remove.
30925 * util/mkisofs/getopt1.c: Likewise.
30926 * util/mkisofs/getopt.c: Likewise.
30927 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30928 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30929 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30930 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30931 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30932
30933 * configure.ac: Detect `mingw32msvc' host_os.
30934 Check for lstat(), getuid() and getgid().
30935
30936 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30937 instances of `u_char' with `uint8_t'.
30938
30939 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30940 [!HAVE_GETUID] (getuid): New function (stub).
30941 [!HAVE_GETGID] (getgid): Likewise.
30942 [!HAVE_LSTAT] (lstat): Likewise.
30943 [!S_IROTH] (S_IROTH): New macro (dummy).
30944 [!S_IRGRP] (S_IRGRP): Likewise.
30945
84b860d8
RM
309462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30949 conditional expression).
30950
66e9b712
RM
309512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 Import from Gnulib.
30954
30955 * gnulib/fnmatch.c: New file.
30956 * gnulib/fnmatch.h: Likewise.
30957 * gnulib/fnmatch_loop.c: Likewise.
30958 * gnulib/getopt.c: Likewise.
30959 * gnulib/getopt.h: Likewise.
30960 * gnulib/getopt1.c: Likewise.
30961 * gnulib/getopt_int.h: Likewise.
30962 * gnulib/gettext.h: Likewise.
30963
34f4a5b0
RM
309642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30965
30966 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30967 * normal/handler.c (read_handler_list): Likewise.
30968
ac451143
RM
309692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30970
30971 Misc cleanup.
30972
30973 * kern/command.c (grub_register_command_prio): Use
30974 grub_zalloc() instead of explicitly zeroing data.
30975 * kern/list.c: Include `<grub/mm.h>'.
30976 (grub_named_list_find): Replace `0' with `NULL'.
30977 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30978 (fs_module_list): Change type to `grub_named_list_t'. Update all
30979 users.
30980 * normal/dyncmd.c (read_command_list): Add space between function
30981 call and parenthesis.
30982 * normal/handler.c (read_handler_list): Likewise.
30983
4089b167
RM
309842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30985
30986 * normal/auth.c (punishment_delay): Moved from here ...
30987 (grub_auth_strcmp): ... to here (inside function).
30988
325f5037
RM
309892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 * include/grub/list.h (struct grub_named_list): Remove `const'
30992 qualifier from `name'.
30993 (struct grub_prio_list): Likewise.
30994
7aea29a3
RM
309952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30996
30997 * normal/auth.c: Include `<grub/time.h>'.
30998 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30999
3fd6f044
RM
310002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31001
31002 * normal/auth.c (punishment_delay): New variable.
31003 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
31004 (grub_auth_check_authentication): Punish failed login attempts with
31005 an incremental (2^N) delay.
31006
a4cd68e4
RM
310072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31008
31009 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
31010 path with $(srcdir).
31011
7ad12f43
VS
310122009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31013
31014 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
31015
c1129f03
RM
310162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
31017
31018 * util/i386/coreboot/grub-mkrescue.in: New file.
31019 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
31020 variables.
31021
31022 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
31023 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
31024 * configure.ac: Add header and function checks to satisfy grub-mkisofs
31025 requirements.
31026 * util/mkisofs/defaults.h: New file.
31027 * util/mkisofs/eltorito.c: Likewise.
31028 * util/mkisofs/exclude.h: Likewise.
31029 * util/mkisofs/fnmatch.c: Likewise.
31030 * util/mkisofs/getopt.c: Likewise.
31031 * util/mkisofs/getopt1.c: Likewise.
31032 * util/mkisofs/hash.c: Likewise.
31033 * util/mkisofs/include/fctldefs.h: Likewise.
31034 * util/mkisofs/include/mconfig.h: Likewise.
31035 * util/mkisofs/include/prototyp.h: Likewise.
31036 * util/mkisofs/include/statdefs.h: Likewise.
31037 * util/mkisofs/iso9660.h: Likewise.
31038 * util/mkisofs/joliet.c: Likewise.
31039 * util/mkisofs/match.c: Likewise.
31040 * util/mkisofs/match.h: Likewise.
31041 * util/mkisofs/mkisofs.c: Likewise.
31042 * util/mkisofs/mkisofs.h: Likewise.
31043 * util/mkisofs/multi.c: Likewise.
31044 * util/mkisofs/name.c: Likewise.
31045 * util/mkisofs/rock.c: Likewise.
31046 * util/mkisofs/tree.c: Likewise.
31047 * util/mkisofs/write.c: Likewise.
31048
ec8bb77d
VS
310492009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
31052 being insecure.
31053
3716b12c
RM
310542009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
31057 `grub-mkimage' (and use $0 when possible).
31058
b97b7b91
RM
310592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31060
31061 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31062 error message for excessively large memory map.
31063
04114812
RM
310642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31067 executable bit.
31068
e4eb2373
RM
310692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31070
31071 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31072 message for coreboot users.
31073
c926e1d5 310742009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 Fix build with GNU gold.
31077
31078 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31079 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31080 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31081 link addresses.
31082 * aclocal.m4: Likewise.
31083
86e5b1db 310842009-11-04 Felix Zielcke <fzielcke@z-51.de>
31085
31086 * configure.ac (AC_PREREQ): Bump to 2.59d.
31087 * INSTALL: Make it more clear when Autoconf and Ruby are
31088 needed and when to run `./autogen.sh'.
31089
246cd78f 310902009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31091
31092 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31093 OSes.
31094
4f9dfb37 310952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31096
31097 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31098
b82bd5e1 310992009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31100
31101 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31102 giving it to GNU Mach.
31103
ff1a9bca 311042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31105
31106 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31107 GNU partition number to get internal GRUB partition number.
31108
61697d9c 311092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31110
31111 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31112 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31113
a50569e1 311142009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31115
31116 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31117 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31118 case.
31119
5b153867 311202009-11-01 Felix Zielcke <fzielcke@z-51.de>
31121
31122 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31123
d9e2cd70 311242009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31125
31126 Fix build problem.
31127
31128 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31129 `-isystem=$(srcdir)/include'.
31130
805111a4 311312009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31132
31133 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31134 checked (grub-install doesn't currently rely on it).
31135
fa6e945f 311362009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31137
31138 Revert SVN r2660.
31139
31140 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31141 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31142 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31143 * conf/i386-ieee1275.rmk: Likewise.
31144 * conf/i386-pc.rmk: Likewise.
31145 * conf/powerpc-ieee1275.rmk: Likewise.
31146 * conf/sparc64-ieee1275.rmk: Likewise.
31147 * conf/x86_64-efi.rmk: Likewise.
31148
cee15086 311492009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31150
31151 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31152
95b9239e 311532009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31154
31155 * include/grub/misc.h: Stop checking for APPLE_CC.
31156
2ed19dfd 311572009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31158
31159 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31160 doesn't cause an infinite call loop.
31161
fdcdde19 311622009-10-28 Felix Zielcke <fzielcke@z-51.de>
31163
31164 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31165 strings.
31166
cefabfe1 311672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31168
31169 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31170 variable.
31171 * Makefile.in: Likewise.
31172
ed96ab6d 311732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31174
31175 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31176
0579b753 311772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31178
31179 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31180
478df409 311812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31182
31183 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31184
083d1679 311852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31186
31187 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31188 from here ...
31189 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31190
5947ae32 311912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31192
31193 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31194 in $(MAKEINFO) invocation. This makes it clear in output that
31195 errors are being ignored.
31196
94180ff6 311972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31198
31199 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31200 from here ...
31201 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31202 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31203 * conf/i386-ieee1275.rmk: Likewise.
31204 * conf/i386-pc.rmk: Likewise.
31205 * conf/powerpc-ieee1275.rmk: Likewise.
31206 * conf/sparc64-ieee1275.rmk: Likewise.
31207 * conf/x86_64-efi.rmk: Likewise.
31208
9031b03a 312092009-10-26 Colin Watson <cjwatson@ubuntu.com>
31210
31211 * util/grub-editenv.c (main): If only a command is given, use
31212 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31213 (usage): FILENAME is now optional and has a default.
31214
e4f6809b 312152009-10-26 Colin Watson <cjwatson@ubuntu.com>
31216
31217 Improve grub-mkconfig performance when there are several menu
31218 entries on a single filesystem.
31219
31220 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31221 prepare_grub_to_access_device.
31222 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31223 * util/grub.d/30_os-prober.in: Likewise.
31224
67937d4d 312252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31226
31227 * util/grub.d/10_freebsd.in: Remove.
31228 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31229 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31230
ee3756cc 312312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31232
5c35048e 31233 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 31234
4dea1c6f 312352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31236
31237 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31238 grub_util_error() call.
31239
042484d7 312402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31241
31242 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31243 `reserved_first_sector' member.
31244 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31245 `reserved_first_sector' to 1.
31246 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31247 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31248 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31249 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31250 filesystems which begin at first sector.
31251 (options): New option --skip-fs-probe.
31252 (main): Handle --skip-fs-probe and pass it to setup().
31253
d64448a7 312542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31255
31256 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31257 (memset): Fix function prototype.
31258
508d42ec 312592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
312602009-10-25 Vasily Averin <vvs@parallels.com>
31261
31262 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31263 `dirent.direntlen == 0'.
31264
b240e30c 312652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31266
31267 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31268 `cpio'.
31269 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31270
346e7fbe 312712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31272
31273 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31274 `__trampoline_setup' and `__ucmpdi2'.
31275 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31276 that libgcc provides.
31277
cdb308b0 312782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31279
31280 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31281 * include/grub/sparc64/libgcc.h (memset): Likewise.
31282 * include/grub/misc.h (memset, memcmp): New function prototypes.
31283
fb26abc2 312842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31285
31286 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31287 `cpio'.
31288 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31289
f6693890 312902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31291
31292 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31293 * docs/grub.cfg: Compensate for recent change in multiboot
31294 loader (since 2009-08-14 it won't pass filename to payload).
31295 * util/grub.d/10_hurd.in: Likewise.
31296
0933cdc0 312972009-10-21 Felix Zielcke <fzielcke@z-51.de>
31298
31299 * config.guess: Update to latest version from config git
31300 repository.
31301 * config.sub: Likewise.
31302
3b2fe8c2 313032009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31304
31305 Fix build on sparc64.
31306
31307 * configure.ac: Perform checks for libgcc symbols before
31308 adding `-nostdlib' to LDFLAGS.
31309
46695a62 313102009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31311
31312 Let user specify OpenBSD root device.
31313
31314 * loader/i386/bsd.c (openbsd_root): New variable.
31315 (openbsd_opts): New option 'root'.
31316 (OPENBSD_ROOT_ARG): New macro.
31317 (grub_openbsd_boot): Use 'openbsd_root'.
31318 (grub_cmd_openbsd): Fill 'openbsd_root'.
31319
d2b6b7fc 313202009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31321
31322 * NEWS: Misc adjustments.
31323
421bd7ac 313242009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31325
31326 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31327
f1d29d87 313282009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31329
31330 * configure.ac: Bump version to 1.97.
31331
6f3cd880 313322009-10-16 Colin Watson <cjwatson@ubuntu.com>
31333
31334 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31335 -mno-3dnow on x86 architectures. Some toolchains enable these
31336 features by default, but they rely on registers that aren't enabled
31337 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31338
035f7122 313392009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31340
31341 Make entry text a bit more readable.
31342
31343 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31344
44998e58 313452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31346
31347 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31348
cd2851b3 313492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31350
31351 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31352 operations.
31353
c6f3b249 313542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31355
31356 * configure.ac: Add missing dollar.
31357
6b5886ba 313582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31359
31360 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31361
31362 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31363 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31364 exports.
31365 * include/grub/sparc64/libgcc.h: Likewise. Use
31366 preprocessor conditionals.
31367
e9d66f6d 313682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31369
31370 * conf/common.rmk (grub-dumpbios): Remove rule.
31371 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31372 * util/grub-dumpbios.in: Remove file.
31373
9155bc17 313742009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31375
31376 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31377 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31378
31379 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31380 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31381 users.
31382
31383 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31384 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31385 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31386 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31387 users.
31388
bf7f7a18 313892009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31390
31391 * term/tparm.c: Switch to GPLv3.
31392
86564c26 313932009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31394
31395 * include/grub/i386/cpuid.h: Add header protection.
31396
5c936493 313972009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31398
31399 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31400
31401 * include/grub/i386/cpuid.h: New file.
31402 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31403 (has_longmode): Rename to ...
31404 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31405 `static' attribute.
31406 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31407 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31408 on a CPU that doesn't implement AMD64 instruction set.
31409
186e7cf2 314102009-10-06 Colin Watson <cjwatson@ubuntu.com>
31411
31412 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31413 that version.texi is rebuilt on version number changes.
31414
83b65c4a 314152009-10-06 Colin Watson <cjwatson@ubuntu.com>
31416
31417 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31418 Fixes bug #27602.
31419
d244281c 314202009-10-06 Colin Watson <cjwatson@ubuntu.com>
31421
31422 * util/i386/pc/grub-install.in: Source
31423 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31424 that the --grub-probe option will work.
31425 * util/sparc64/ieee1275/grub-install.in: Likewise.
31426
da25306d 314272009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31428
31429 * configure.ac: Bump version to 1.97~beta4.
31430
e8ee83c0 314312009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31432
31433 Resync grub-mkdevicemap in x86_64-efi.
31434
31435 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31436 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31437 `util/devicemap.c'.
31438
50dcabcf 314392009-10-01 Colin Watson <cjwatson@ubuntu.com>
31440
31441 * util/grub-editenv.c (create_envblk_file): Write new block with a
31442 .new suffix and then rename it into place, to ensure atomic
31443 creation.
31444
0e51c3a7 314452009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31446
31447 Do not automatically install headers.
31448
31449 * Makefile.in (include_DATA): Remove. Update all users.
31450
31299a95 314512009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31452
31453 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31454 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31455
31456 * util/osdetect.lua: Remove.
31457 * script/lua/lauxlib.c: Likewise.
31458 * script/lua/ldebug.c: Likewise.
31459 * script/lua/grub_main.c: Likewise.
31460 * script/lua/lauxlib.h: Likewise.
31461 * script/lua/ldebug.h: Likewise.
31462 * script/lua/ltablib.c: Likewise.
31463 * script/lua/liolib.c: Likewise.
31464 * script/lua/lstrlib.c: Likewise.
31465 * script/lua/lualib.h: Likewise.
31466 * script/lua/ldo.c: Likewise.
31467 * script/lua/ldump.c: Likewise.
31468 * script/lua/ldo.h: Likewise.
31469 * script/lua/loslib.c: Likewise.
31470 * script/lua/lundump.c: Likewise.
31471 * script/lua/grub_lib.c: Likewise.
31472 * script/lua/ldblib.c: Likewise.
31473 * script/lua/lundump.h: Likewise.
31474 * script/lua/lmem.c: Likewise.
31475 * script/lua/grub_lib.h: Likewise.
31476 * script/lua/lmathlib.c: Likewise.
31477 * script/lua/lstate.c: Likewise.
31478 * script/lua/ltm.c: Likewise.
31479 * script/lua/lvm.c: Likewise.
31480 * script/lua/lmem.h: Likewise.
31481 * script/lua/lstate.h: Likewise.
31482 * script/lua/ltm.h: Likewise.
31483 * script/lua/ltable.c: Likewise.
31484 * script/lua/lvm.h: Likewise.
31485 * script/lua/llex.c: Likewise.
31486 * script/lua/lgc.c: Likewise.
31487 * script/lua/grub_lua.h: Likewise.
31488 * script/lua/loadlib.c: Likewise.
31489 * script/lua/lfunc.c: Likewise.
31490 * script/lua/lopcodes.c: Likewise.
31491 * script/lua/lparser.c: Likewise.
31492 * script/lua/ltable.h: Likewise.
31493 * script/lua/llex.h: Likewise.
31494 * script/lua/lgc.h: Likewise.
31495 * script/lua/lfunc.h: Likewise.
31496 * script/lua/lbaselib.c: Likewise.
31497 * script/lua/lopcodes.h: Likewise.
31498 * script/lua/lparser.h: Likewise.
31499 * script/lua/lzio.c: Likewise.
31500 * script/lua/linit.c: Likewise.
31501 * script/lua/lobject.c: Likewise.
31502 * script/lua/llimits.h: Likewise.
31503 * script/lua/lstring.c: Likewise.
31504 * script/lua/lzio.h: Likewise.
31505 * script/lua/lapi.c: Likewise.
31506 * script/lua/lcode.c: Likewise.
31507 * script/lua/lua.h: Likewise.
31508 * script/lua/lobject.h: Likewise.
31509 * script/lua/lstring.h: Likewise.
31510 * script/lua/lapi.h: Likewise.
31511 * script/lua/lcode.h: Likewise.
31512 * script/lua/luaconf.h: Likewise.
31513
cb8a2c38 315142009-09-26 Colin Watson <cjwatson@ubuntu.com>
31515
31516 * docs/grub.texi (Command-line and menu entry commands): Document
31517 date and echo commands.
31518
6b9b6276 315192009-09-24 Pavel Roskin <proski@gnu.org>
31520
31521 * include/grub/kernel.h (struct grub_module_header): Remove
31522 `grub_module_header_types'. Make `type' unsigned. Make `size'
31523 32-bit on all platforms.
31524 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31525 8-bit field. Use grub_host_to_target32() for `size'.
31526 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31527 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31528 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31529
4e5a02a7 315302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31531
31532 Fix "lost keypress" bug in at_keyboard.
31533
31534 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31535 Checks for readyness of input buffer (without flushing it).
31536 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31537 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31538
c6dcedf6 315392009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31540
31541 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31542 size check within GRUB_MACHINE_PCBIOS section.
31543
74c958b1 315442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31545
31546 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31547 return value.
31548 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31549 KEYBOARD_ISREADY check.
31550 (grub_at_keyboard_checkkey): Rename to ...
31551 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31552 Remove gratuitous cast.
31553
ff420223 315542009-09-23 Colin Watson <cjwatson@ubuntu.com>
31555
31556 * configure.ac: Call AC_PROG_MKDIR_P.
31557 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31558 version.texi in $(builddir) rather than $(srcdir).
31559 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31560 to makeinfo's @include search path.
31561
d96875df 315622009-09-23 Felix Zielcke <fzielcke@z-51.de>
31563
31564 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31565
9b3f8365 315662009-09-23 Felix Zielcke <fzielcke@z-51.de>
31567
31568 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31569 for `*.dpkg-new'.
31570
c44c90db 315712009-09-21 Colin Watson <cjwatson@ubuntu.com>
31572
31573 Build info documentation. Some code borrowed from Automake.
31574
31575 * configure.ac: Check for makeinfo.
31576 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31577 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31578 docs/version.texi.
31579 (MOSTLYCLEANFILES): Add vti.tmp.
31580 (docs/version.texi, docs/stamp-vti): Update automatically.
31581 (docs/grub.info): Build info documentation. Use --force and ignore
31582 errors for now.
31583 (all-local): Add $(INFOS).
31584 (install-local): Install info files.
31585 (uninstall): Uninstall info files.
31586 * docs/version.texi: Remove from revision control. This file is
31587 automatically generated on build now.
31588 * gendistlist.sh: Add `*.info'.
31589
e0b37bb5 315902009-09-21 Felix Zielcke <fzielcke@z-51.de>
31591
31592 * kern/term.c: Fix indentation.
31593
5a78865b 315942009-09-21 Felix Zielcke <fzielcke@z-51.de>
31595
31596 * util/hostdisk.c: Fix a comment.
31597
dace7e8a 315982009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31599
31600 Fix regression introduced in r2539.
31601
31602 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31603 to 0xA1.
31604
a83d079b 316052009-09-19 Colin Watson <cjwatson@ubuntu.com>
31606
31607 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31608 os-prober. Under normal operation, it does not print anything to
31609 stderr; if it does, we need to debug it, and throwing away stderr
31610 makes that excessively difficult.
a83d079b 31611
be94a509 316122009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31613
31614 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31615
63f745e8 316162009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31617
31618 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31619 AC_LANG_PROGRAM from autoconf.
31620 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31621 prototypes (fixes warning).
31622
31623 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31624 `--disable-werror' was used.
31625
bbb2a70f 316262009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31627
31628 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31629 uninitialized `lastaddr'.
31630
77c24f1d 316312009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31632
0f0b8c87 31633 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31634
07197f23 316352009-09-14 Colin Watson <cjwatson@ubuntu.com>
31636
31637 * commands/test.c (get_fileinfo): Return immediately if
31638 grub_fs_probe fails.
31639
dabf1798 316402009-09-14 José Martínez <xosemp@gmail.com>
31641
31642 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31643
d52109a7 316442009-09-14 Colin Watson <cjwatson@ubuntu.com>
31645
31646 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31647 output.
31648
56532179 316492009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31650
31651 * configure.ac: Remove --enable-grub-pe2elf. Only build
31652 grub-pe2elf when needed by the build system itself.
31653 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31654
8ef070f5 316552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31656
31657 * configure.ac: Bump version to 1.97~beta3.
31658 * docs/version.texi: Likewise.
31659
61229557 316602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31661
31662 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31663 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31664 from here ...
31665 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31666 (grub_linux_setup_video): ... to here (with some adjustments).
31667
5c9f8d84 316682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31669
31670 Fix memory corruption issue (spotted by Colin Watson).
31671
31672 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31673 causing returned size to be stored in an incorrect memory location.
31674 Fix use of uninitialized value when storing the returned size.
31675
e8f5d6e9 316762009-09-12 Yves Blusseau <blusseau@zetam.org>
31677
31678 Change clean rules to properly remove files
31679
31680 * genmk.rb: add new clean rules
31681 * Makefile.in (clean): add the new targets
31682 (mostlyclean): likewise
31683
cda2a409 316842009-09-11 Colin Watson <cjwatson@ubuntu.com>
31685
31686 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31687 to grub_uint64_t.
31688 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31689 non-resident files.
31690
86695375 316912009-09-11 Colin Watson <cjwatson@ubuntu.com>
31692
31693 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31694 part of bug #27349.
31695
8aa1541a 316962009-09-10 Felix Zielcke <fzielcke@z-51.de>
31697
31698 * util/grub-mkconfig.in: Make the created config mode 400 and
31699 print a warning if it fails.
31700
48d9bb0a 317012009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31702
31703 * util/grub.d/40_custom.in: Ask user to type custom entries below
31704 comment, rather than below 'exec tail' line.
31705
3b0521be 317062009-09-10 Colin Watson <cjwatson@ubuntu.com>
31707
31708 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31709 visible in grub.cfg.
31710
50051d55 317112009-09-10 Colin Watson <cjwatson@ubuntu.com>
31712
31713 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31714 file.
31715
c0d34387 317162009-09-10 Felix Zielcke <fzielcke@z-51.de>
31717
31718 * docs/grub.cfg: Add an example menu entry for memtest86+.
31719
80a608f3 317202009-09-09 Felix Zielcke <fzielcke@z-51.de>
31721
a2094832 31722 * config.guess: Update to latest version from config git.
80a608f3 31723 * config.sub: Likewise.
31724
99423078 317252009-09-08 Colin Watson <cjwatson@ubuntu.com>
31726
31727 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31728 unknown-command case. Fixes bug #27320.
31729
44454e4c 317302009-09-08 Felix Zielcke <fzielcke@z-51.de>
31731
31732 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31733 `help' if the command exists.
31734
e30d87ad 317352009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31736
31737 * INSTALL: Require GCC 4.1.3 or later.
31738
9a86f1ec 317392009-09-06 Yves Blusseau <blusseau@zetam.org>
31740
31741 * Makefile.in (RMKFILES): add i386-qemu.rmk
31742 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31743 $(srcdir)/stamp-h.in
31744
7f26d466 317452009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31746
31747 * util/grub-probe.c (probe): Comment out buggy codepath, which
31748 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31749 should be re-enabled after 1.97.
31750
3a613259 317512009-09-05 Felix Zielcke <fzielcke@z-51.de>
31752
31753 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31754 find searches for.
31755
197f76c7 317562009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31757
31758 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31759 unnecessary calls to grub_error.
31760
70ba68ce 317612009-09-04 Colin Watson <cjwatson@ubuntu.com>
31762
31763 * NEWS: Mention `keystatus' and Unicode fonts.
31764
4ff0d7a4 317652009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31766
31767 * configure.ac: Bump version to 1.97~beta2.
31768 * docs/version.texi: Likewise.
31769
77c55a87 317702009-09-03 Colin Watson <cjwatson@ubuntu.com>
31771
31772 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31773 containing unwind information in some cases where it previously did
31774 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31775 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31776 discussion.
31777
f79572cd 317782009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31779
31780 Embedding loadenv module into grub-emu
31781
31782 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31783 commands/loadenv.c
31784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31785 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31786 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31790
93a81088 317912009-09-03 Magnus Granberg <zorry@ume.nu>
31792
31793 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31794 include -fPIE in the default specs.
31795 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31796 to TARGET_CFLAGS.
31797
160034b2 317982009-09-03 Felix Zielcke <fzielcke@z-51.de>
31799
31800 * INSTALL: Note that GNU Bison 2.3 or later is required.
31801
087c07c4 318022009-09-03 Colin Watson <cjwatson@ubuntu.com>
31803
31804 * kern/i386/pc/startup.S: Fix typo.
31805
cbf978c0 318062009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31807
31808 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31809 according to GCS.
31810
318112009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31812
31813 * docs/grub.texi (Naming convention): Describe one-based partition
31814 numbering.
31815 (Device syntax): Likewise.
31816 (File name syntax): Likewise.
31817 (Block list syntax): Likewise.
31818 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31819 menu.lst.
31820 (File name syntax): Likewise.
31821 (Command-line and menu entry commands): Document acpi, blocklist,
31822 crc, export, insmod, keystatus, ls, set, and unset commands.
31823
f3e8cdfd 318242009-09-02 Colin Watson <cjwatson@ubuntu.com>
31825
31826 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31827 to avoid implying that only one of --shift, --ctrl, or --alt may be
31828 used.
31829
c0bc232b 318302009-09-02 Colin Watson <cjwatson@ubuntu.com>
31831
31832 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31833 rather than comparing against S_IFREG, which will almost never work.
31834
aa0f752d 318352009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31836
31837 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31838 (write_blocklists): Likewise.
31839
ecb3166a 318402009-09-01 Colin Watson <cjwatson@ubuntu.com>
31841
31842 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31843 argument to grub_printf.
31844
c403a125 318452009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31846
31847 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31848 non GNU test.
31aba781 31849
b5e7312c 318502009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31851
31852 * kern/file.c (grub_file_read): Spelling fix
31853
fe00f472 318542009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31855
31856 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31857 loading of headers in some cases.
31858
cc55302e 318592009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31860
31861 * configure.ac: Bump version to 1.97~beta1.
31862 * docs/version.texi: Likewise.
31863
5c90cdd2 318642009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31865
31866 * include/grub/i386/xnu.h: Add license header.
31867 include grub/err.h explicitly.
31868
c90edae4 318692009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31870
31871 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31872 to `ufs' in the vfs.root.mountfrom kernel parameter.
31873
d8888b5c 318742009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31875
31876 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31877
31878 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31879 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31880
31881 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31882 `ARRAY_SIZE' macro.
31883
6f07b921 318842009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31885
31886 * kern/file.c (grub_file_read): Check offset.
31887 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31888 * fs/jfs.c (grub_jfs_read_file): Likewise.
31889 * fs/ntfs.c (grub_ntfs_read): Likewise.
31890 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31891 * fs/minix.c (grub_minix_read_file): Correct offset check.
31892 * fs/ufs.c (grub_ufs_read_file): Likewise.
31893
b4f34077 318942009-08-28 Colin Watson <cjwatson@ubuntu.com>
31895
31896 * term/i386/pc/console.c (bios_data_area): Cast
31897 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31898
e7c69859 318992009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31900
31901 1-bit optimised blitters.
31902
31903 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31904 prototype.
31905 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31906 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31907 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31908 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31909 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31910 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31911 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31912 function.
31913 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31914 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31915 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31916 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31917 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31918 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31919 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31920 when possible.
31921 * video/video.c (grub_video_get_blit_format): Return
31922 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31923
a57da43f 319242009-08-28 Colin Watson <cjwatson@ubuntu.com>
31925
31926 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31927 the first argument to grub_printf.
31928
4cbe67e5 319292009-08-28 Colin Watson <cjwatson@ubuntu.com>
319302009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31931
31932 Add `getkeystatus' terminal method. Add a new `keystatus' command
31933 to query it.
31934
31935 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31936 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31937 modifier key bitmasks.
31938 (struct grub_term_input): Add `getkeystatus' member.
31939 (grub_getkeystatus): Add prototype.
31940 * kern/term.c (grub_getkeystatus): New function.
31941
31942 * include/grub/i386/pc/memory.h
31943 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31944 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31945 Data Area layout.
31946 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31947 (grub_console_term_input): Set `getkeystatus' member.
31948 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31949 constants.
31950 (grub_usb_keyboard_getreport): Likewise.
31951 (grub_usb_keyboard_checkkey): Likewise.
31952 (grub_usb_keyboard_getkeystatus): New function.
31953 (grub_usb_keyboard_term): Set `getkeystatus' member.
31954
31955 * commands/keystatus.c: New file.
31956 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31957 (keystatus_mod_SOURCES): New variable.
31958 (keystatus_mod_CFLAGS): Likewise.
31959 (keystatus_mod_LDFLAGS): Likewise.
31960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31961 commands/keystatus.c.
31962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31963 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31964 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31967 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31968
6e2a9085 319692009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31970
31971 Split befs.mod and afs.mod into *_be.mod and *.mod
31972
31973 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31974 (grub_fstest_SOURCES): Likewise.
31975 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31976 (afs_be_mod_SOURCES): New variable.
31977 (afs_be_mod_CFLAGS): Likewise.
31978 (afs_be_mod_LDFLAGS): Likewise.
31979 (befs_be_mod_SOURCES): Likewise.
31980 (befs_be_mod_CFLAGS): Likewise.
31981 (befs_be_mod_LDFLAGS): Likewise.
31982 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31983 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31984 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31985 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31986 (grub_emu_SOURCES): Likewise.
31987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31988 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31989 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31990 * fs/afs_be.c: New file.
31991 * fs/befs_be.c: New file.
31992 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31993 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31994 (U16): Replaced with ...
31995 (grub_afs_to_cpu16): ...this. All users updated.
31996 (U32): Replaced with ...
31997 (grub_afs_to_cpu32): ...this. All users updated.
31998 (U64): Replaced with ...
31999 (grub_afs_to_cpu64): ...this. All users updated.
32000 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
32001 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 32002 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 32003 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32004 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32005 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32006 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32007 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
32008 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
32009 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
32010 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
32011
32a71655 320122009-08-26 Bean <bean123ch@gmail.com>
32013
32014 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
32015 64-bit number.
32016 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
32017 (grub_xfs_inode_block): Change return type to grub_uint64_t.
32018 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
32019
552bf6c5 320202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32021
32022 NetBSD memory map support.
32023
32024 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
32025 (grub_netbsd_btinfo_mmap_header): New structure.
32026 (grub_netbsd_btinfo_mmap_entry): Likewise.
32027 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
32028
1ae2078c 320292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32030
32031 Enable bsd.mod on coreboot.
32032
32033 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
32034 (bsd_mod_SOURCES): New variable.
32035 (bsd_mod_CFLAGS): Likewise.
32036 (bsd_mod_LDFLAGS): Likewise.
32037 (bsd_mod_ASFLAGS): Likewise.
32038 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
32039 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
32040
beefc598 320412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32042
32043 Cleanup NetBSD root support.
32044
32045 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
32046 grub_bsd_get_device.
32047 Fix typo.
32048
3b76e68b 320492009-08-25 Felix Zielcke <fzielcke@z-51.de>
32050
32051 * util/grub.d/00_header.in: Move check for the video backend of
32052 gfxterm from here ...
32053 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
32054 a suitable video backend.
32055
aea664ea 320562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32057
32058 Fix breakage in grub-setup.
32059
32060 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32061 "msdos_partition_map".
32062
ff747d50 320632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32064
32065 Fix breakage in normal/auth.c.
32066
32067 * normal/auth.c (grub_iswordseparator): New function.
32068
e7e1f93f 320692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32070
32071 Authentication support.
32072
32073 * commands/password.c: New file.
32074 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32075 (password_mod_SOURCES): New variable.
32076 (password_mod_CFLAGS): Likewise.
32077 (password_mod_LDFLAGS): Likewise.
32078 (normal_mod_SOURCES): Add normal/auth.c.
32079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32080 normal/auth.c.
32081 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32083 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32086 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32087 * include/grub/auth.h: New file.
32088 * include/grub/err.h (grub_err_t): New enum value
32089 GRUB_ERR_ACCESS_DENIED.
32090 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32091 'users'.
32092 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32093 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32094 users updated.
32095 * normal/auth.c: New file.
32096 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32097 (grub_cmdline_run): Don't allow to go to command line without
32098 authentication.
32099 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32100 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32101 menuentry without superuser rights.
32102 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32103 user isn't a superuser.
32104
70f1161d 321052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32106
32107 Save space by inlining misc.c functions.
32108
32109 * kern/misc.c (grub_iswordseparator): Made static.
32110 * kern/misc.c (grub_strcat): Moved from here ...
32111 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32112 * kern/misc.c (grub_strncat): Moved from here ...
32113 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32114 * kern/misc.c (grub_strcasecmp): Moved from here ...
32115 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32116 * kern/misc.c (grub_strncasecmp): Moved from here ...
32117 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32118 * kern/misc.c (grub_isalpha): Moved from here ...
32119 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32120 * kern/misc.c (grub_isdigit): Moved from here ...
32121 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32122 * kern/misc.c (grub_isgraph): Moved from here ...
32123 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32124 * kern/misc.c (grub_tolower): Moved from here ...
32125 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32126
48e40bff 321272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32128
32129 * script/sh/function.c (grub_script_function_find): Cut error message
32130 not to flood terminal.
32131 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32132 limit.
32133 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32134
c385bfc3 321352009-08-24 Colin Watson <cjwatson@ubuntu.com>
32136
32137 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32138 `report' grub_uint8_t *.
32139 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32140 Use a 50-millisecond timeout rather than just repeating
32141 grub_usb_keyboard_getreport 50 times.
32142 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32143
2d21e3e8 321442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32145
32146 Rename *_partition_map to part_*
32147
32148 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32149 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32150 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32151 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32152 All users updated.
32153 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32154 All users updated.
32155 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32156 * util/grub-probe.c (probe_partmap): Don't transform partition name
32157 to get module name.
32158
dd103c4e 321592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32160
32161 Fix OpenBSD and NetBSD support.
32162
32163 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32164 memory address conflict.
32165 (OPENBSD_MMAP_ACPI): New definition.
32166 (OPENBSD_MMAP_NVS): Likewise.
32167 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32168 and OPENBSD_MMAP_NVS.
32169 Add memory map terminator
32170 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 32171 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 32172
16c84d74 321732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 Let user specify NetBSD root device.
32176
32177 * loader/i386/bsd.c (netbsd_root): New variable.
32178 (netbsd_opts): New option 'root'.
32179 (NETBSD_ROOT_ARG): New macro.
32180 (grub_netbsd_boot): Use 'netbsd_root'.
32181 (grub_bsd_unload): Free 'netbsd_root'.
32182 (grub_cmd_netbsd): Fill 'netbsd_root'.
32183
adb29902 321842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32185
32186 Support for 64-bit NetBSD.
32187
32188 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32189 point when booting non-FreeBSD.
32190
f5ae9f74 321912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32192
32193 Support --no-smp and --no-acpi for NetBSD.
32194
32195 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32196 (NETBSD_AB_NOACPI): Likewise.
32197 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32198 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32199
de74f136 322002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32201
32202 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32203 errors.
32204 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32205 errors. Call grub_error when needed.
32206
e9a925da 322072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32208
32209 * commands/search.c (search_fs): Try searching without autoload first.
32210 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32211 filesystem module explicitly for faster booting.
32212
5174302b 322132009-08-23 Colin Watson <cjwatson@ubuntu.com>
32214
32215 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32216
c8c80635 322172009-08-23 Colin Watson <cjwatson@ubuntu.com>
32218
32219 * util/grub.d/30_os-prober.in: Disable os-prober if
32220 `GRUB_DISABLE_OS_PROBER' was set to true.
32221
71acf5e5 322222009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32223
32224 * partmap/pc.c: Rename to ...
32225 * partmap/msdos.c: ... this. Update all users.
32226 (grub_pc_partition_map): Rename to ...
32227 (grub_msdos_partition_map): ... this. Update all users.
32228
32229 * parttool/pcpart.c: Rename to ...
32230 * parttool/msdospart.c: ... this. Update all users.
32231
32232 * include/grub/pc_partition.h: Rename to ...
32233 * include/grub/msdos_partition.h: ... this. Update all users.
32234 (grub_pc_partition_bsd_entry): Rename to ...
32235 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32236 (grub_pc_partition_disk_label): Rename to ...
32237 (grub_msdos_partition_disk_label): ... this. Update all users.
32238 (grub_pc_partition_entry): Rename to ...
32239 (grub_msdos_partition_entry): ... this. Update all users.
32240 (grub_pc_partition_mbr): Rename to ...
32241 (grub_msdos_partition_mbr): ... this. Update all users.
32242 (grub_pc_partition): Rename to ...
32243 (grub_msdos_partition): ... this. Update all users.
32244 (grub_pc_partition_is_empty): Rename to ...
32245 (grub_msdos_partition_is_empty): ... this. Update all users.
32246 (grub_pc_partition_is_extended): Rename to ...
32247 (grub_msdos_partition_is_extended): ... this. Update all users.
32248 (grub_pc_partition_is_bsd): Rename to ...
32249 (grub_msdos_partition_is_bsd): ... this. Update all users.
32250
32251 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32252 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32253 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32254 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32255 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32256 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32257 (gpt_mod_LDFLAGS): Rename to ...
32258 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32259 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32260 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32261 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32262 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32263 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32264 (part_gpt_mod_LDFLAGS): ... this.
32265 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32266 `pcpart.mod' to `msdospart.mod'.
32267 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32268 to ...
32269 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32270 (msdospart_mod_LDFLAGS): ... this.
32271
c11fded5 322722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32273
32274 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32275 (openbsd_opts): Likewise.
32276 (netbsd_opts): Likewise.
32277 (freebsd_flags): Added 0 terminator.
32278 (openbsd_flags): Likewise.
32279 (netbsd_flags): Likewise.
32280 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32281 (grub_cmd_freebsd): Transformed into extended command.
32282 (grub_cmd_openbsd): Likewise.
32283 (grub_cmd_netbsd): Likewise.
32284 (cmd_freebsd): Changed type to grub_extcmd_t.
32285 (cmd_openbsd): Likewise.
32286 (cmd_netbsd): Likewise.
32287 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32288 grub_cmd_openbsd as extended commands.
32289 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32290 cmd_netbsd and cmd_openbsd
32291
11d1c769 322922009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32293
32294 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32295
7a9094e5 322962009-08-21 Pavel Roskin <proski@gnu.org>
32297
5496c37e 32298 * Makefile.in (install-local): When checking if a file is in the
32299 build directory, use "test -e" to detect symlinks.
32300
7a9094e5 32301 * Makefile.in (install-local): Remove all files in
32302 $(DESTDIR)$(pkglibdir) before installing new files there.
32303
e53cea11 323042009-08-18 Felix Zielcke <fzielcke@z-51.de>
32305
32306 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32307 grub-mkelfimage.
32308
9aced544 323092009-08-18 Felix Zielcke <fzielcke@z-51.de>
32310
32311 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32312 explicitly specified by the user.
32313
b7da6bab 323142009-08-18 Pavel Roskin <proski@gnu.org>
32315
32316 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32317 grub_uint8_t pointer for data.
32318 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32319 Likewise.
32320 * video/fb/fbutil.c: Remove unnecessary casts.
32321
19f1b335 323222009-08-17 Michal Suchanek <hramrach@centrum.cz>
32323
32324 VBE cleanup.
32325
32326 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32327 (grub_vbe_set_video_mode): Save active mode info
32328 only after setting the mode.
32329 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32330 second argument.
32331
2f467aa9 323322009-08-17 Michal Suchanek <hramrach@centrum.cz>
32333
32334 Rename variables for clarity.
32335
32336 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32337 (active_vbe_mode_info): ... this. All users updated.
32338 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32339 All users updated.
32340 (initial_mode): Rename to ...
32341 (initial_vbe_mode): ... this. All users updated.
32342 (mode_in_use): Rename to ..
32343 (vbe_mode_in_use): ... this. All users updated.
32344 (mode_list): Rename to ..
32345 (vbe_mode_list): ... this. All users updated.
32346 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32347 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32348 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32349 'mode_list_size' to 'vbe_mode_list_size'.
32350 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32351 'best_mode_info' to 'best_vbe_mode_info' and
32352 'best_mode' to 'best_vbe_mode'
32353
6025fcd7 323542009-08-17 Michal Suchanek <hramrach@centrum.cz>
32355
32356 Remove duplicate grub_video_fb_get_video_ptr.
32357
32358 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32359 (grub_video_fb_get_video_ptr): ... this.
32360 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32361 * video/fb/fbutil.c: Add comment about addressing.
32362 (get_data_ptr): Rename to ...
32363 (grub_video_fb_get_video_ptr): ... this. All users updated.
32364 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32365
cc8c6faf 323662009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32367
32368 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32369 grub_dprintf() that was just added.
32370
08aa61f0 323712009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32372
32373 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32374 (DEFAULT_VIDEO_MODE): Remove macros.
32375 (grub_linux_boot): Remove assumption that Linux has FB support,
32376 and use "text" as default video mode.
32377
7cef4f75 323782009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32379
32380 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32381 grub_dprintf.
32382 * fs/fat.c (grub_fat_read_data): Likewise.
32383
e1f39873 323842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32385
32386 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32387 payload.
32388 (grub_module): Likewise.
32389
c166d79e 323902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32391
32392 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32393 mbi->cmdline but free playground.
32394
c60cee8e 323952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32396
32397 Handle group offset on UFS1.
32398
32399 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32400 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32401
c0d8b5d4 324022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32403
32404 Split ufs.mod into ufs1.mod and ufs2.mod.
32405
32406 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32407 (grub_fstest_SOURCES): Likewise.
32408 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32409 (ufs_mod_SOURCES): Remove.
32410 (ufs_mod_CFLAGS): Likewise.
32411 (ufs_mod_LDFLAGS): Likewise.
32412 (ufs1_mod_SOURCES): New variable.
32413 (ufs1_mod_CFLAGS): Likewise.
32414 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32415 (ufs2_mod_SOURCES): New variable.
32416 (ufs2_mod_CFLAGS): Likewise.
32417 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32419 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32420 Likewise.
32421 (grub_emu_SOURCES): Likewise.
32422 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32423 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32424 (grub_setup_SOURCES): Likewise.
32425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32426 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32427 (grub_setup_SOURCES): Likewise.
32428 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32429 Likewise.
32430 * fs/ufs2.c: New file.
32431 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32432
d3539132 324332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32434
32435 Framebuffer split.
32436
32437 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32438 subsystem at the end.
32439 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32440 (video_fb_mod_SOURCES): New variable.
32441 (video_fb_mod_CFLAGS): Likewise.
32442 (video_fb_mod_LDFLAGS): Likewise.
32443 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32444 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32445 * video/i386/pc/vbeblit.c: Moved from here ...
32446 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32447 * video/i386/pc/vbefill.c: Moved from here ...
32448 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32449 * video/i386/pc/vbeutil.c: Moved from here ...
32450 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32451 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32452 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32453 * include/grub/i386/pc/vbefill.h: Moved from here ...
32454 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32455 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32456 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32457 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32458 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32459 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32460 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32461 (grub_video_adapter): Added 'get_info_and_fini'.
32462 (grub_video_get_info_and_fini): New prototype.
32463 (grub_video_set_mode): make modestring const char *.
32464 * loader/i386/linux.c (grub_linux_setup_video): Use
32465 grub_video_get_info_and_fini.
32466 (grub_linux_boot): Move modesetting just before booting.
32467 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32468 grub_video_get_info_and_fini.
32469 * video/i386/pc/vbe.c: Moved framebuffer part ...
32470 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32471 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32472 grub_video_fbstd_colors and grub_video_fb_set_palette.
32473 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32474 grub_video_fb_init.
32475 (grub_video_vbe_fini): Use grub_video_fb_fini.
32476 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32477 render_target and use grub_video_fb_set_active_render_target and
32478 grub_video_fb_set_palette.
32479 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32480 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32481 (grub_video_vbe_adapter): Use framebuffer.
32482 * video/video.c (grub_video_get_info_and_fini): New function.
32483 (grub_video_set_mode): Make modestring const char *.
32484 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32485 values are already initialised.
32486
d404ee56 324872009-08-14 Pavel Roskin <proski@gnu.org>
32488
32489 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32490 ABS and APPLE_CC.
32491 * boot/i386/pc/diskboot.S: Likewise.
32492 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32493 sectors allow compilation on MacOSX.
32494 * conf/i386-pc.rmk: Enable unconditional compilation of
32495 lnxboot.img.
32496
9a10df16 324972009-08-13 Colin Watson <cjwatson@ubuntu.com>
32498
32499 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32500 * util/grub.d/00_header.in: Enter interruptible sleep if
32501 GRUB_HIDDEN_TIMEOUT is set.
32502
be3c9ca7 325032009-08-13 Yves Blusseau <blusseau@zetam.org>
32504
32505 * include/grub/symbol.h: Add the LOCAL macro.
32506 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32507 starting with "L_".
32508
1f9e557e 325092009-08-13 Pavel Roskin <proski@gnu.org>
32510
9ca62843 32511 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32512 any modern compilers we support.
32513
1f9e557e 32514 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32515 Use local labels starting with "L_" so that Apple assembler
32516 knows they are local.
32517
81623db6 325182009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32519
32520 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32521 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32522 (bsd_kernel_types): ... this enum.
32523
32524 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32525 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32526 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32527
32528 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32529 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32530 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32531 messages.
32532
f5d35e7a 325332009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32534
32535 * util/grub-dumpdevtree: Moved from here ...
32536 * util/i386/efi/grub-dumpdevtree: ... to here.
32537 (hexify): New function. Converts a string to its hex version.
32538 Generate hex versions of "efi" and "device-properties" by calling
32539 hexify() on the ASCII strings rather than by hardcoding numbers.
32540
d1e1d527 325412009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32542
32543 * fs/jfs.c: Update copyright year.
32544
1ebbe064 325452009-08-08 Felix Zielcke <fzielcke@z-51.de>
32546
32547 * util/grub.d/00_header.in: Fix a comment.
32548 * util/grub.d/10_linux.in: Likewise.
32549 * util/grub.d/10_windows.in: Likewise.
32550 * util/grub.d/10_hurd.in: Likewise.
32551
a78c8d24 325522009-08-08 Felix Zielcke <fzielcke@z-51.de>
32553
32554 * util/grub-mkconfig.in: Allow the user to specify the used font
32555 with GRUB_FONT.
32556
29a6b9e8 325572009-08-08 Pavel Roskin <proski@gnu.org>
32558
b5f16cc4 32559 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32560 available, xfs.mod needs it now.
32561
2f5cb827 32562 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32563 the "g" modifier in sed when the intention is to strip something
32564 once. This fixes comparison of kernels with multiple dashes.
32565
29a6b9e8 32566 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32567 on it. Add missing space before closing bracket. Fix
32568 misleading formatting.
32569
892a3d98 325702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32571
32572 * docs/grub.texi: Major overhaul. Remove all sections that are
32573 specific to GRUB Legacy, or mostly composed of Legacy-specific
32574 information.
32575
ed94253f 325762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32577
32578 * docs/version.texi: New file. Provides version information for
32579 grub.texi.
32580
126d6628 325812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32582
32583 * docs/grub.texi: Update CVS information to SVN.
32584 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32585
998b5aa9 325862009-08-07 Felix Zielcke <fzielcke@z-51.de>
32587
32588 * util/grub-mkconfig.in: Remove a wrong `fi'.
32589
818e094a 325902009-08-07 Felix Zielcke <fzielcke@z-51.de>
32591
32592 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32593 (grub_jfs_uuid): New function.
32594 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32595
b969c52f 325962009-08-07 Felix Zielcke <fzielcke@z-51.de>
32597
32598 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32599 of it to ...
32600 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32601 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32602
7a4894cc 326032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32604
32605 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32606 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32607 Update all users.
32608
32609 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32610 not just "vmlinu[zx]".
32611 Moved from here ...
32612 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32613 all users.
32614
32615 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32616 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32617 all users.
32618
4e2171f8 326192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32620
32621 * util/grub.d/10_freebsd.in: Use an absolute device path for
32622 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32623
6dcfcb32 326242009-08-06 Felix Zielcke <fzielcke@z-51.de>
32625
32626 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32627 handling of multiple abstraction modules.
32628
f56a8756 326292009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32630
32631 Fix a bug resulting in black screen when loading Linux using a
32632 packed video mode.
32633
32634 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32635 function.
32636
32637 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32638 (grub_vbe_bios_getset_dac_palette_width): New function.
32639 (grub_vbe_bios_get_dac_palette_width)
32640 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32641 grub_vbe_bios_getset_dac_palette_width()).
32642
32643 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32644 check for return status.
32645 (grub_vbe_get_video_mode_info): When getting information for a packed
32646 mode (<= 8 bpp), obtain DAC palette width using
32647 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32648 {red,green,blue}_mark_size.
32649
222671b2 326502009-08-04 Felix Zielcke <fzielcke@z-51.de>
32651
ecb1a6d9 32652 * commands/search.c (options): Fix help output to match actual code.
222671b2 32653
f84114f5 326542009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32655
32656 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32657 of homegrown code.
32658
bd288a20 326592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32660
32661 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32662 on XFS or ReiserFS.
32663
8aab5e25 326642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32665
32666 Support Apple partition map with sector size different from 512 bytes.
32667
32668 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32669 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32670 and 'apart.partmap_size'.
32671
6ad6258a 326722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
326732009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32674
32675 Fix cpuid command.
32676
32677 * commands/i386/cpuid.c (options): New variable.
32678 (grub_cmd_cpuid): Return real error.
32679 (GRUB_MOD_INIT(cpuid)): Declare options.
32680
67459bc6 326812009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32682
32683 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32684 valid.
32685
fbc6ab54 326862009-07-31 Bean <bean123ch@gmail.com>
32687
32688 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32689 log2_inode.
32690 (grub_fshelp_node): Move inode field to the end.
32691 (grub_xfs_data): Remove inode field.
32692 (grub_xfs_inode_block): Calculate inode size using sblock.
32693 (grub_xfs_inode_offset): Likewise.
32694 (grub_xfs_read_inode): Calculate inode size using sblock.
32695 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32696 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32697 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32698 to match inode size.
32699 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32700 not accessible when data is null.
32701 (grub_xfs_open): Likewise.
32702
f45d6cfc 327032009-07-31 Bean <bean123ch@gmail.com>
32704
32705 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32706 Don't change pv->disk if it's already set.
32707
32708 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32709 (grub_raid_register): ... here.
32710 (grub_raid_rescan): Removed.
32711
32712 * include/grub/raid.h (grub_raid_rescan): Removed.
32713
32714 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32715 (fstest): Replace grub_raid_rescan with module fini function followed
32716 by init function.
32717
32718 * util/grub-probe.c: Add include file <grub/raid.h>.
32719 (probe_raid_level): New function.
32720 (probe): Detect abstraction by walking the disk device, support two
32721 level of abstraction (LVM on RAID) when detecting partition map.
32722
24443b5a 327232009-07-31 Pavel Roskin <proski@gnu.org>
32724
32725 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32726 to grub_zalloc(), it was erroneous.
32727 Reported by Bean <bean123ch@gmail.com>
32728
a275d9e7 327292009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32730
32731 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32732 embedding zone, not only the first one.
a275d9e7 32733
56c5a47f 327342009-07-29 Joe Auricchio <jauricchio@gmail.com>
32735
32736 * term/gfxterm.c (clear_char): New function.
32737 (grub_virtual_screen_setup): Use clear_char.
32738 (scroll_up): Likewise.
32739 (grub_virtual_screen_cls): Likewise.
32740
67bb323a 327412009-07-29 Felix Zielcke <fzielcke@z-51.de>
32742
32743 * util/deviceiter.c (get_acceleraid_disk_name): New static
32744 function.
32745 (grub_util_iterate_devices): Handle Accelraid devices.
32746 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32747
388a7c75 327482009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32749
32750 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32751 separator for the suggested gfxpayload string (';' collides with the
32752 parser and needs escaping).
32753
3bb7abcf 327542009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32755
32756 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32757 Clear direction flag before jumping to OS.
32758 (grub_multiboot2_real_boot): Likewise.
32759
2ddd36d7 327602009-07-28 Felix Zielcke <fzielcke@z-51.de>
32761
32762 * util/i386/pc/grub-install: Fix parsing of --disk-module
32763 option.
32764
c521b62b 327652009-07-28 Felix Zielcke <fzielcke@z-51.de>
32766
32767 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32768 when embedding.
32769
880e0a0c 327702009-07-26 Felix Zielcke <fzielcke@z-51.de>
32771
32772 * util/grub-mkconfig.in (package_version): New variable.
32773 Use it do display the version.
32774
2366e356 327752009-07-25 Felix Zielcke <fzielcke@z-51.de>
32776
32777 * kern/file.c (grub_file_open): Revert to previous check with
32778 grub_errno.
32779
7ad8c80e 327802009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32781
32782 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32783 from help line. It's out of sync with code.
32784
72b9658b 327852009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32786
32787 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32788 entries on failed boot.
32789
77435277 327902009-07-25 Felix Zielcke <fzielcke@z-51.de>
32791
32792 * kern/file.c (grub_file_open): Fix an error check.
32793
fcaa8b21 327942009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32795
35d16c74 32796 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32797 partition map couldn't be identified.
fcaa8b21 32798
48904cd1 327992009-07-23 Pavel Roskin <proski@gnu.org>
32800
ef3c317f 32801 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32802 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32803 case of little endian words becomes just an optimization.
32804 Respect const modifier.
ad8ea1f4 32805 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32806
48904cd1 32807 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32808 to avoid loss of upper bits if align is unsigned and shorter
32809 than addr.
32810
260c9a89 328112009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32812
32813 UUID support for UFS
32814
32815 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32816 (grub_ufs_uuid): New function.
32817 (grub_ufs_fs): add .uuid
32818
f76ce889 328192009-07-21 Pavel Roskin <proski@gnu.org>
32820
32821 * kern/dl.c (grub_dl_check_header): Make static.
32822
6a6cbcaf 328232009-07-21 Felix Zielcke <fzielcke@z-51.de>
32824
32825 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32826 add drivemap for Vista. It breaks Windows 7.
32827
cffcddb2 328282009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32829
32830 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32831 128 bytes
32832
1ef44b80 328332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32834
32835 Add BFS support
32836
32837 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32838 (grub_fstest_SOURCES): Likewise.
32839 (pkglib_MODULES): Add befs.mod.
32840 (befs_mod_SOURCES): New variable.
32841 (befs_mod_CFLAGS): Likewise.
32842 (befs_mod_LDFLAGS): Likewise.
32843 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32844 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32845 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32846 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32847 (grub_setup_SOURCES): Likewise.
32848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32849 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32850 (grub_setup_SOURCES): Likewise.
32851 * fs/befs.c: New file.
32852 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32853 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32854 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32855 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32856 (B_KEY_INDEX_ALIGN): New declaration.
32857 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32858 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32859 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32860 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32861 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32862 (grub_afs_mount) [MODE_BFS]: Likewise.
32863 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32864 (grub_afs_fs): Use GRUB_AFS_FSNAME
32865 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32866 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32867 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32868 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32869
4f253044 328702009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32871
32872 * util/getroot.c (find_root_device): Add support for MacOSX.
32873 * util/hostdisk.c: Likewise.
32874
57a55913 328752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32876
32877 * font/font.c (find_glyph): Check whether a font is present to avoid
32878 segmentation fault.
75421ca9 32879
328802009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32881
32882 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32883
e98cd0c2 328842009-07-20 Pavel Roskin <proski@gnu.org>
32885
32886 * configure.ac: Trim excessively wordy excuses.
32887
1d2d169a 328882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32889
32890 Add symlink, mtime and label support to AtheFS.
32891
32892 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32893 (grub_afs_iterate_dir): Handle symlinks.
32894 (grub_afs_open): Use grub_afs_read_symlink.
32895 (grub_afs_dir): Likewise.
32896 Pass mtime.
32897 (grub_afs_label): New function.
32898 (grub_afs_fs): Add grub_afs_label.
32899 (grub_afs_read_symlink): New function.
32900
186f3189 329012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32902
32903 Fix AtheFS support.
32904
32905 * fs/afs.c: Fix comments style.
32906 (grub_afs_blockrun): Declare as packed.
32907 (grub_afs_datastream): Likewise.
32908 (grub_afs_bnode): Likewise.
32909 (grub_afs_btree): Likewise.
32910 (grub_afs_sblock): Likewise.
32911 Declare `name' as char.
32912 (grub_afs_inode): Declare as packed.
32913 Change void *vnode to grub_uint32_t unused.
32914 (grub_afs_iterate_dir): Check that key_size is positive.
32915 (grub_afs_mount): Don't read superblock twice.
75421ca9 32916 (grub_afs_dir): Don't free node in case of error,
186f3189 32917 grub_fshelp_find_file already handles this.
32918 (grub_afs_open): Likewise.
32919
5680109e 329202009-07-19 Pavel Roskin <proski@gnu.org>
32921
32922 * Makefile.in: Remove LIBLZO and enable_lzo.
32923 * conf/i386-pc.rmk: Remove lzo support.
32924 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32925 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32926 support.
32927 * kern/i386/pc/lzo1x.S: Remove.
32928 * kern/i386/pc/startup.S: Remove lzo support.
32929 * util/i386/pc/grub-mkimage.c: Likewise.
32930
ac70fa32 329312009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32932
32933 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32934 * fs/xfs.c (grub_xfs_dir): Likewise.
32935 * fs/afs.c (grub_afs_dir): Likewise.
32936 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32937 (grub_iso9660_open): Likewise.
32938 * fs/jfs.c (grub_jfs_open): Likewise.
32939 * fs/ext2.c (grub_ext2_dir): Likewise.
32940 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32941 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32942
eab58da2 329432009-07-16 Pavel Roskin <proski@gnu.org>
32944
d2838156 32945 * configure.ac: Never add "-c" to CFLAGS.
32946
55c70904 32947 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32948
43e6200c 32949 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32950 grub_cv_cc_efiemu should be used.
32951
ce7a733d 32952 * configure.ac: Typo fixes.
32953
eab58da2 32954 * kern/mm.c (grub_zalloc): New function.
32955 (grub_debug_zalloc): Likewise.
32956 * include/grub/mm.h: Declare grub_zalloc() and
32957 grub_debug_zalloc().
32958 * util/misc.c (grub_zalloc): New function.
32959 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32960 instead of grub_malloc(), remove unneeded initializations.
32961 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32962 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32963 * commands/parttool.c (grub_cmd_parttool): Likewise.
32964 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32965 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32966 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32967 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32968 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32969 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32970 (grub_cmd_efiemu_pnvram): Likewise.
32971 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32972 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32973 (grub_iso9660_iterate_dir): Likewise.
32974 * fs/jfs.c (grub_jfs_opendir): Likewise.
32975 * fs/ntfs.c (list_file): Likewise.
32976 (grub_ntfs_mount): Likewise.
32977 * kern/disk.c (grub_disk_open): Likewise.
32978 * kern/dl.c (grub_dl_load_core): Likewise.
32979 * kern/elf.c (grub_elf_file): Likewise.
32980 * kern/env.c (grub_env_context_open): Likewise.
32981 (grub_env_set): Likewise.
32982 (grub_env_set_data_slot): Likewise.
32983 * kern/file.c (grub_file_open): Likewise.
32984 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32985 * loader/i386/multiboot.c (grub_module): Likewise.
32986 * loader/xnu.c (grub_xnu_create_key): Likewise.
32987 (grub_xnu_create_value): Likewise.
32988 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32989 (read_config_file): Likewise.
32990 * normal/menu_entry.c (make_screen): Likewise.
32991 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32992 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32993 * script/sh/script.c (grub_script_parse): Likewise.
32994 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32995 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32996 * video/readers/png.c (grub_png_output_byte): Likewise.
32997 (grub_video_reader_png): Likewise.
32998
830afef7 329992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 33000
33001 Enable all targets that can be built by default
33002
830afef7 33003 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 33004 grub-mkfont and grub-fstest if they can be built
33005
ee293aee 330062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33007
33008 Fix hang and segmentation fault in grub-emu-usb
33009
33010 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
33011 * util/usb.c (grub_libusb_devices): likewise
33012 (grub_libusb_init): rename to ...
33013 (GRUB_MOD_INIT (libusb)):...this
33014 (grub_libusb_fini): rename to ..
33015 (GRUB_MOD_FINI (libusb)):...this
33016 * disk/usbms.c (grub_usbms_transfer): fix retry logic
33017 * include/grub/disk.h (grub_raid_init): removed, it's useless
33018 (grub_raid_fini): likewise
33019 (grub_lvm_init): likewise
33020 (grub_lvm_fini): likewise
33021 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
33022 by grub_init_all
33023
94414221 330242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33025
33026 Fix libusb
33027
33028 * Makefile.in (LIBUSB): new macro
33029 * genmk.rb (Utility/print_tail): new method
33030 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
33031 (top level): call util.print_tail at the end.
33032
59ade63d 330332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33034
33035 Make FreeBSD accept zpool.cache
33036
33037 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
33038 type is /boot/zfs/zpool.cache
33039
a58da8c7 330402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
33041
33042 Fix 64-bit efiemu
33043
33044 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
33045 correct wrong typedef
33046 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
33047
20591577 330482009-07-15 Pavel Roskin <proski@gnu.org>
33049
560ca572 33050 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
33051 * kern/disk.c (struct grub_disk_cache): Likewise.
33052
e8e8e4fd 33053 * commands/probe.c (options): Typo fix.
33054
fde24e10 33055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
33056 Increase to 0x5a to accommodate FAT32. Adjust other offsets
33057 accordingly.
33058 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
33059
379c54c1 33060 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33061 the end of "Error" to make the message more readable.
33062
7bd8f5bf 33063 * boot/i386/pc/boot.S (kernel_segment): Remove.
33064 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33065 for destination.
33066
40b132c5 33067 * boot/i386/pc/boot.S (boot_version): Remove.
33068 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33069 Remove.
33070
20591577 33071 * include/grub/i386/pc/boot.h: Sort all offsets.
33072 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33073 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33074 * boot/i386/pc/boot.S: Assert location of every offset listed in
33075 include/grub/i386/pc/boot.h.
33076
2df32b2c 330772009-07-13 Pavel Roskin <proski@gnu.org>
33078
44b5d879 33079 * include/grub/i386/coreboot/machine.h: Rename
33080 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33081 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33082 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33083
17dc3751 33084 * kern/dl.c: Force native word size to suppress warnings when
33085 compiling grub-emu.
33086
2df32b2c 33087 * kern/device.c (grub_device_iterate): Change struct part_ent to
33088 hold the name, not a pointer to it. Use one grub_malloc() per
33089 partition, not two. Free partition_name if grub_malloc() fails.
33090 Set ents to NULL only before grub_partition_iterate() is called.
33091
75c59f59 330922009-07-11 Bean <bean123ch@gmail.com>
33093
33094 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33095 childname.
33096
0ae1bf88 330972009-07-10 Bean <bean123ch@gmail.com>
330982009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33099
33100 * kern/ieee1275/openfw.c (grub_children_iterate)
33101 (grub_devalias_iterate): Fix size evaluation for property or path
33102 strings, which was broken since r2132.
33103
8279cade 331042009-07-07 Pavel Roskin <proski@gnu.org>
33105
7d8a52d3 33106 * commands/search.c (search_file): Merge into ...
33107 (search_fs): ... this. Accept search type as argument.
33108 (grub_cmd_search): Pass search type to search_fs().
33109
25f9a05a 33110 * include/grub/util/console.h: New file.
33111 * util/console.c: Use it instead of grub/machine/console.h.
33112 * util/grub-emu.c: Likewise.
33113
8279cade 33114 * lib/arg.c (find_long_option): Remove.
33115 (find_long): Add `len' argument, make `s' const char *.
33116 (grub_arg_parse): Parse long options in place, not in a
33117 temporary buffer.
33118
4a11b60f 331192009-07-06 Pavel Roskin <proski@gnu.org>
33120
99f68041 33121 * commands/search.c (search_fs): Fix potential NULL pointer
33122 dereference.
33123
4a11b60f 33124 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33125 function pointer.
33126
e110f4de 331272009-07-06 Daniel Mierswa <impulze@impulze.org>
33128
33129 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33130 comparison.
33131
46eeb6a2 331322009-07-05 Pavel Roskin <proski@gnu.org>
33133
bab74958 33134 * include/grub/i386/linux.h (struct linux_kernel_params):
33135 Restore padding3, it's still needed.
33136
46eeb6a2 33137 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33138 FreeBSD.
33139 * util/osdetect.lua: Likewise.
33140
b4a1dc79 331412009-07-05 Bean <bean123ch@gmail.com>
33142
33143 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33144
33145 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33146 (grub_lua_getenv): Likewise.
33147 (grub_lua_setenv): Likewise.
33148 (save_errno): New function.
33149 (push_result): Likewise.
33150 (grub_lua_enum_device): Likewise.
33151 (grub_lua_enum_file): Likewise.
33152 (grub_lua_file_open): Likewise.
33153 (grub_lua_file_close): Likewise.
33154 (grub_lua_file_seek): Likewise.
33155 (grub_lua_file_read): Likewise.
33156 (grub_lua_file_getline): Likewise.
33157 (grub_lua_file_getsize): Likewise.
33158 (grub_lua_file_getpos): Likewise.
33159 (grub_lua_file_eof): Likewise.
33160 (grub_lua_file_exist): Likewise.
33161 (grub_lua_add_menu): Likewise.
33162
33163 * script/lua/grub_lua.h (isupper): New inline function.
33164 (islower): Likewise.
33165 (ispunct): Likewise.
33166 (isxdigit): Likewise.
33167 (strcspn): Change to normal function.
33168 (strpbkr): New function declaration.
33169 (memchr): Likewise.
33170
33171 * script/lua/grub_main.c (scan_str): New function.
33172 (strcspn): Likewise.
33173 (strpbrk): Likewise.
33174 (memchr): Likewise.
33175
33176 * script/lua/linit.c (lualibs): Enable the string library.
33177
33178 * util/osdetect.lua: New file.
33179
2da92295 331802009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33181
33182 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33183 `capabilities' member.
33184
b2582ec9 331852009-07-02 Pavel Roskin <proski@gnu.org>
33186
33187 * genparttoollist.sh: Add missing newline at the end.
33188
32622956 331892009-07-01 Pavel Roskin <proski@gnu.org>
33190
87a7339e 33191 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33192
d23af54e 33193 * util/hostdisk.c (open_device): Remove `const' from
33194 `sysctl_size', as sysctlbyname() can change it (in this case it
33195 doesn't actually happen).
33196
c94b18a9 33197 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33198 using signed long int constants.
33199
c6cd3ef0 33200 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33201 constant to avoid a warning on FreeBSD.
33202
0df63420 33203 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33204 where it's needed.
33205
999577f1 33206 * Makefile.in: Install include/grub/machine symlink.
33207
6f41557f 33208 * Makefile.in: When installing symlinks, use "cp -fR", which
33209 works on FreeBSD and MacOSX.
33210 From Yves Blusseau <cl7m42e02@sneakemail.com>
33211
c8d22988 33212 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33213 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33214
1b96e952 33215 * util/misc.c: Move grub_reboot() and grub_halt() ...
33216 * util/grub-emu.c: ... here. Make main_env static.
33217 * include/grub/util/misc.h: Remove main_env.
33218
2ef0084d 33219 * kern/mm.c: Use correct format to print size_t.
33220
32622956 33221 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33222 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33223 * kern/powerpc/dl.c: Likewise.
33224 * kern/sparc64/dl.c: Likewise.
33225 * kern/x86_64/dl.c: Likewise.
33226
3f7f0cd0 332272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33228
33229 Fix grub-emu build on sparc64-ieee1275.
33230
75421ca9 33231 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 33232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33233
211d06b5 332342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33235
33236 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33237 (grub_reboot, grub_halt): New functions.
33238
33239 * util/i386/pc/misc.c: Delete. Update all users.
33240 * util/sparc64/ieee1275/misc.c: Likewise.
33241 * util/powerpc/ieee1275/misc.c: Likewise.
33242
aaf53e3c 332432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33244
33245 * conf/i386.rmk (setjmp_mod_SOURCES)
33246 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33247 * conf/common.rmk (setjmp_mod_SOURCES)
33248 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33249 to use $(target_cpu).
33250 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33251 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33252 * conf/powerpc-ieee1275.rmk: Likewise.
33253 * conf/sparc64-ieee1275.rmk: Likewise.
33254
33255 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33256 $(target_cpu) for kern/$(target_cpu)/dl.c.
33257 * conf/i386-efi.rmk: Likewise.
33258 * conf/i386-ieee1275.rmk: Likewise.
33259 * conf/x86_64-efi.rmk: Likewise.
33260 * conf/i386-coreboot.rmk: Likewise.
33261 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33262 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33263 kern/$(target_cpu)/cache.S.
33264 * conf/sparc64-ieee1275.rmk: Likewise.
33265
a337130b 332662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33267
33268 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33269 type to `grub_uint8_t', and adjust `padding9' accordingly.
33270
c6fe4d53 332712009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33272
b09db61d 33273 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33274
c6fe4d53 33275 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33276 assembly in final jump, using register constraints.
33277
b09db61d 33278 (grub_linux_boot): For text mode, initialize `have_vga' using
33279 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33280
33281 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33282 right before the final jump.
33283
33284 Set `video_mode' to 0x3.
33285
33286 Document initialization of `video_page', `video_mode' and
33287 `video_ega_bx'.
33288
28333ad0 332892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33290
33291 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33292 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 33293 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 33294
02164e1b 332952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33296
33297 Fix build on Debian / sparc.
33298
33299 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33300
18b6c557 333012009-06-28 Pavel Roskin <proski@gnu.org>
33302
85f2aab6 33303 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33304 fix a warning.
33305
18b6c557 33306 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33307
ad760f81 333082009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33309
33310 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33311 `err'.
33312
87a4623b 333132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33314
33315 Revert r2338.
33316
33317 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33318 file can't be opened. grub_file_open() is already supposed to set
75421ca9 33319 grub_errno / grub_errmsg appropriately.
87a4623b 33320 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33321
8231fb77 333222009-06-27 Pavel Roskin <proski@gnu.org>
333232009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33324
33325 * include/grub/dl.h: Include grub/elf.h.
33326 (struct grub_dl): Add symtab field.
33327 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33328 GRUB_MODULES_MACHINE_READONLY.
33329 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33330 of the header for read-only modules.
33331 (grub_dl_unload): Free mod->symtab for read-only modules.
33332 * kern/i386/dl.c: Use mod->symtab.
33333 * kern/powerpc/dl.c: Likewise.
33334 * kern/sparc64/dl.c: Likewise.
33335 * kern/x86_64/dl.c: Likewise.
33336
33337 * conf/i386-qemu.rmk: New file.
33338 * kern/i386/qemu/startup.S: Likewise.
33339 * kern/i386/qemu/mmap.c: Likewise.
33340 * boot/i386/qemu/boot.S: Likewise.
33341 * include/grub/i386/qemu/time.h: Likewise.
33342 * include/grub/i386/qemu/serial.h: Likewise.
33343 * include/grub/i386/qemu/kernel.h: Likewise.
33344 * include/grub/i386/qemu/console.h: Likewise.
33345 * include/grub/i386/qemu/boot.h: Likewise.
33346 * include/grub/i386/qemu/init.h: Likewise.
33347 * include/grub/i386/qemu/machine.h: Likewise.
33348 * include/grub/i386/qemu/loader.h: Likewise.
33349 * include/grub/i386/qemu/memory.h: Likewise.
33350
33351 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33352 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33353 [qemu] (pkglib_IMAGES): Add `boot.img'.
33354 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33355 [qemu] (boot_img_FORMAT): New variables.
33356 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33357 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33358 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33359 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33360 [qemu] (kernel_img_FORMAT): New variables.
33361
33362 * configure.ac: Recognise `i386-qemu'.
33363
33364 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33365 (for no compression).
33366 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33367 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33368 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33369 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33370 ifdefs).
33371
97fe384e 333722009-06-27 Pavel Roskin <proski@gnu.org>
33373
33374 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33375 read.
33376 * efiemu/prepare32.c: Likewise.
33377 * efiemu/prepare64.c: Likewise.
33378
c402ab17 333792009-06-26 Pavel Roskin <proski@gnu.org>
33380
33381 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33382 * include/grub/elf.h: Define symbols without "32" or "64" based
33383 on GRUB_TARGET_WORDSIZE.
33384 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33385 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33386 ELF definitions.
33387 * efiemu/loadcore64.c: Likewise.
33388 * loader/i386/bsd32.c: Likewise.
33389 * loader/i386/bsd64.c: Likewise.
33390 * kern/dl.c: Remove own ELF definitions.
33391 * util/i386/efi/grub-mkimage.c: Likewise.
33392
9bbdfd4d 333932009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33394
33395 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33396 segment 0x0 unconditionally, because the reference generated by
33397 GAS is an absolute address.
33398
a42ce6e9 333992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33400
33401 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33402 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33403
c952cf92 334042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33405
33406 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33407 indexes. Check for -f explicitly.
cc3752ad 33408 (search_file): Improve error message.
33409 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33410
132a0a59 334112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33412
33413 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33414 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33415
387a140c 334162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33417
33418 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33419 * conf/i386-ieee1275.rmk: Likewise.
33420 * conf/i386-coreboot.rmk: Likewise.
33421
33422 * kern/i386/pc/startup.S (grub_stop): Remove function.
33423 * kern/i386/ieee1275/startup.S: Likewise.
33424 * kern/i386/coreboot/startup.S: Likewise.
33425 * kern/i386/misc.S (grub_stop): New function.
33426
41da9665 334272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33428
33429 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33430 * kern/i386/realmode.S (real_to_prot): ... to here.
33431
bf337234 334322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33433
33434 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33435 with `kernel.img'.
33436 (kernel_elf_SOURCES): Rename to ...
33437 (kernel_img_SOURCES): ... this.
33438 (kernel_elf_HEADERS): Rename to ...
33439 (kernel_img_HEADERS): ... this. Update all users.
33440 (kernel_elf_ASFLAGS): Rename to ...
33441 (kernel_img_ASFLAGS): ... this.
33442 (kernel_elf_CFLAGS): Rename to ...
33443 (kernel_img_CFLAGS): ... this.
33444 (kernel_elf_LDFLAGS): Rename to ...
33445 (kernel_img_LDFLAGS): ... this.
33446 * conf/i386-coreboot.rmk: Likewise.
33447 * conf/powerpc-ieee1275.rmk: Likewise.
33448
33449 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33450 with "kernel.img".
33451
f52196ff 334522009-06-21 Pavel Roskin <proski@gnu.org>
33453
c3cee413 33454 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33455 to match nested functions.
33456 * loader/sparc64/ieee1275/linux.c: Likewise.
33457
f52196ff 33458 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33459
58750afc 334602009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33463 all i386 platforms.
33464
15355c7d 334652009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33466
33467 Fix asm file handling on ELF, and remove workarounds.
33468
33469 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33470 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33471 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33472 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33473
3f3ec72b 334742009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33475
33476 Load BSD ELF modules
33477
33478 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33479 and loader/i386/bsd64.c
33480 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33481 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33482 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33483 (grub_freebsd_load_elfmodule32): New declaration
33484 (grub_freebsd_load_elfmoduleobj64): Likewise
33485 (grub_freebsd_load_elf_meta32): Likewise
33486 (grub_freebsd_load_elf_meta64): Likewise
33487 (grub_freebsd_add_meta): Likewise
33488 (grub_freebsd_add_meta_module): Likewise
33489 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33490 (grub_freebsd_add_meta_module): Likewise and move module-specific
33491 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33492 (grub_cmd_freebsd): Add elf-kernel specific parts
33493 based on grub_freebsd_add_meta_module
33494 (grub_cmd_freebsd_module): Add type parsing moved from
33495 grub_freebsd_add_meta_module
33496 (grub_cmd_freebsd_module_elf): New function
33497 (cmd_freebsd_module_elf): New variable
33498 (GRUB_MOD_INIT): Register freebsd_module_elf
33499 * loader/i386/bsd32.c: New file
33500 * loader/i386/bsd64.c: Likewise
33501 * loader/i386/bsdXX.c: Likewise
33502 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33503 (grub_elf64_load): Likewise
33504 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33505 All users updated
33506 (grub_elf64_load_hook_t): Likewise
33507
0db15301 335082009-06-21 Colin Watson <cjwatson@ubuntu.com>
33509
33510 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33511 variable.
33512 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33513 don't write a menu entry for recovery mode.
33514
546796c1 335152009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33516
33517 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33518 after it's no longer needed.
33519
cd7310d5 335202009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * include/grub/i386/loader.h (grub_linux_prot_size)
33523 (grub_linux_tmp_addr, grub_linux_real_addr)
33524 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33525 GRUB_MACHINE_PCBIOS.
33526 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33527 common grub_util_info() call to ...
33528 (generate_image): ... here.
33529 Fix use of uninitialized memory, comparison of signed with
33530 unsigned integers and memory leak.
33531 Remove bogus module address message.
33532
ab32d3b5 335332009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33534
33535 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33536 grub_raid_register
33537 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33538
024ef597 335392009-06-19 Pavel Roskin <proski@gnu.org>
33540
33541 * configure.ac: Remove stray AC_MSG_CHECKING.
33542
3ac72b51 335432009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33544
33545 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33546
e14cd814 335472009-06-18 Pavel Roskin <proski@gnu.org>
33548
33549 * conf/common.rmk: Add fs_file.mod.
33550 * disk/fs_file.c: New file.
33551 * include/grub/disk.h (enum grub_disk_dev_id): Add
33552 GRUB_DISK_DEVICE_FILE_ID.
33553
26586d98 335542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33555
33556 Fix build with Apple's toolchain. Part 2
33557
33558 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33559 a fake start
33560
26de2bcd 335612009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33562
33563 Fix build with Apple's toolchain. Part 1
33564
33565 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33566 for long calls
33567 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33568 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33569 Apple's toolchain
33570
09b3490b 335712009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33572
33573 Fix warnings
33574
33575 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33576 (decomp_block): initialize ch
33577 use grub_memcpy instead of memcpy
33578
c22a006a 335792009-06-17 Pavel Roskin <proski@gnu.org>
33580
d3638678 33581 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33582 version, use declarations needed to use vga_text as the startup
33583 console.
33584
c22a006a 33585 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33586 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33587 the kernel.
33588 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33589 and grub_at_keyboard_fini(), it's done on module load and
33590 unload.
33591
05b129e0 335922009-06-17 Felix Zielcke <fzielcke@z-51.de>
33593
33594 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33595 file can't be found.
33596 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33597
cf24ed9e 335982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33599
33600 Fix newline handling
33601
33602 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33603 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33604 (grub_script_yylex): don't segfault on unterminated script
33605 newline terminates command and variable
33606
74aa8e4b 336072009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33608
33609 avoid double grub_adjust_range call. Bug reported by David Simner
33610
33611 * kern/disk.c (grub_disk_write): change to raw disk access before
33612 calling disk_read
33613
1bd265f3 336142009-06-17 Colin Watson <cjwatson@ubuntu.com>
33615
33616 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33617 spaces, for the benefit of help2man.
33618 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33619
a2d08c06 336202009-06-16 Pavel Roskin <proski@gnu.org>
33621
33622 * kern/i386/halt.c: Include grub/machine/init.h.
33623 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33624
b97bcb19 336252009-06-16 Felix Zielcke <fzielcke@z-51.de>
33626
33627 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33628 drivemap menuentry.
33629
0644f96c 336302009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33631
33632 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33633 `echo' command.
33634
3ef17a2e 336352009-06-16 Pavel Roskin <proski@gnu.org>
33636
33637 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33638 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33639 save %dx, we only need %dl and we never change it.
33640 * boot/i386/pc/cdboot.S: Don't set the root drive.
33641 * boot/i386/pc/pxeboot.S: Likewise.
33642 * include/grub/i386/pc/boot.h: Remove
33643 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33644 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33645 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33646 * kern/i386/pc/init.c (make_install_device): Remove references
33647 to grub_root_drive.
33648 * kern/i386/pc/startup.S: Likewise.
33649 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33650
693fe637 336512009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33652
33653 xnu_uuid command
33654
33655 * commands/xnu_uuid.c: new file
33656 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33657 (xnu_uuid_mod_SOURCES): new variable
33658 (xnu_uuid_mod_CFLAGS): likewise
33659 (xnu_uuid_mod_LDFLAGS): likewise
33660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33661 * conf/i386-ieee1275.rmk: likewise
33662 * conf/i386-pc.rmk: likewise
33663 * conf/powerpc-ieee1275.rmk: likewise
33664 * conf/sparc64-ieee1275.rmk: likewise
33665 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33666
c9da87d0 336672009-06-16 Pavel Roskin <proski@gnu.org>
33668
33669 * configure.ac: Avoid '==' in test command, it's not portable.
33670
9c6f4596 336712009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33672
33673 Probe command
33674
33675 * commands/probe.c: new file
33676 * conf/common.rmk (pkglib_MODULES): add probe.mod
33677 (probe_mod_SOURCES): new variable
33678 (probe_mod_CFLAGS): likewise
33679 (probe_mod_LDFLAGS): likewise
33680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33681 * conf/i386-ieee1275.rmk: likewise
33682 * conf/i386-pc.rmk: likewise
33683 * conf/powerpc-ieee1275.rmk: likewise
33684 * conf/sparc64-ieee1275.rmk: likewise
33685
70b7f9fd 336862009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33687
33688 Fix handling of string like \"hello\" and "a
33689 b"
33690
33691 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33692 (grub_script_yylex): fix parsing of quoting, escaping and newline
33693
71c79a6b 336942009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33695
dd74360c 33696 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33697 handling
dd74360c 33698
0644f96c 336992009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33700
33701 * util/grub-mkconfig.in: Fix parsing of --output option.
33702
e40893c3 337032009-06-12 Pavel Roskin <proski@gnu.org>
33704
33705 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33706 genmk.rb don't need to be generated or installed.
33707
3a1acfe2 337082009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33709
33710 * commands/i386/pc/drivemap_int13h.S: add more comments
33711
3a4575d4 337122009-06-11 Pavel Roskin <proski@gnu.org>
33713
0658e928 33714 * Makefile.in (uninstall): Uninstall manuals.
33715
ca0388f0 33716 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33717 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33718 and update-grub_lib in two places.
33719 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33720
e3b27c39 33721 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33722 a compiler warning.
33723
3a4575d4 33724 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33725 `entry_lo' to fix variable shadowing.
33726
af1f4f55 337272009-06-11 Christian Franke <franke@computer.org>
33728
33729 * kern/misc.c (__enable_execute_stack): Add missing return type
33730 to prevent gcc warning.
33731
5225e649 337322009-06-11 Felix Zielcke <fzielcke@z-51.de>
33733
33734 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33735
7d83bd47 337362009-06-11 Pavel Roskin <proski@gnu.org>
33737
c1cb63ba 33738 * Makefile.in: Don't rely on any scripts being executable.
33739 Always use $(SHELL) to run shell scripts.
33740
7d83bd47 33741 * configure.ac: Always define ___main if using -nostdlib. This
33742 fixes tests on Cygwin.
33743
948f48e7 337442009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33745
33746 UDF fix
33747
7d83bd47 33748 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33749 is in bytes and not in blocks
7d83bd47 33750
8ada9bc1 337512009-06-11 Pavel Roskin <proski@gnu.org>
33752
33753 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33754 warning.
33755
25ad2323 337562009-06-11 Felix Zielcke <fzielcke@z-51.de>
33757
33758 * util/grub.d/30_os-prober.in: Fix a comment. Source
33759 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33760 to set the root device. Place drivemap command in the generated
33761 chain entry.
33762
e65acb0c 337632009-06-11 Pavel Roskin <proski@gnu.org>
33764
33765 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33766 have long been resolved.
33767
f285fe2d 337682009-06-11 Colin Watson <cjwatson@ubuntu.com>
33769
bd47b0b5 33770 * util/grub.d/10_linux.in: Capitalise "Linux".
33771
f285fe2d 33772 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33773
a0c62e4e 337742009-06-11 Pavel Roskin <proski@gnu.org>
33775
b6783cb2 33776 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33777 fix a gcc warning and ensure that the function won't ever exit.
33778
dde032e8 33779 * kern/i386/ieee1275/init.c: Add missing prototype for
33780 grub_stop_floppy().
33781
22cd079d 33782 * loader/ieee1275/multiboot2.c [__i386__]: Include
33783 grub/cpu/multiboot.h.
33784
a0c62e4e 33785 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33786 casts to short - they are not portable and cause warnings. Fix
33787 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33788
63963d17 337892009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33790
33791 Drivemap fixes
33792
33793 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33794 new function
33795 (grub_get_root_biosnumber_saved): new variable
33796 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33797 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33798 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33799 %dx after the call if necessary
33800 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33801 (boot_mod_SOURCES): remove
33802 (boot_mod_CFLAGS): remove
33803 (boot_mod_LDFLAGS): remove
33804 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33805 (boot_mod_SOURCES): new variable
33806 (boot_mod_CFLAGS): likewise
33807 (boot_mod_LDFLAGS): likewise
33808 * conf/i386-efi.rmk: likewise
33809 * conf/i386-ieee1275.rmk: likewise
33810 * conf/i386-pc.rmk: likewise
33811 * conf/powerpc-ieee1275.rmk: likewise
33812 * conf/sparc64-ieee1275.rmk: likewise
33813 * conf/x86_64-efi.rmk: likewise
33814 * include/grub/i386/pc/biosnum.h: new file
33815 * lib/i386/pc/biosnum.c: likewise
33816 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33817 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33818 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33819
33abf7ae 338202009-06-10 Pavel Roskin <proski@gnu.org>
33821
5ac35b35 33822 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33823 Use separate variables. Read only the file size at the end, but
33824 not the checksum that we don't use.
33825
5c5215d5 33826 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33827 Adjust all callers.
33828
27d5fef7 33829 * kern/ieee1275/openfw.c: Remove libc includes.
33830 * kern/ieee1275/cmain.c: Likewise.
33831 * include/grub/ieee1275/ieee1275.h: Likewise.
33832
33abf7ae 33833 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33834 compiler warnings.
33835
19d50c2b 338362009-06-10 Felix Zielcke <fzielcke@z-51.de>
33837
33838 * Makefile.in: Remove all trailing whitespace.
33839 * conf/i386-pc.rmk: Likewise.
33840 * conf/powerpc-ieee1275.rmk: Likewise.
33841 * conf/sparc64-ieee1275.rmk: Likewise.
33842 * docs/grub.texi: Likewise.
33843 * docs/texinfo.tex: Likewise.
33844 * disk/fs_uuid.c: Likewise.
33845 * disk/lvm.c: Likewise.
33846 * disk/scsi.c: Likewise.
33847 * disk/ata.c: Likewise.
33848 * disk/ieee1275/ofdisk.c: Likewise.
33849 * disk/i386/pc/biosdisk.c: Likewise.
33850 * disk/host.c: Likewise.
33851 * disk/raid.c: Likewise.
33852 * disk/efi/efidisk.c: Likewise.
33853 * disk/usbms.c: Likewise.
33854 * disk/memdisk.c: Likewise.
33855 * disk/loopback.c: Likewise.
33856 * kern/powerpc/dl.c: Likewise.
33857 * kern/device.c: Likewise.
33858 * kern/dl.c: Likewise.
33859 * kern/sparc64/dl.c: Likewise.
33860 * kern/ieee1275/ieee1275.c: Likewise.
33861 * kern/term.c: Likewise.
33862 * kern/fs.c: Likewise.
33863 * kern/i386/dl.c: Likewise.
33864 * kern/i386/pc/startup.S: Likewise.
33865 * kern/i386/pc/init.c: Likewise.
33866 * kern/i386/pc/mmap.c: Likewise.
33867 * kern/i386/pc/lzo1x.S: Likewise.
33868 * kern/i386/ieee1275/init.c: Likewise.
33869 * kern/i386/realmode.S: Likewise.
33870 * kern/i386/tsc.c: Likewise.
33871 * kern/partition.c: Likewise.
33872 * kern/corecmd.c: Likewise.
33873 * kern/file.c: Likewise.
33874 * kern/efi/efi.c: Likewise.
33875 * kern/efi/init.c: Likewise.
33876 * kern/efi/mm.c: Likewise.
33877 * kern/main.c: Likewise.
33878 * kern/err.c: Likewise.
33879 * kern/env.c: Likewise.
33880 * kern/disk.c: Likewise.
33881 * kern/generic/millisleep.c: Likewise.
33882 * kern/generic/rtc_get_time_ms.c: Likewise.
33883 * kern/misc.c: Likewise.
33884 * kern/parser.c: Likewise.
33885 * genmk.rb: Likewise.
33886 * configure.ac: Likewise.
33887 * boot/i386/pc/diskboot.S: Likewise.
33888 * boot/i386/pc/pxeboot.S: Likewise.
33889 * boot/i386/pc/boot.S: Likewise.
33890 * boot/i386/pc/lnxboot.S: Likewise.
33891 * boot/i386/pc/cdboot.S: Likewise.
33892 * parttool/pcpart.c: Likewise.
33893 * video/readers/tga.c: Likewise.
33894 * video/video.c: Likewise.
33895 * video/bitmap.c: Likewise.
33896 * lib/envblk.c: Likewise.
33897 * lib/i386/setjmp.S: Likewise.
33898 * fs/xfs.c: Likewise.
33899 * fs/afs.c: Likewise.
33900 * fs/fat.c: Likewise.
33901 * fs/ntfs.c: Likewise.
33902 * fs/udf.c: Likewise.
33903 * fs/affs.c: Likewise.
33904 * fs/iso9660.c: Likewise.
33905 * fs/hfs.c: Likewise.
33906 * fs/fshelp.c: Likewise.
33907 * fs/ext2.c: Likewise.
33908 * fs/jfs.c: Likewise.
33909 * fs/reiserfs.c: Likewise.
33910 * fs/hfsplus.c: Likewise.
33911 * fs/minix.c: Likewise.
33912 * fs/cpio.c: Likewise.
33913 * fs/sfs.c: Likewise.
33914 * fs/ufs.c: Likewise.
33915 * efiemu/prepare.c: Likewise.
33916 * efiemu/loadcore_common.c: Likewise.
33917 * efiemu/runtime/efiemu.sh: Likewise.
33918 * efiemu/runtime/efiemu.S: Likewise.
33919 * efiemu/runtime/efiemu.c: Likewise.
33920 * efiemu/pnvram.c: Likewise.
33921 * efiemu/main.c: Likewise.
33922 * efiemu/i386/pc/cfgtables.c: Likewise.
33923 * efiemu/i386/loadcore64.c: Likewise.
33924 * efiemu/i386/loadcore32.c: Likewise.
33925 * efiemu/loadcore.c: Likewise.
33926 * efiemu/symbols.c: Likewise.
33927 * efiemu/mm.c: Likewise.
33928 * include/grub/autoefi.h: Likewise.
33929 * include/grub/datetime.h: Likewise.
33930 * include/grub/term.h: Likewise.
33931 * include/grub/hfs.h: Likewise.
33932 * include/grub/lvm.h: Likewise.
33933 * include/grub/i386/tsc.h: Likewise.
33934 * include/grub/i386/linux.h: Likewise.
33935 * include/grub/i386/xnu.h: Likewise.
33936 * include/grub/i386/efiemu.h: Likewise.
33937 * include/grub/i386/pc/biosdisk.h: Likewise.
33938 * include/grub/i386/pc/memory.h: Likewise.
33939 * include/grub/i386/pc/vbe.h: Likewise.
33940 * include/grub/parttool.h: Likewise.
33941 * include/grub/video.h: Likewise.
33942 * include/grub/memory.h: Likewise.
33943 * include/grub/fs.h: Likewise.
33944 * include/grub/partition.h: Likewise.
33945 * include/grub/xnu.h: Likewise.
33946 * include/grub/efi/api.h: Likewise.
33947 * include/grub/efi/pe32.h: Likewise.
33948 * include/grub/efi/memory.h: Likewise.
33949 * include/grub/multiboot.h: Likewise.
33950 * include/grub/usbdesc.h: Likewise.
33951 * include/grub/multiboot2.h: Likewise.
33952 * include/grub/acpi.h: Likewise.
33953 * include/grub/efiemu/efiemu.h: Likewise.
33954 * include/grub/disk.h: Likewise.
33955 * include/grub/ieee1275/ieee1275.h: Likewise.
33956 * include/grub/net.h: Likewise.
33957 * include/grub/machoload.h: Likewise.
33958 * include/grub/macho.h: Likewise.
33959 * include/multiboot.h: Likewise.
33960 * genmoddep.awk: Likewise.
33961 * normal/main.c: Likewise.
33962 * normal/menu_entry.c: Likewise.
33963 * normal/menu_viewer.c: Likewise.
33964 * normal/completion.c: Likewise.
33965 * normal/cmdline.c: Likewise.
33966 * normal/misc.c: Likewise.
33967 * normal/datetime.c: Likewise.
33968 * bus/usb/usbtrans.c: Likewise.
33969 * bus/usb/ohci.c: Likewise.
33970 * bus/usb/uhci.c: Likewise.
33971 * bus/usb/usb.c: Likewise.
33972 * mmap/efi/mmap.c: Likewise.
33973 * mmap/i386/pc/mmap_helper.S: Likewise.
33974 * mmap/i386/pc/mmap.c: Likewise.
33975 * mmap/i386/mmap.c: Likewise.
33976 * mmap/i386/uppermem.c: Likewise.
33977 * mmap/mmap.c: Likewise.
33978 * commands/acpi.c: Likewise.
33979 * commands/echo.c: Likewise.
33980 * commands/blocklist.c: Likewise.
33981 * commands/loadenv.c: Likewise.
33982 * commands/usbtest.c: Likewise.
33983 * commands/boot.c: Likewise.
33984 * commands/parttool.c: Likewise.
33985 * commands/search.c: Likewise.
33986 * commands/cat.c: Likewise.
33987 * commands/i386/pc/play.c: Likewise.
33988 * commands/i386/pc/drivemap.c: Likewise.
33989 * commands/i386/pc/vbeinfo.c: Likewise.
33990 * commands/i386/pc/acpi.c: Likewise.
33991 * commands/i386/pc/vbetest.c: Likewise.
33992 * commands/ls.c: Likewise.
33993 * commands/cmp.c: Likewise.
33994 * commands/test.c: Likewise.
33995 * commands/efi/acpi.c: Likewise.
33996 * commands/gptsync.c: Likewise.
33997 * commands/help.c: Likewise.
33998 * partmap/amiga.c: Likewise.
33999 * partmap/apple.c: Likewise.
34000 * partmap/acorn.c: Likewise.
34001 * partmap/pc.c: Likewise.
34002 * partmap/sun.c: Likewise.
34003 * partmap/gpt.c: Likewise.
34004 * script/sh/lexer.c: Likewise.
34005 * script/sh/function.c: Likewise.
34006 * font/font.c: Likewise.
34007 * font/font_cmd.c: Likewise.
34008 * loader/powerpc/ieee1275/linux.c: Likewise.
34009 * loader/efi/chainloader.c: Likewise.
34010 * loader/multiboot_loader.c: Likewise.
34011 * loader/macho.c: Likewise.
34012 * loader/i386/multiboot.c: Likewise.
34013 * loader/i386/linux.c: Likewise.
34014 * loader/i386/pc/linux.c: Likewise.
34015 * loader/i386/pc/multiboot2.c: Likewise.
34016 * loader/i386/pc/chainloader.c: Likewise.
34017 * loader/i386/pc/xnu.c: Likewise.
34018 * loader/i386/bsd_trampoline.S: Likewise.
34019 * loader/i386/efi/linux.c: Likewise.
34020 * loader/i386/multiboot_elfxx.c: Likewise.
34021 * loader/i386/bsd_helper.S: Likewise.
34022 * loader/i386/bsd.c: Likewise.
34023 * loader/i386/linux_trampoline.S: Likewise.
34024 * loader/i386/xnu_helper.S: Likewise.
34025 * loader/i386/xnu.c: Likewise.
34026 * loader/i386/bsd_pagetable.c: Likewise.
34027 * loader/i386/multiboot_helper.S: Likewise.
34028 * loader/xnu.c: Likewise.
34029 * loader/xnu_resume.c: Likewise.
34030 * io/gzio.c: Likewise.
34031 * term/efi/console.c: Likewise.
34032 * term/terminfo.c: Likewise.
34033 * term/ieee1275/ofconsole.c: Likewise.
34034 * term/i386/pc/serial.c: Likewise.
34035 * term/i386/pc/vesafb.c: Likewise.
34036 * term/i386/pc/vga.c: Likewise.
34037 * term/usb_keyboard.c: Likewise.
34038 * term/gfxterm.c: Likewise.
34039 * aclocal.m4: Likewise.
34040 * util/lvm.c: Likewise.
34041 * util/grub.d/30_os-prober.in: Likewise.
34042 * util/grub.d/10_hurd.in: Likewise.
34043 * util/console.c: Likewise.
34044 * util/grub-macho2img.c: Likewise.
34045 * util/grub-probe.c: Likewise.
34046 * util/hostfs.c: Likewise.
34047 * util/i386/pc/grub-mkimage.c: Likewise.
34048 * util/i386/pc/grub-setup.c: Likewise.
34049 * util/i386/efi/grub-mkimage.c: Likewise.
34050 * util/grub-mkconfig.in: Likewise.
34051 * util/raid.c: Likewise.
34052 * util/resolve.c: Likewise.
34053 * util/grub-mkdevicemap.c: Likewise.
34054 * util/grub-emu.c: Likewise.
34055 * util/getroot.c: Likewise.
34056 * util/hostdisk.c: Likewise.
34057 * util/usb.c: Likewise.
34058 * util/grub-editenv.c: Likewise.
34059 * util/misc.c: Likewise.
34060
d2d49665 340612009-06-10 Felix Zielcke <fzielcke@z-51.de>
34062
34063 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34064 `genparttoollist.sh'.
34065 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34066 Add `*.sh' to the list find searches for and change `mdate.sh'
34067 to `mdate-sh'.
34068
fe052e37 340692009-06-10 Pavel Roskin <proski@gnu.org>
34070
2763ac18 34071 * include/grub/multiboot2.h: Provide compatibility defines for
34072 multiboot2.h.
34073 * include/multiboot2.h: Include stdint.h only if needed, using
34074 angle brackets.
34075 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34076 grub/multiboot2.h.
34077 * loader/ieee1275/multiboot2.c: Likewise.
34078 * loader/multiboot2.c: Likewise.
34079 * loader/multiboot_loader.c: Likewise.
34080
437e6adc 34081 * configure.ac: Use -nostdlib when probing for the target. It
34082 should not be required to have libc for the target.
34083
06a6836c 34084 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34085 they fail without libc headers for the target.
34086 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34087 exports.
34088 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34089 preprocessor conditionals.
34090
fe052e37 34091 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34092 build system doesn't need to be aware of the tar.c internals.
34093
afd22553 340942009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 34095
afd22553 34096 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 34097
6b787c4f 340982009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34099
34100 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34101 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34102
341032009-06-09 Felix Zielcke <fzielcke@z-51.de>
34104
34105 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 34106 aren't available if ata.mod gets used.
6b787c4f 34107
473d1e45 341082009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 34109
473d1e45 34110 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 34111 initialising controller.
473d1e45 34112 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 34113
255a27d4 341142009-06-08 Felix Zielcke <fzielcke@z-51.de>
34115
34116 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34117 to choose between ata and biosdisk module on i386-pc.
34118
473d1e45 341192009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 34120
d55842d8 34121 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34122 Subclass and Programming Interface fields in terms of the 3 byte
34123 Class Code register.
34124 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34125
fa5db0b1 34126 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34127 interface is OHCI. Add grub_dprintf for symmetry with
34128 bus/usb/uhci.c.
34129 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34130 interface is UHCI. Add interf variable for programming
34131 interface. Print interface with class/subclass.
34132
c0947beb 34133 * bus/usb/ohci.c: Set interf with correct field.
34134
69da8877 34135 * bus/usb/uhci.c: Remove unneeded doubled lines.
34136 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34137 Remove whitespace inside comment.
34138
9e172e30 341392009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34140
34141 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34142 as fallback an equivalent option without depth.
34143
de65ee2b 341442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34145
34146 Not fail if unable to retrieve C/H/S on LBA disks
34147
473d1e45 34148 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 34149 if unable to retrieve C/H/S on LBA disks
34150
b57ea2c9 341512009-06-08 Pavel Roskin <proski@gnu.org>
34152
34153 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34154 about aliasing.
34155
af361263 341562009-06-08 Felix Zielcke <fzielcke@z-51.de>
34157
34158 * Makefile.in (uninstall): Remove all $lib_DATA files.
34159
4c9ec6b3 341602009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34161
34162 Bugfix: install on partitionless device
34163
34164 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34165 is a whole disk
34166
e76fc924 341672009-06-08 Felix Zielcke <fzielcke@z-51.de>
34168
34169 * Makefile.in (uninstall): Remove all $include_DATA files.
34170
ba5a0d05 341712009-06-08 Felix Zielcke <fzielcke@z-51.de>
34172
34173 * commands/true.c: New file. Implement the true and false commands.
34174 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34175 (true_mod_SOURCES): New variable.
34176 (true_mod_CFLAGS): Likewise.
34177 (true_mod_LDFLAGS): Likewise.
34178
c8048e32 341792009-06-05 Colin D Bennett <colin@gibibit.com>
34180
34181 Optimized font character lookup using binary search instead of linear
34182 search. Fonts now are required to have the character index ordered by
34183 code point.
34184
34185 * font/font.c (load_font_index): Verify that fonts have ordered
34186 character indices.
34187 (find_glyph): Use binary search instead of linear search to find a
34188 character in a font.
34189
408305be 341902009-06-05 Michael Scherer <misc@mandriva.org>
34191
34192 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34193 uses case sensitive btree.
34194 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34195 only for case insensitive filesystems.
34196
8ee1e0d9 341972009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34198
34199 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34200 * conf/common.rmk (search_mod_CFLAGS): likewise
34201
a9966eb1 342022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34203
473d1e45 34204 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 34205 compensate a compiler bug
34206
9e7100fb 342072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34208
473d1e45 34209 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 34210 instead of '\b'
473d1e45 34211
ede21d71 342122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34213
34214 Definitions for creating asm symbols with Apple's CC
34215
34216 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34217 [APPLE_CC] (VARIABLE): likewise
34218
9dbf7653 342192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34220
34221 Disable lnxboot.img when compiled
34222 with Apple's CC
34223
34224 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34225 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34226 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34227 [! APPLE_CC] (CODE_LENG): skip
34228 [! APPLE_CC] (setup_sects): likewise
34229 [! APPLE_CC]: skip filling
473d1e45 34230
e93cdc3d 342312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34232
34233 Address in trampolines based on 32-bit registers when compiled
34234 with Apple's CC
34235
473d1e45 34236 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 34237 for addresses
34238 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34239
6c688477 342402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34241
34242 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34243
34244 * kern/misc.c [APPLE_CC] (memcpy): new function
34245 [APPLE_CC] (memmove): likewise
34246 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 34247 (memcpy): define alias conditionally on !APPLE_CC
6c688477 34248 (memset): likewise
34249 (abort): likewise
34250 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34251 APPLE_CC are defined
34252 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34253 (grub_assert_fail): make prototype conditional
34254
e37ffc5c 342552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34256
34257 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34258
473d1e45 34259 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34260 grub-macho2img
e37ffc5c 34261 (CLEANFILES): add grub-macho2img
34262 (grub_macho2img_SOURCES): new variable
34263 * kern/i386/pc/startup.S (bss_start): new variable
34264 (bss_end): likewise
34265 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34266 * util/grub-macho2img.c: new file
34267
cf00df31 342682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34269
34270 Use objconv when compiling with Apple's CC
34271
34272 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34273 (efiemu64.o): likewise
34274 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34275 when compiling with Apple's CC
34276 (efiemu64_s.o): likewise
34277 * configure.ac: check for objconv when compiling with Apple's CC
34278 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 34279
d119a20c 342802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34281
34282 Define segment as well as section when compiling with
34283 Apple's CC
34284
34285 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34286 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34287 (efiemu_convert_pointer): likewise
34288 (efiemu_set_virtual_address_map): likewise
34289 (efiemu_convert_pointer): likewise
34290 (efiemu_getcrc32): likewise
34291 (init_crc32_table): likewise
34292 (reflect): likewise
34293 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34294 (GRUB_MOD_DEP): likewise
473d1e45 34295
c8600122 342962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34297
34298 Allow a compilation without -mcmodel=large
34299
34300 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34301 when compiled without -mcmodel=large
473d1e45 34302 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 34303 without -mcmodel=large
473d1e45 34304 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 34305 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 34306
e8df1d4e 343072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34308
34309 Remove nested functions in efiemu core
34310
34311 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 34312
cc6c3ac1 343132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34314
34315 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34316
34317 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34318 temporary storage
473d1e45 34319 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34320 using Apple's CC
cc6c3ac1 34321 (grub_cpu_is_tsc_supported): likewise
34322 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 34323
3e325901 343242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34325
34326 Absolute addressing through constant with Apple's cc
34327
34328 * kern/i386/pc/startup.S: Define necessary constants
34329 and address through it when using ABS with Apple's CC
34330 * boot/i386/pc/diskboot.S: likewise
34331 * boot/i386/pc/boot.S: likewise
34332 * boot/i386/pc/lnxboot.S: likewise
34333 * boot/i386/pc/cdboot.S: likewise
34334 * mmap/i386/pc/mmap_helper.S: likewise
34335 * commands/i386/pc/drivemap_int13h.S: likewise
34336
2b167a72 343372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34338
34339 Check if compiler is apple cc
34340
34341 * Makefile.in (ASFLAGS): new variable
34342 (TARGET_ASFLAGS): likewise
34343 (TARGET_MODULE_FORMAT): likewise
34344 (TARGET_APPLE_CC): likewise
34345 (OBJCONV): likewise
34346 (TARGET_IMG_CFLAGS): likewise
34347 (TARGET_CPPFLAGS): add includedir
34348 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34349 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34350 Check for linker script only if compiler isn't Apple's CC
34351 (TARGET_MODULE_FORMAT): set
34352 (TARGET_APPLE_CC): likewise
34353 (TARGET_ASFLAGS): likewise
34354 (ASFLAGS): likewise
34355 Check for objcopy only if compiler isn't Apple's CC
34356 Check for BSS symbol only if compiler isn't Apple's CC
34357 * genmk.rb: adapt nm options if we use Apple's utils
34358 * aclocal.m4 (grub_apple_cc): new test
34359 (grub_apple_target_cc): likewise
473d1e45 34360
fb14123e 343612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34362
34363 Simplify sed expressions and improve awk
34364
34365 * Makefile.in (install-local): simplify sed expression
34366 * gencmdlist.sh: likewise
34367 * genmoddep.awk: avoid adding module as a dependency of itself
34368
5b889789 343692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34370
34371 Add missing start symbols
34372
34373 * boot/i386/pc/boot.S: add start
fb14123e 34374 * boot/i386/pc/pxeboot.S: likewise
473d1e45 34375
fd2bf2e3 343762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34377
34378 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 34379
34380 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 34381 (relocate_addresses): consider both r_addend and value at offset
34382 (make_mods_section): zerofill modinfo and header
34383 (convert_elf): write prefix here
473d1e45 34384
5389763d 343852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34386
34387 Use .asciz instead of .string
34388
34389 * i386/pc/diskboot.S: use .asciz instead of .string
34390 * i386/pc/boot.S: likewise
34391 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34392 (GRUB_MOD_NAME): likewise
473d1e45 34393
3eb5ed4e 343942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34395
34396 gfxpayload support
34397
34398 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34399 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34400 (grub_video_setup): remove
34401 (grub_video_set_mode): new prototype
34402 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34403 (vid_mode): remove
34404 (linux_vesafb_res): compile only on PCBIOS
34405 (grub_linux_boot): support gfxpayload
34406 * loader/i386/pc/xnu.c (video_hook): new function
34407 (grub_xnu_set_video): support gfxpayload
34408 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34409 (DEFAULT_VIDEO_HEIGHT): likewise
34410 (DEFAULT_VIDEO_FLAGS): likewise
34411 (DEFAULT_VIDEO_MODE): new definition
34412 (video_hook): new function
34413 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34414 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34415 loading xnu
34416 * video/video.c (grub_video_setup): removed
473d1e45 34417 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34418 grub_video_setup
34419
4b0e1143 344202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34421
34422 Avoid calling biosdisk in drivemap
34423
34424 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34425 (revparse_biosdisk): likewise
34426 (list_mappings): derive name from id directly
34427 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34428
fda6cb98 344292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34430
34431 Script fixes
34432
34433 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34434 (grub_lexer_param): add tokenonhold
34435 (grub_script_create_cmdline): remove cmdline. All callers updated
34436 (grub_script_function_create): make functionname
34437 grub_script_arg. All callers updated
34438 (grub_script_execute_argument_to_string): new prototype
34439 * kern/parser.c (state_transitions): reorder
34440 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34441 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34442 make global
34443 (grub_script_execute_cmdline): use new format
34444 * script/sh/function.c (grub_script_function_create): make functionname
34445 grub_script_arg. All callers updated
473d1e45 34446 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34447 (grub_script_yylex): remove
34448 (grub_script_yylex2): renamed to ...
34449 (grub_script_yylex): ...renamed
34450 parse the expressions like a${b}c
34451 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34452 (GRUB_PARSER_TOKEN_VAR): remove
34453 (GRUB_PARSER_TOKEN_NAME): likewise
34454 ("if"): declare as typeless
34455 ("while"): likewise
34456 ("function"): likewise
34457 ("else"): likewise
34458 ("then"): likewise
34459 ("fi"): likewise
34460 (text): remove
34461 (argument): likewise
34462 (script): accept empty scripts and make exit on error
34463 (arguments): use GRUB_PARSER_TOKEN_ARG
34464 (function): likewise
34465 (command): move error handling to script
34466 (menuentry): move grub_script_lexer_ref before
473d1e45 34467 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34468 argument. All callers updated
34469
f4448a07 344702009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34471
34472 Prevent GRUB from probing floppies during boot.
34473
34474 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34475 * commands/search.c (options): Add --no-floppy.
34476 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34477 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34478 --no-floppy when searching for UUIDs.
34479
2bf5885a 344802009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34481
34482 Simplify the code duplication in commands/search.c.
34483
34484 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34485 (search_fs): ... this. Update all users.
34486
f6fd460a 344872009-06-03 Felix Zielcke <fzielcke@z-51.de>
34488
34489 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34490
cbb3c83e 344912009-05-28 Pavel Roskin <proski@gnu.org>
34492
57788cfd 34493 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34494 Remove the original symlink explicitly.
34495
cbb3c83e 34496 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34497 just one slash. That's how grub_fshelp_find_file() does it.
34498
cd0d5e30 344992009-05-26 Pavel Roskin <proski@gnu.org>
34500
f0f8bbe2 34501 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34502 to `str'.
34503
cd0d5e30 34504 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34505 possibly unused.
34506
8c2cab51 345072009-05-25 Christian Franke <franke@computer.org>
34508
34509 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34510 register.
34511 (grub_atapi_identify): Add wait after drive select.
34512 (grub_ata_identify): Do more strict status register check before
34513 calling grub_atapi_identify (). Suppress error message if status
34514 register is 0x00 after command failure. Add status register
34515 check after PIO read to avoid bogus identify due to stuck DRQ.
34516 Thanks to Pavel Roskin for testing.
34517 (grub_device_initialize): Remove unsafe status register check.
34518 Thanks to 'phcoder' for problem report and patch.
34519 Prevent sign extension in debug message.
34520
230c0ad6 345212009-05-23 Colin D Bennett <colin@gibibit.com>
34522
34523 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34524 definition file, and functions defined in `normal/menu.c' have had
34525 their prototypes moved to `include/grub/menu.h' for consistency.
34526
34527 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34528 from normal.h.
34529 (grub_menu_get_entry): Likewise.
34530 (grub_menu_get_timeout): Likewise.
34531 (grub_menu_set_timeout): Likewise.
34532 (grub_menu_execute_entry): Likewise.
34533 (grub_menu_execute_with_fallback): Likewise.
34534 (grub_menu_entry_run): Likewise.
34535
34536 * include/grub/normal.h: Re-ordered and grouped function
34537 prototypes by file that the function is defined in.
34538 (grub_menu_execute_callback): Removed; moved to menu.h.
34539 (grub_menu_get_entry): Likewise.
34540 (grub_menu_get_timeout): Likewise.
34541 (grub_menu_set_timeout): Likewise.
34542 (grub_menu_execute_entry): Likewise.
34543 (grub_menu_execute_with_fallback): Likewise.
34544 (grub_menu_entry_run): Likewise.
34545 (grub_menu_addentry): Renamed from this ...
34546 (grub_normal_add_menu_entry): ... to this.
34547
34548 * normal/main.c (grub_menu_addentry): Renamed from this ...
34549 (grub_normal_add_menu_entry): ... to this.
34550
34551 * script/sh/execute.c (grub_script_execute_menuentry): Update
34552 reference to renamed grub_menu_addentry function.
34553
861f03a5 345542009-05-23 Felix Zielcke <fzielcke@z-51.de>
34555
34556 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34557
96b1619a 345582009-05-22 Pavel Roskin <proski@gnu.org>
34559
bf6a5fb2 34560 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34561 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34562 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34563 compiling for the i386 targets, but not for the utilities.
34564
96b1619a 34565 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34566 to grub_uint8_t.
34567 (grub_root_drive): Likewise.
34568 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34569 remove alignment.
34570 (grub_root_drive): Change size to byte.
34571 (grub_start_addr): Remove.
34572 (grub_end_addr): Likewise.
34573 (grub_apm_bios_info): Likewise.
34574
b729776b 345752009-05-21 Felix Zielcke <fzielcke@z-51.de>
34576
34577 * normal/i386: Remove.
34578 * normal/powerpc: Likewise.
34579 * normal/sparc64: Likewise.
34580 * normal/x86_64: Likewise.
34581
0a15ce80 345822009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34583
34584 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34585 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34586 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34587
33db9015 345882009-05-18 Colin D Bennett <colin@gibibit.com>
34589
d6da58e6 34590 Display error messages when parsing a Lua statement fails.
34591 Previously, executing a syntactically invalid statement like
34592 ")foo" or "bar;" would silently fail.
33db9015 34593
34594 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34595 (grub_lua_parse_line): Improved reporting of Lua parser and
34596 execution errors.
33db9015 34597
46422c89 345982009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34599
34600 Remove -Werror which causes build to fail on some systems
34601
34602 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34603 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34604 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34605
22f53a96 346062009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34607
34608 trampoline for linux on 64-bit platform
34609
18f547ad 34610 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34611 loader/i386/efi/linux_trampoline.S
34612 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34613 declaration
d6da58e6 34614 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34615 here
22f53a96 34616 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34617 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34618 trampoline
22f53a96 34619 (jumpvector): removed
34620 (grub_linux_trampoline_start): new declaration
34621 (grub_linux_trampoline_end): likewise
34622 (grub_linux_boot): use trampoline when on 64-bit platform
34623 * loader/i386/linux.c: likewise
34624
cb5a0f40 346252009-05-16 Pavel Roskin <proski@gnu.org>
34626
34627 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34628 const to avoid a warning.
34629 (grub_lua_setenv): Likewise.
34630 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34631 lmsg to fix a warning.
34632
334f2c28 346332009-05-16 Felix Zielcke <fzielcke@z-51.de>
34634
34635 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34636 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34637 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34638 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34639 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34640 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34641 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34642 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34643
59e5d3ec 346442009-05-16 Felix Zielcke <fzielcke@z-51.de>
34645
34646 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34647
9d87a1ba 346482009-05-16 Bean <bean123ch@gmail.com>
34649
34650 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34651 (lua_mod_SOURCES): New variable.
34652 (lua_mod_CFLAGS): Likewise.
34653 (lua_mod_LDFLAGS): Likewise.
34654
34655 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34656 (setjmp_mod_SOURCES): New variable.
34657 (setjmp_mod_CFLAGS): Likewise.
34658 (setjmp_LDFLAGS): Likewise.
34659
34660 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34661 (setjmp_mod_SOURCES): New variable.
34662 (setjmp_mod_CFLAGS): Likewise.
34663 (setjmp_LDFLAGS): Likewise.
34664
34665 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34666 (setjmp_mod_SOURCES): New variable.
34667 (setjmp_mod_CFLAGS): Likewise.
34668 (setjmp_LDFLAGS): Likewise.
34669
34670 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34671 (setjmp_mod_SOURCES): New variable.
34672 (setjmp_mod_CFLAGS): Likewise.
34673 (setjmp_LDFLAGS): Likewise.
34674
34675 * normal/i386/setjmp.S: Moved from here ...
34676 * lib/i386/setjmp.S: ... Moved here
34677 * normal/x86_64/setjmp.S: Moved from here ...
34678 * lib/x86_64/setjmp.S: ... Moved here
34679 * normal/powerpc/setjmp.S: Moved from here ...
34680 * lib/powerpc/setjmp.S: ... Moved here
34681 * normal/sparc64/setjmp.S: Moved from here ...
34682 * lib/sparc64/setjmp.S: ... Moved here
34683
34684 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34685 returns_twice in mingw.
34686
34687 * script/lua/grub_lib.c: New file.
34688 * script/lua/grub_lib.h: Likewise.
34689 * script/lua/grub_lua.h: Likewise.
34690 * script/lua/grub_main.c: Likewise.
34691 * script/lua/lapi.c: Likewise.
34692 * script/lua/lapi.h: Likewise.
34693 * script/lua/lauxlib.c: Likewise.
34694 * script/lua/lauxlib.h: Likewise.
34695 * script/lua/lbaselib.c: Likewise.
34696 * script/lua/lcode.c: Likewise.
34697 * script/lua/lcode.h: Likewise.
34698 * script/lua/ldblib.c: Likewise.
34699 * script/lua/ldebug.c: Likewise.
34700 * script/lua/ldebug.h: Likewise.
34701 * script/lua/ldo.c: Likewise.
34702 * script/lua/ldo.h: Likewise.
34703 * script/lua/ldump.c: Likewise.
34704 * script/lua/lfunc.c: Likewise.
34705 * script/lua/lfunc.h: Likewise.
34706 * script/lua/lgc.c: Likewise.
34707 * script/lua/lgc.h: Likewise.
34708 * script/lua/linit.c: Likewise.
34709 * script/lua/liolib.c: Likewise.
34710 * script/lua/llex.c: Likewise.
34711 * script/lua/llex.h: Likewise.
34712 * script/lua/llimits.h: Likewise.
34713 * script/lua/lmathlib.c: Likewise.
34714 * script/lua/lmem.c: Likewise.
34715 * script/lua/lmem.h: Likewise.
34716 * script/lua/loadlib.c: Likewise.
34717 * script/lua/lobject.c: Likewise.
34718 * script/lua/lobject.h: Likewise.
34719 * script/lua/lopcodes.c: Likewise.
34720 * script/lua/lopcodes.h: Likewise.
34721 * script/lua/loslib.c: Likewise.
34722 * script/lua/lparser.c: Likewise.
34723 * script/lua/lparser.h: Likewise.
34724 * script/lua/lstate.c: Likewise.
34725 * script/lua/lstate.h: Likewise.
34726 * script/lua/lstring.c: Likewise.
34727 * script/lua/lstring.h: Likewise.
34728 * script/lua/lstrlib.c: Likewise.
34729 * script/lua/ltable.c: Likewise.
34730 * script/lua/ltable.h: Likewise.
34731 * script/lua/ltablib.c: Likewise.
34732 * script/lua/ltm.c: Likewise.
34733 * script/lua/ltm.h: Likewise.
34734 * script/lua/lua.h: Likewise.
34735 * script/lua/luaconf.h: Likewise.
34736 * script/lua/lualib.h: Likewise.
34737 * script/lua/lundump.c: Likewise.
34738 * script/lua/lundump.h: Likewise.
34739 * script/lua/lvm.c: Likewise.
34740 * script/lua/lvm.h: Likewise.
34741 * script/lua/lzio.c: Likewise.
34742 * script/lua/lzio.h: Likewise.
34743
5e898c9d 347442009-05-16 Bean <bean123ch@gmail.com>
34745
34746 * include/grub/kernel.h (grub_module_header_types): Add type
34747 OBJ_TYPE_CONFIG.
34748
34749 * kern/main.c (grub_load_config): New function.
34750 (grub_main): Call grub_load_config to read boot config.
34751
34752 * grub-mkimage (generate_image): New parameter config_path.
34753 (options): New option --config.
34754 (main): Parse --config option, and pass it to generate_image.
34755
cf353a47 347562009-05-14 Christian Franke <franke@computer.org>
34757
34758 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34759 This fixes build on Cygwin.
34760
3834887f 347612009-05-14 Pavel Roskin <proski@gnu.org>
34762
34763 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34764 jump. This saves two bytes, so the typical case of 2 swapped
34765 drives would fit 32 bytes.
34766
8090fc01 347672009-05-13 Pavel Roskin <proski@gnu.org>
34768
ac963883 34769 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34770 grub_uint32_t to avoid a warning.
34771
8090fc01 34772 * loader/i386/linux.c (allocate_pages): When assigning
34773 real_mode_mem, cast through grub_size_t to fix a warning. The
34774 code already makes sure that the value would fit a pointer.
34775 (grub_linux_setup_video): Cast render_target->data to
34776 grub_size_t to fix a warning.
34777
18f547ad 347782009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34779
34780 * commands/i386/pc/drivemap.c: New file - implement drivemap
34781 command.
34782 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34783 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34784
6f6a8b28 347852009-05-13 Pavel Roskin <proski@gnu.org>
34786
34787 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34788 embedding_area_exists.
34789
15fbf4c4 347902009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34791
34792 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34793 it easier to understand / work with.
59978c8a 34794 Improve warning messages for cases where there's no embedding area,
34795 or when it is too small (or core.img too large).
15fbf4c4 34796
238e871f 347972009-05-13 Pavel Roskin <proski@gnu.org>
34798
0ab3a9a4 34799 * loader/i386/pc/multiboot2.c: Add necessary includes for
34800 grub_multiboot2_real_boot().
34801
a2c8c5f8 34802 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34803 PX record is always little-endian. We only need the lower 2
34804 bytes of the mode.
34805
faec96af 34806 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34807 facilitate code reuse.
34808 (grub_cpio_mount): Use "struct head", not a char buffer. This
34809 fixes a warning reported by gcc 4.4.
34810
238e871f 34811 * kernel/disk.c (grub_disk_read): Use void pointer for the
34812 buffer.
34813 (grub_disk_write): Use const void pointer for the buffer.
34814 Adjust all callers. Remove unnecessary casts.
34815
901d2f0c 348162009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34817
34818 * util/i386/pc/grub-install.in: Update copyright year.
34819
18f547ad 348202009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34821
34822 gptsync
34823
34824 * commands/gptsync.c: new file
34825 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34826 (gptsync_mod_SOURCES): new variable
34827 (gptsync_mod_CFLAGS): likewise
34828 (gptsync_mod_LDFLAGS): likewise
18f547ad 34829 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34830 new definition
34831 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34833 * conf/i386-ieee1275.rmk: likewise
34834 * conf/i386-pc.rmk: likewise
34835 * conf/powerpc-ieee1275.rmk: likewise
34836
b4ba690a 348372009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34838
34839 Fixed grub-emu
34840
34841 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34842 (grub_dl_ref): likewise
34843
317e1a44 348442009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34845
34846 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34847 split in two functions (one for msdos and one for gpt).
34848
041b8094 348492009-05-08 Pavel Roskin <proski@gnu.org>
34850
752473c2 34851 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34852 not modified.
34853
041b8094 34854 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34855 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34856 Initialize them with -1. Add sanity check for bad1. Eliminate
34857 nerr variable.
34858
172800ce 348592009-05-08 David S. Miller <davem@davemloft.net>
34860
34861 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34862
29aa5e81 348632009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34864
34865 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34866 existence.
29aa5e81 34867
96613b62 348682009-05-05 Felix Zielcke <fzielcke@z-51.de>
34869
34870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34871 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34872
eef73c8a 348732009-05-05 David S. Miller <davem@davemloft.net>
34874
34875 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34876
119494b5 348772009-05-05 Pavel Roskin <proski@gnu.org>
34878
34879 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34880 of grub_dl_ref() and grub_dl_unref().
34881 * commands/parttool.c: Remove preprocessor conditionals around
34882 grub_dl_ref() and grub_dl_unref().
34883 * fs/affs.c: Likewise.
34884 * fs/afs.c: Likewise.
34885 * fs/cpio.c: Likewise.
34886 * fs/ext2.c: Likewise.
34887 * fs/fat.c: Likewise.
34888 * fs/hfs.c: Likewise.
34889 * fs/hfsplus.c: Likewise.
34890 * fs/iso9660.c: Likewise.
34891 * fs/jfs.c: Likewise.
34892 * fs/minix.c: Likewise.
34893 * fs/ntfs.c: Likewise.
34894 * fs/reiserfs.c: Likewise.
34895 * fs/sfs.c: Likewise.
34896 * fs/udf.c: Likewise.
34897 * fs/ufs.c: Likewise.
34898 * fs/xfs.c: Likewise.
34899 * include/grub/dl.h: Likewise.
34900 * loader/xnu.c: Likewise.
34901
de5fd76e 349022009-05-04 Pavel Roskin <proski@gnu.org>
34903
34904 * commands/acpi.c: Remove unused variable my_mod.
34905 * partmap/amiga.c: Likewise.
34906 * partmap/apple.c: Likewise.
34907 * partmap/gpt.c: Likewise.
34908 * partmap/pc.c: Likewise.
34909 * partmap/sun.c: Likewise.
34910 * term/gfxterm.c: Likewise.
34911 * term/i386/pc/vesafb.c: Likewise.
34912 * term/i386/pc/vga.c: Likewise.
34913
983598ad 349142009-05-04 David S. Miller <davem@davemloft.net>
34915
34916 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34917 pointer args to grub_ieee1275_get_property().
34918
8aadec43 34919 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34920
9554b15e 34921 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34922 devices, and do not traverse down under controller nodes.
34923
67e23c90 34924 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34925 (grub_ofdisk_open): Use it to un-escape "," characters.
34926 * kern/disk.c (find_part_sep): New.
34927 (grub_disk_open): Use it to find the first non-escaped ','
34928 character in the disk name.
34929 * util/ieee1275/devicemap.c (escape_of_path): New.
34930 (grub_util_emit_devicemap_entry): Use it.
34931 * util/sparc64/ieee1275/grub-install.in: Update script to
34932 strip partition specifiers properly by not triggering on
34933 '\' escaped ',' characters.
34934
74bfdd2f 349352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34936
34937 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34938 to 0x300.
34939 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34940 resolutions.
34941 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34942 on documentation from Wikipedia).
34943
4241d2b1 349442009-05-04 Pavel Roskin <proski@gnu.org>
34945
34946 * disk/ata.c: Spelling fixes.
34947 * disk/raid.c: Likewise.
34948 * disk/usbms.c: Likewise.
34949 * disk/dmraid_nvidia.c: Likewise.
34950 * kern/ieee1275/openfw.c: Likewise.
34951 * kern/ieee1275/init.c: Likewise.
34952 * kern/ieee1275/cmain.c: Likewise.
34953 * boot/i386/pc/cdboot.S: Likewise.
34954 * video/readers/png.c: Likewise.
34955 * video/i386/pc/vbe.c: Likewise.
34956 * fs/udf.c: Likewise.
34957 * fs/hfs.c: Likewise.
34958 * fs/reiserfs.c: Likewise.
34959 * efiemu/runtime/efiemu.c: Likewise.
34960 * efiemu/main.c: Likewise.
34961 * efiemu/mm.c: Likewise.
34962 * include/grub/elf.h: Likewise.
34963 * include/grub/xnu.h: Likewise.
34964 * include/grub/usbdesc.h: Likewise.
34965 * include/grub/usb.h: Likewise.
34966 * include/grub/script_sh.h: Likewise.
34967 * include/grub/lib/LzmaEnc.h: Likewise.
34968 * include/grub/efiemu/efiemu.h: Likewise.
34969 * include/grub/command.h: Likewise.
34970 * normal/menu.c: Likewise.
34971 * normal/main.c: Likewise.
34972 * normal/datetime.c: Likewise.
34973 * bus/usb/uhci.c: Likewise.
34974 * mmap/i386/uppermem.c: Likewise.
34975 * mmap/mmap.c: Likewise.
34976 * commands/acpi.c: Likewise.
34977 * commands/test.c: Likewise.
34978 * partmap/apple.c: Likewise.
34979 * font/font.c: Likewise.
34980 * loader/sparc64/ieee1275/linux.c: Likewise.
34981 * loader/macho.c: Likewise.
34982 * loader/i386/bsd_trampoline.S: Likewise.
34983 * loader/i386/bsd.c: Likewise.
34984 * loader/xnu.c: Likewise.
34985 * term/i386/pc/vesafb.c: Likewise.
34986 * term/usb_keyboard.c: Likewise.
34987 * util/resolve.c: Likewise.
34988 * util/getroot.c: Likewise.
34989
0cfc0083 349902009-05-04 Felix Zielcke <fzielcke@z-51.de>
34991
34992 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34993
7c1d00cd 349942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34995
34996 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34997 build error.
34998
b01f0548 349992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35000
35001 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
35002 parameter only available on BIOS.
35003
ecc3eb22 350042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35005
35006 Removed wrong semicolon in declaration
35007
35008 * grub/misc.h (grub_dprintf): remove semicolon
35009
112972a9 350102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35011
35012 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
35013 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
35014 is done by grub_cmd_linux() now).
35015 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
35016 restore video to text mode.
35017 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
35018 indicates lack of "vga=" parameter. "vga=0" is mapped to
35019 `GRUB_LINUX_VID_MODE_NORMAL'.
35020
afd5c115 350212009-05-04 Felix Zielcke <fzielcke@z-51.de>
35022
35023 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
35024 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
35025 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 35026 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 35027 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
35028 `grub_script.tab.c'.
35029
35030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35031 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35033 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35034 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35035
faa517ce 35036 * Makefile.in: Remove duplicated 2008 in Copyright line.
35037
ae0c0bdc 350382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
35039
473d1e45 35040 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 35041 unconditionally.
35042 * include/grub/util/misc.h (grub_util_warn): New declaration.
35043
35044 * util/i386/pc/grub-install.in: Understand --force and pass it down
35045 to grub-setup.
35046
35047 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
35048 down to setup().
35049 (setup): Improve error messages and add warnings when requested to
35050 install in odd layouts. Refuse to install using blocklists unless
35051 --force was set.
35052
18f547ad 350532009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 35054
35055 * disk/raid.c (grub_raid_scan_device): Improve debug message.
35056
6d260daa 350572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35058
35059 Updated copyright year
35060
35061 * fs/hfsplus.c: updated copyright year
18f547ad 35062
69f853f8 350632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35064
35065 HFS+ UUID
35066
18f547ad 35067 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 35068 in the space previously used by unused3
35069 (grub_hfsplus_uuid): new function
35070 (grub_hfsplus_fs): added uuid field
35071
4c402e73 350722009-05-03 Pavel Roskin <proski@gnu.org>
35073
35074 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35075 suppress warnings. It's no longer needed.
35076 * disk/host.c: Likewise.
35077 * disk/ata_pthru.c: Likewise.
35078 * disk/loopback.c: Likewise.
35079 * hook/datehook.c: Likewise.
35080 * parttool/pcpart.c: Likewise.
35081 * fs/i386/pc/pxe.c: Likewise.
35082 * fs/ntfscomp.c: Likewise.
35083 * efiemu/main.c: Likewise.
35084 * mmap/mmap.c: Likewise.
35085 * commands/crc.c: Likewise.
35086 * commands/hexdump.c: Likewise.
35087 * commands/hdparm.c: Likewise.
35088 * commands/acpi.c: Likewise.
35089 * commands/echo.c: Likewise.
35090 * commands/minicmd.c: Likewise.
35091 * commands/blocklist.c: Likewise.
35092 * commands/memrw.c: Likewise.
35093 * commands/loadenv.c: Likewise.
35094 * commands/usbtest.c: Likewise.
35095 * commands/lsmmap.c: Likewise.
35096 * commands/boot.c: Likewise.
35097 * commands/parttool.c: Likewise.
35098 * commands/configfile.c: Likewise.
35099 * commands/search.c: Likewise.
35100 * commands/ieee1275/suspend.c: Likewise.
35101 * commands/cat.c: Likewise.
35102 * commands/i386/pc/pxecmd.c: Likewise.
35103 * commands/i386/pc/play.c: Likewise.
35104 * commands/i386/pc/halt.c: Likewise.
35105 * commands/i386/pc/vbeinfo.c: Likewise.
35106 * commands/i386/pc/vbetest.c: Likewise.
35107 * commands/lspci.c: Likewise.
35108 * commands/date.c: Likewise.
35109 * commands/handler.c: Likewise.
35110 * commands/ls.c: Likewise.
35111 * commands/test.c: Likewise.
35112 * commands/cmp.c: Likewise.
35113 * commands/efi/loadbios.c: Likewise.
35114 * commands/efi/fixvideo.c: Likewise.
35115 * commands/halt.c: Likewise.
35116 * commands/help.c: Likewise.
35117 * commands/reboot.c: Likewise.
35118 * hello/hello.c: Likewise.
35119 * script/sh/main.c: Likewise.
35120 * loader/xnu.c: Likewise.
35121 * term/terminfo.c: Likewise.
35122 * term/i386/pc/serial.c: Likewise.
35123 * term/usb_keyboard.c: Likewise.
35124
515b5079 351252009-05-03 David S. Miller <davem@davemloft.net>
35126
35127 * normal/menu.c: Include grub/parser.h
35128
dfc31a22 351292009-05-03 Pavel Roskin <proski@gnu.org>
35130
2fee74f1 35131 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35132 not char*.
35133 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35134 Suggested by Javier Martín <lordhabbit@gmail.com>
35135
dfc31a22 35136 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35137 efiemu??.o doesn't exist.
35138 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35139 copying.
35140
18f547ad 351412009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 35142
35143 FreeBSD 64-bit support
35144
18f547ad 35145 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 35146 and loader/i386/bsd_trampoline.S
35147 (bsd_mod_ASFLAGS): new variable
35148 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35149 (FREEBSD_MODTYPE_KERNEL64): likewise
35150 (grub_bsd64_trampoline_start): likewise
35151 (grub_bsd64_trampoline_end): likewise
35152 (grub_bsd64_trampoline_selfjump): likewise
35153 (grub_bsd64_trampoline_gdt): likewise
35154 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35155 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35156 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35157 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 35158 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 35159 of "attrib" member
35160 * loader/i386/bsd_pagetable.c: new file
35161 * loader/i386/bsd_trampoline.S: likewise
35162 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35163 (ALIGN_VAR): likewise
35164 (entry_hi): new variable
35165 (kern_end_mdofs): likewise
35166 (is_64bit): likewise
35167 (grub_freebsd_add_meta): use ALIGN_VAR
35168 (grub_e820_mmap): new declaration
35169 (grub_freebsd_add_mmap): new function
35170 (grub_freebsd_add_meta_module): support 64 bit kernels
35171 (grub_freebsd_list_modules): use ALIGN_VAR
35172 (gdt_descriptor): new declaration
35173 (grub_freebsd_boot): support 64 bit kernels
35174 (grub_bsd_elf64_hook): new function
35175 (grub_bsd_load_elf): support elf64
35176
038c5720 351772009-05-03 Bean <bean123ch@gmail.com>
35178
35179 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35180 after we get the result of if statement.
35181
fc45fb58 351822009-05-03 Bean <bean123ch@gmail.com>
35183
35184 * Makefile.in (enable_efiemu): New variable.
35185
35186 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35187 set.
35188 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35189 path.
35190 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35191 path, add -mno-red-zone option.
35192 (efiemu64_s.o): Likewise.
35193 (efiemu64.o): Use macro $^ for source file.
35194
35195 * configure.ac (--enable-efiemu): New option.
35196
bbee0f2b 351972009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35198
35199 xnu support
35200
35201 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35202 (pkglib_MODULES): add xnu.mod
35203 (xnu_mod_SOURCES): new variable
35204 (xnu_mod_CFLAGS): likewise
35205 (xnu_mod_LDFLAGS): likewise
35206 (xnu_mod_ASFLAGS): likewise
35207 * conf/i386-pc.rmk: likewise
35208 * conf/x86_64-efi.rmk: likewise
7dd4a573 35209 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 35210 new declaration
35211 * include/grub/i386/macho.h: new file
35212 * include/grub/i386/xnu.h: likewise
35213 * include/grub/macho.h: likewise
35214 * include/grub/machoload.h: likewise
35215 * include/grub/x86_64/macho.h: likewise
35216 * include/grub/x86_64/xnu.h: likewise
35217 * include/grub/xnu.h: likewise
35218 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35219 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35220 * loader/i386/efi/xnu.c: new file
35221 * loader/i386/pc/xnu.c: likewise
35222 * loader/i386/xnu.c: likewise
35223 * loader/i386/xnu_helper.S: likewise
35224 * loader/macho.c: likewise
35225 * loader/xnu.c: likewise
35226 * loader/xnu_resume.c: likewise
35227 * util/grub-dumpdevtree: likewise
35228 * include/grub/i386/pit.h: include grub/err.h
35229 (grub_pit_wait): export
35230 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 35231
5caf964d 352322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35233
35234 Efiemu
7dd4a573 35235
5caf964d 35236 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 35237 _linux_efi, linux_efi.
35238 new files in grub-emu
5caf964d 35239 new targets efiemu32.o and efiemu64.o
35240 * loader/linux_normal_efiemu.c: likewise
35241 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 35242 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 35243 files to copy
35244 * include/grub/autoefi.h: new file
7dd4a573 35245 * include/grub/i386/efiemu.h: likewise
5caf964d 35246 * include/grub/i386/pc/efiemu.h: likewise
35247 * include/grub/efi/api.h: add LL suffix when necessary
35248 new definitions relating to tables
35249 * include/grub/efiemu/efiemu.h: new file
35250 * include/grub/efiemu/runtime.h: likewise
35251 * efiemu/prepare.c: likewise
35252 * efiemu/loadcore_common.c: likewise
35253 * efiemu/loadcore64.c: likewise
35254 * efiemu/runtime/efiemu.sh: likewise
35255 * efiemu/runtime/efiemu.S: likewise
35256 * efiemu/runtime/efiemu.c: likewise
35257 * efiemu/runtime/config.h: likewise
35258 * efiemu/prepare32.c: likewise
35259 * efiemu/main.c: likewise
35260 * efiemu/modules/pnvram.c: likewise
35261 * efiemu/modules/i386: likewise
35262 * efiemu/modules/i386/pc: likewise
35263 * efiemu/modules/acpi.c: likewise
35264 * efiemu/i386/pc/cfgtables.c: likewise
35265 * efiemu/i386/loadcore64.c: likewise
35266 * efiemu/i386/loadcore32.c: likewise
35267 * efiemu/prepare64.c: likewise
35268 * efiemu/loadcore.c: likewise
35269 * efiemu/symbols.c: likewise
35270 * efiemu/mm.c: likewise
35271 * efiemu/loadcore32.c: likewise
7dd4a573 35272
352732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 35274
35275 ACPI spoofing
35276
35277 * commands/acpi.c: new file
35278 * commands/i386/pc/acpi.c: likewise
35279 * commands/efi/acpi.c: likewise
35280 * include/grub/acpi.h: likewise
35281 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35282 (acpi_mod_SOURCES): new variable
35283 (acpi_mod_CFLAGS): likewise
35284 (acpi_mod_LDFLAGS): likewise
35285 * conf/i386-efi.rmk: likewise
35286 * conf/x86_64-efi.rmk: likewise
35287
7dd4a573 352882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 35289
35290 Missing part from mmap patch
35291
35292 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35293 (grub_mmap_unregister)
35294 (grub_mmap_free_and_unregister): use grub_mmap_register
35295
7dd4a573 352962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 35297
35298 Mmap services
35299
35300 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35301 * loader/i386/linux.c (find_mmap_size): likewise
35302 (allocate_pages): likewise
35303 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35304 (grub_fill_multiboot_mmap): likewise
35305 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35306 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35307 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35308 (OPENBSD_MMAP_RESERVED): likewise
35309 * include/grub/i386/pc/memory.h: include grub/memory.h
35310 (grub_lower_mem): removed
35311 (grub_upper_mem): likewise
35312 (GRUB_MACHINE_MEMORY_ACPI): new definition
35313 (GRUB_MACHINE_MEMORY_NVS): likewise
35314 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35315 (GRUB_MACHINE_MEMORY_HOLE): likewise
35316 (grub_machine_mmap_register): likewise
35317 (grub_machine_mmap_unregister): likewise
35318 (grub_machine_get_upper): likewise
35319 (grub_machine_get_lower): likewise
35320 (grub_machine_get_post64): likewise
35321 * include/grub/i386/efi/memory.h: new file
35322 * include/grub/x86_64/efi/memory.h: likewise
35323 * include/grub/efi/memory.h: likewise
35324 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35325 (mmap_mod_SOURCES): new variable
35326 (mmap_mod_LDFLAGS): likewise
35327 (mmap_mod_ASFLAGS): likewise
35328 * conf/i386-coreboot.rmk: likewise
35329 * conf/i386-ieee1275.rmk: likewise
35330 * conf/i386-efi.rmk: likewise
35331 * conf/x86_64-efi.rmk: likewise
35332 * include/grub/types.h (UINT_TO_PTR): new macro
35333 (PTR_TO_UINT32): likewise
35334 (PTR_TO_UINT64): likewise
35335 * include/grub/memory.h: new file
35336 * mmap/i386/pc/mmap.c: likewise
35337 * mmap/i386/pc/mmap_helper.S: likewise
35338 * mmap/i386/uppermem.c: likewise
35339 * mmap/mmap.c: likewise
35340 * mmap/efi/mmap.c: likewise
7dd4a573 35341 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 35342 grub_upper_mem
35343 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35344 (grub_upper_mem): likewise
35345 (grub_machine_init): don't use grub_upper_mem,
35346 make grub_lower_mem local
35347 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35348 grub_mmap_iterate and grub_mmap_get_upper
35349 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35350
d558e6b5 353512009-05-02 Bean <bean123ch@gmail.com>
35352
35353 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35354 script/sh/parser.y.
35355 (pkglib_MODULES): Add normal.mod and sh.mod.
35356 (normal_SOURCES): New variable.
35357 (normal_mod_CFLAGS): Likewise.
35358 (normal_mod_LDFLAGS): Likewise.
35359 (sh_mod_SOURCES): Likewise.
35360 (sh_mod_CFLAGS): Likewise.
35361 (sh_mod_LDFLAGS): Likewise.
35362
35363 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35364 script/sh/lexer.c_DEPENDENCIES.
35365 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35366 kern/rescue_reader.c and kern/rescue_parser.c.
35367 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35368 (grub_emu_SOURCES): Change source files.
35369 (pkglib_MODULES): Remove normal.mod.
35370 (normal_SOURCES): Removed.
35371 (normal_mod_CFLAGS): Likewise.
35372 (normal_mod_LDFLAGS): Likewise.
35373 * conf/i386-coreboot.rmk: Likewise.
35374 * conf/i386-efi.rmk: Likewise.
35375 * conf/i386-ieee1276.rmk: Likewise.
35376 * conf/powerpc-ieee1275.rmk: Likewise.
35377 * conf/sparc64-ieee1275.rmk: Likewise.
35378 * conf/x86_64-efi.rmk: Likewise.
35379
35380 * include/grub/command.h (grub_command_execute): New inline function.
35381
35382 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35383
35384 * include/grub/normal.h: Remove <grub/setjmp.h>.
35385 (grub_fs_module_list): Moved to normal/autofs.c.
35386 (grub_exit_env): Removed.
35387 (grub_command_execute): Likewise.
35388 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35389 parameter script.
35390 (read_command_list): New function declaration.
35391 (read_fs_list): Likewise.
35392
35393 * include/parser.h: Include <grub/reader.h>.
35394 (grub_parser_split_cmdline): Change type of getline parameter.
35395 (grub_parser): New structure.
35396 (grub_parser_class): New variable.
35397 (grub_parser_execute): New function declaration.
35398 (grub_register_rescue_parser): Likewise.
35399 (grub_parser_register): New inline function.
35400 (grub_parser_unregister): Likewise.
35401 (grub_parser_get_current): Likewise.
35402 (grub_parser_set_current): Likewise.
35403
35404 * include/grub/reader.h: New file.
35405 * kern/reader.c: Likewise.
35406 * kern/rescue_parser.c: Likewise.
35407 * kern/rescue_reader.c: Likewise.
35408 * normal/autofs.c: Likewise.
35409 * normal/dyncmd.c: Likewise.
35410
35411 * include/grub/rescue.h: Removed.
35412 * normal/command.h: Likewise.
35413
35414 * include/grub/script.h: Moved to ...
35415 * include/grub/script_sh.h: ... Moved here.
35416 * normal/execute.c: Moved to ...
35417 * script/sh/execute.c: ... Moved here.
35418 * normal/function.c: Moved to ...
35419 * script/sh/function.c: ... Moved here.
35420 * normal/lexer.c: Moved to ...
35421 * script/sh/lexer.c: ... Moved here.
35422 * normal/parser.y: Moved to ...
35423 * script/sh/parser.y: ... Moved here.
35424 * normal/script.c: Moved to ...
35425 * script/sh/script.c: ... Moved here.
35426
35427 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35428 <grub/reader.h>.
35429 (grub_exit_env): Removed.
35430 (fs_module_list): Moved to normal/autofs.c.
35431 (grub_file_getline): Don't handle comment here.
35432 (free_menu): Skip removed field entry->commands.
35433 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35434 script parameter.
35435 (read_config_file): Removed nested parameter, change getline function.
35436 (grub_enter_normal_mode): Removed.
35437 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35438 (read_command_list): Likewise.
35439 (autoload_fs_module): Moved to normal/autofs.c.
35440 (read_fs_list): Likewise.
35441 (reader_nested): New variable.
35442 (grub_normal_execute): Run parser.sh to switch to sh parser.
35443 (grub_cmd_rescue): Removed.
35444 (cmd_normal): Removed.
35445 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35446 rescue command.
35447 (grub_cmdline_run): New function.
35448 (grub_normal_reader_init): Likewise.
35449 (grub_normal_read_line): Likewise.
35450 (grub_env_write_pager): Likewise.
35451 (cmdline): New variable.
35452 (grub_normal_reader): Likewise.
35453 (GRUB_MOD_INIT): Register normal reader and set as current, register
35454 pager hook, register normal command with grub_register_command_prio,
35455 so that it won't show up in command.lst.
35456 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35457 grub_fs_autoload_hook.
35458
35459 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35460 (grub_menu_execute_entry): Replace grub_script_execute with
35461 grub_parser_execute, change parameter to grub_command_execute.
35462
35463 * normal/menu_text.c: Remove <grub/script.h>.
35464
35465 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35466 and <grub/parser.h>.
35467 (run): Change editor_getline to use new parser interface. Change
35468 parameter to grub_command_execute.
35469
35470 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35471 <grub/reader.h> and <grub/parser.h>.
35472 (grub_load_normal_mode): Execute normal command.
35473 (grub_main): Call grub_register_core_commands,
35474 grub_register_rescue_parser and grub_register_rescue_reader, use
35475 grub_reader_loop to enter input loop.
35476
7dd4a573 35477 * kern/parser.c (grub_parser_split_cmdline): Change type of
35478 getline parameter.
d558e6b5 35479 (grub_parser_class): New variable.
35480 (grub_parser_execute): New function.
35481
35482 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35483 * loader/multiboot2.c: Likewise.
35484 * loader/sparc64/ieee1275/linux.c: Likewise.
35485
35486 * util/grub-emu.c (read_command_list): New dummy function.
35487
18db813d 354882009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35489
35490 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35491 count to 16 for CCISS and IDA.
35492
6c67de15 354932009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35494
35495 * normal/menu_text.c (grub_wait_after_message): Print a newline
35496 after waiting for user input.
35497
35498 * loader/i386/linux.c: Include `<grub/normal.h>'.
35499 (grub_cmd_linux): Improve the error message about `ask' mode, by
35500 waiting for user input so it's not missed (we can do this, since
35501 user requested interaction).
35502
d9dc87b0 355032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35504
35505 Added missing lst to grub-mkrescue
35506
35507 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35508 and ${input_dir}/parttool.lst
35509
ac8a2baa 355102009-04-30 David S. Miller <davem@davemloft.net>
35511
ad22a610 35512 * util/hostdisk.c (device_is_wholedisk): New function.
35513 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35514 zero only if device_is_wholedisk() returns true.
35515
6966215d 35516 * util/hostdisk.c (convert_system_partition_to_system_disk):
35517 Handle virtual disk devices named /dev/vdiskX as found on sparc
35518 and powerpc.
35519
ac8a2baa 35520 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35521 lettered partition specifier is found, convert to numbered.
35522
979b4fb4 355232009-04-29 David S. Miller <davem@davemloft.net>
35524
e2bf39b2 35525 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35526 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35527
3c64e104 35528 * normal/command.c: Add missing newline at end of file.
35529
979b4fb4 35530 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35531 warnings.
35532 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35533 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35534 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35535 ihandles have a 32-bit type but need to be stored in a "void *".
35536
136d9f82 355372009-04-28 Pavel Roskin <proski@gnu.org>
35538
9459c306 35539 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35540 not disk. Adjust all dependencies.
2e08a26a 35541 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35542 grub_disk_close().
35543
136d9f82 35544 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35545 parent's partition, don't copy it by reference, as it gets freed
35546 on close.
35547
7dd4a573 355482009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35549
35550 Preboot hooks support
35551
35552 * commands/boot.c (struct grub_preboot_t): new declaration
35553 (preboots_head): new variable
35554 (preboots_tail): likewise
35555 (grub_loader_register_preboot_hook): new function
35556 (grub_loader_unregister_preboot_hook): likewise
35557 (grub_loader_set): launch preboot hooks
35558 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35559 (grub_loader_register_preboot_hook): new declaration
35560 (grub_loader_unregister_preboot_hook): likewise
35561
5af922b5 355622009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35563
35564 Warning fix
35565
7dd4a573 35566 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35567 calling grub_dprintf
35568
a5562c30 355692009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35570
35571 Bug and warning fixes
35572
7dd4a573 35573 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35574 declaration
35575 * commands/test.c (test_parse): fixed bug with file tests and corrected
35576 declaration of find_file
35577
4006f85c 355782009-04-26 Pavel Roskin <proski@gnu.org>
35579
35580 * Makefile.in: Don't install empty manual pages if help2man is
35581 missing. Use help2man option for output, not shell redirection.
35582
5c77c3de 355832009-04-26 David S. Miller <davem@davemloft.net>
35584
35585 * util/grub-mkdevicemap.c (make_device_map): Add missing
35586 NESTED_FUNC_ATTR to process_device().
35587
033b10a8 355882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35589
35590 Test command
35591
35592 * commands/test.c: rewritten to use bash-like test
35593
e4343593 355942009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35595
35596 Parttool autoloading and improvements
35597
7dd4a573 35598 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35599 (parttool.lst): new target
35600 * genmk.rb: generate parttool-*
35601 (CLEANFILES): add #{parttool}
35602 (PARTTOOLFILES): new variable
35603 * genparttoollist.sh: new file
7dd4a573 35604 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35605 (grub_pcpart_type): likewise
35606 * commands/parttool.c (helpmsg): new variable
35607 (grub_cmd_parttool): output help if not enough arguments are supplied
35608 autoload modules
35609 (GRUB_MOD_INIT(parttool)): use helpmsg
35610
0d312500 356112009-04-24 David S. Miller <davem@davemloft.net>
35612
7dd4a573 35613 Avoiding opening same device multiple times in device iterator.
0d312500 35614
35615 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35616 and use it to build a list of partitions in iterate_disk() and
0d312500 35617 iterate_partition().
35618
ac20caff 35619 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35620 on disk->data.
35621
0dcf7495 35622 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35623 grub_devalias_iterate() result instead of unconditional 0.
35624 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35625 Also, capture hook return value, either directly or via
35626 grub_children_iterate(), and propagate to caller.
35627 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35628 grub_children_iterate): Return value is now 'int' instead of
35629 'grub_err_t'.
35630 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35631 like a proper iterator, stopping when hooks return non-zero.
35632 (grub_devalias_iterate): Likewise.
35633
c8c08833 356342009-04-23 David S. Miller <davem@davemloft.net>
35635
35636 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35637
f01005a8 356382009-04-22 David S. Miller <davem@davemloft.net>
35639
35640 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35641 is larger than address_cells, use that value for address_cells too.
35642
4e8269da 35643 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35644 IEEE1275_MAX_PATH_LEN): Define.
35645 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35646 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35647 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35648 'devtype'. Explicitly NULL terminate devalias expansion.
35649
a1447506 35650 * util/sparc64/ieee1275/misc.c: New file.
35651 * util/sparc64/ieee1275/grub-setup.c: New file.
35652 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35653 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35654 * util/sparc64/ieee1275/grub-install.in: New file.
35655 * util/ieee1275/ofpath.c: New file.
35656 * util/ieee1275/devicemap.c: New file.
35657 * util/devicemap.c: New file.
35658 * util/deviceiter.c: New file.
35659 * kern/sparc64/ieee1275/init.c: New file.
35660 * include/grub/util/ofpath.h: New file.
35661 * include/grub/util/deviceiter.h: New file.
35662 * util/grub-mkdevicemap.c: Include deviceiter.h.
35663 Implement using grub_util_emit_devicemap_entry and
35664 grub_util_iterate_devices.
35665 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35666 util/devicemap.c into grub-mkdevicemap
35667 * conf/i386-efi.rmk: Likewise.
35668 * conf/i386-ieee1275.rmk: Likewise.
35669 * conf/i386-pc.rmk: Likewise.
35670 * conf/powerpc-ieee1275.rmk: Likewise.
35671 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35672 images and installation utilities. Build kernel as image
35673 instead of as elf binary. Use common rules as much as possible.
35674
7dd4a573 356752009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35676
35677 Correct GPT definition
35678
7dd4a573 35679 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35680 of "attrib" member
35681
c6c5219f 356822009-04-19 Felix Zielcke <fzielcke@z-51.de>
35683
35684 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35685
0552ff9f 356862009-04-19 David S. Miller <davem@davemloft.net>
35687
35688 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35689 (grub_rescue_cmd_linux): Rename to...
35690 (grub_cmd_linux): and fix prototype.
35691 (grub_rescue_cmd_initrd): Rename to...
35692 (grub_cmd_initrd): and fix prototype.
35693 (cmd_linux, cmd_initrd): New.
35694 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35695 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35696
d1a282fc 356972009-04-17 Pavel Roskin <proski@gnu.org>
35698
07c5039f 35699 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35700 format.
35701 (grub_ohci_transfer): Likewise.
35702
b012002d 35703 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35704
1bc09c35 35705 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35706 return without a value. Fix inconsistent indentation.
35707
e0ff9126 35708 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35709 match struct grub_fs.
35710
d1a282fc 35711 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35712 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35713 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35714 * commands/lspci.c (grub_lspci_iter): Likewise.
35715
a96df3f2 357162009-04-16 Bean <bean123ch@gmail.com>
35717
35718 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35719 value.
35720
41bb0fe9 357212009-04-15 Pavel Roskin <proski@gnu.org>
35722
35723 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35724 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35725 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35726 definitions.
35727
596c6970 357282009-04-15 Felix Zielcke <fzielcke@z-51.de>
35729
35730 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35731 that no multiple data or metadata areas are supported and `Unknown
596c6970 35732 metadata header'.
35733
7dd4a573 357342009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35735
35736 Move loader out of the kernel
35737
35738 * kern/loader.c: moved to ...
35739 * commands/boot.c: ... moved here
35740 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35741 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35742 * include/grub/kernel.h (grub_machine_fini): export
35743 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35744 (grub_loader_set): likewise
35745 (grub_loader_unset): likewise
35746 (grub_loader_boot): likewise
35747 * conf/common.rmk: new module boot.mod
35748 (pkglib_MODULES): add boot.mod
35749 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35750 (grub_emu_SOURCES): likewise
35751 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35752 (grub_emu_SOURCES): likewise
35753 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35754 (grub_emu_SOURCES): likewise
35755 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35756 (grub_emu_SOURCES): likewise
35757 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35758 (grub_emu_SOURCES): likewise
7dd4a573 35759 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35760 (grub_emu_SOURCES): likewise
0d5d5653 35761 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35762 (grub_emu_SOURCES): likewise
0d5d5653 35763
7dd4a573 357642009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35765
35766 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35767
5999d619 35768 * kern/misc.c (grub_itoa): Removed function
35769 (grub_ltoa): likewise
35770 (grub_vsprintf): use grub_lltoa
35771
7dd4a573 357722009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35773
35774 Restore grub-emu
35775
35776 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35777 * conf/i386-coreboot.rmk: likewise
35778 * conf/i386-ieee1275.rmk: likewise
35779 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35780
20318222 357812009-04-15 Felix Zielcke <fzielcke@z-51.de>
35782
35783 * INSTALL: Add that `./autogen.sh' needs to be run before
35784 `./configure.'.
35785
d05f0df3 357862009-04-14 Bean <bean123ch@gmail.com>
35787
35788 * Makefile.in (pkglib_DATA): Add handler.lst.
35789 (handler.lst): New rule.
35790
35791 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35792 * conf/i386-coreboot.rmk: Likewise.
35793 * conf/i386-ieee1275.rmk: Likewise.
35794 * conf/i386-efi.rmk: Likewise.
35795 * conf/x86_64-efi.rmk: Likewise.
35796 * conf/powerpc-ieee1275.rmk: Likewise.
35797 * conf/sparc64-ieee1275.rmk: Likewise.
35798
35799 * genhandlerlist.sh: New file.
35800
35801 * genmk.rb: Add rules to generate handler.lst.
35802
35803 * include/grub/normal.h (grub_file_getline): New function definition.
35804 (read_handler_list): Likewise.
35805 (free_handler_list): Likewise.
35806
35807 * include/grub/term.h (grub_term_register_input): Add name parameter
35808 for auto generation of handler.lst.
35809 (grub_term_register_output): Likewise.
35810
35811 * normal/handler.c: New file.
35812
35813 * normal/main.c (get_line): Renamed to grub_file_getline.
35814 (read_config_file): Use the newly renamed grub_file_getline.
35815 (read_command_list): Likewise.
35816 (read_fs_list): Likewise.
35817 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35818 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35819
35820 * term/efi/console.c (grub_console_init): Add name parameter for auto
35821 generation of handler.lst.
35822 * term/gfxterm.c: Likewise.
35823 * term/i386/pc/at_keyboard.c: Likewise.
35824 * term/i386/pc/console.c: Likewise.
35825 * term/i386/pc/serial.c: Likewise.
35826 * term/i386/pc/vesafb.c: Likewise.
35827 * term/i386/pc/vga.c: Likewise.
35828 * term/i386/pc/vga_text.c: Likewise.
35829 * term/ieee1275/ofconsole.c: Likewise.
35830 * term/usb_keyboard.c: Likewise.
35831
33c846be 358322009-04-14 Bean <bean123ch@gmail.com>
35833
35834 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35835 properly with null character.
35836
4484e01e 358372009-04-14 Felix Zielcke <fzielcke@z-51.de>
35838
35839 * configure: Remove.
35840 * config.h.in: Likewise.
f93d668e 35841 * stamp-h.in: Likewise.
4484e01e 35842 * DISTLIST: Likewise.
35843 * conf/common.mk: Likewise.
35844 * conf/i386-coreboot.mk: Likewise.
35845 * conf/i386-efi.mk: Likewise.
35846 * conf/i386-ieee1275.mk: Likewise.
35847 * conf/i386.mk: Likewise.
35848 * conf/i386-pc.mk: Likewise.
35849 * conf/powerpc-ieee1275.mk: Likewise.
35850 * conf/sparc64-ieee1275.mk: Likewise.
35851 * conf/x86_64-efi.mk: Likewise.
35852
35853 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35854 develop on GRUB.
35855
7dd4a573 358562009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35857 David S. Miller <davem@davemloft.net>
35858
35859 * util/hostdisk.c (make_device_name): Fix buffer length
35860 calculations.
35861
e25b5a8c 358622009-04-14 Felix Zielcke <fzielcke@z-51.de>
35863
35864 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35865 <sys/param.h> and <sys/sysctl.h>.
35866 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35867 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35868 opening the device and reset them afterwards.
35869
1f1f580c 358702009-04-13 Pavel Roskin <proski@gnu.org>
35871
35872 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35873 Reported by John Stanley <jpsinthemix@verizon.net>
35874
7ebc2d6b 358752009-04-13 Robert Millan <rmh@aybabtu.com>
35876
35877 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35878 that name for menuentries when appropriate.
7ebc2d6b 35879
d8ba3667 358802009-04-13 Felix Zielcke <fzielcke@z-51.de>
35881
35882 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35883
cba416eb 358842009-04-13 Robert Millan <rmh@aybabtu.com>
35885
35886 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35887 to Linux, simply abort telling the user it's no longer supported.
35888
a547a745 358892009-04-13 Felix Zielcke <fzielcke@z-51.de>
35890
35891 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35892 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35893 `freebsd_loadenv' only when devices.hints exist.
35894
232a769c 358952009-04-13 Pavel Roskin <proski@gnu.org>
35896
35897 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35898
c3012039 358992009-04-13 Felix Zielcke <fzielcke@z-51.de>
35900
35901 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35902 partition number.
35903 (grub_drive): Likewise.
35904
234022fe 359052009-04-13 David S. Miller <davem@davemloft.net>
35906
35907 * kern/sparc64/ieee1275/ieee1275.c: New file.
35908 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35909 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35910 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35911 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35912 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35913 grub_ieee1275_alloc_physmem): Declare new exported functions.
35914
d8e1836c 35915 * include/grub/sparc64/ieee1275/loader.h: New file.
35916 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35917 * include/grub/sparc64/kernel.h: Likewise.
35918 * loader/sparc64/ieee1275/linux.c: Likewise.
35919
96bd81ec 35920 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35921 (grub_fstest_SOURCES): Likewise.
35922
6a4737e5 35923 * util/hostdisk.c (make_device_name): Do not make any assumptions
35924 about the length of drive names.
35925
1d7a72fd 35926 * kern/dl.c (grub_dl_load_file): Close file immediately when
35927 we are done using it.
35928
56bc2471 359292009-04-12 David S. Miller <davem@davemloft.net>
35930
35931 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35932 values. Noticed by Pavel Roskin.
35933
df38d0bb 35934 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35935 target compiler.
7dd4a573 35936
e382e93a 35937 * genmk.rb: Add more flexible image type specification, also
35938 pass --strip-unneeded to objcopy.
35939 * conf/i386-pc.rmk: Use *_FORMAT.
35940 * conf/i386-pc.mk: Rebuilt.
35941
f5dbbca9 35942 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35943 (OFDISK_HASH_SZ): Define.
35944 (ofdisk_hash): New hash table.
35945 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35946 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35947 instead of device phandle which is not unique.
35948
91c88b12 35949 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35950 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35951 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35952 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35953 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35954 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35955 GRUB_KERNEL_MACHINE_DATA_END): Define.
35956 (grub_kernel_image_size, grub_total_module_size): Declare.
35957
5b5d4aa5 359582009-04-12 Pavel Roskin <proski@gnu.org>
35959
7dd4a573 35960 * configure.ac: Change the logic when we check for target tools.
35961 Do it when the target is specified and it's different from the
35962 specified value of the host.
5b5d4aa5 35963
c91e1793 359642009-04-11 Felix Zielcke <fzielcke@z-51.de>
35965
35966 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35967 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35968 GNU/kFreeBSD. Check if a device is a character device. Use
35969 DIOCGMEDIASIZE to get the size.
35970 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35971 support for GNU/kFreeBSD.
35972 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35973 is a character device instead of a block device. Add support for
35974 FreeBSD device names.
35975
35976 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35977 is a character device instead of a block device.
35978
35979 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35980 is a character device instead of a block device.
35981
b1ac8644 359822009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35983
35984 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35985 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35986 FreeBSD. Check if a device is a character device. Use
35987 DIOCGMEDIASIZE to get the size.
35988 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35989 support for FreeBSD.
35990 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35991 is a character device instead of a block device. Add support for
35992 FreeBSD device names.
35993
35994 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35995 a character device instead of a block device.
35996 (grub_util_check_char_device): New function.
35997
35998 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35999 a character device instead of a block device.
36000
36001 * include/grub/util/getroot.h (grub_util_check_char_device): New
36002 prototype.
36003
a3f7515a 360042009-04-11 David S. Miller <davem@davemloft.net>
36005
36006 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
36007 static libgcc.
36008 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
36009 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
36010 function, if present.
36011 (__bswapdi2): Likewise.
36012
0d44993d 36013 * include/grub/sparc64/ieee1275/boot.h: New file.
36014 * boot/sparc64/ieee1275/boot.S: Likewise.
36015 * boot/sparc64/ieee1275/diskboot.S: Likewise.
36016
ed3d2bc2 36017 * kern/misc.c (grub_ltoa): New function.
36018 (grub_vsprintf): Use it to format 'long' integers.
36019
d3bfb59c 360202009-04-10 David S. Miller <davem@davemloft.net>
36021
36022 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
36023 slots are of type grub_ieee1275_cell_t.
36024 (grub_nand_read): Likewise.
36025 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
36026 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
36027 macros are used to compare values in arg/ret block of the call.
36028 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36029 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
36030 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
36031 grub_ieee1275_instance_to_path, grub_ieee1275_write,
36032 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
36033 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
36034 grub_ieee1275_close, grub_ieee1275_set_property,
36035 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
36036 grub_ieee1275_cell_t.
36037 * kern/ieee1275/openfw.c (grub_map): Likewise.
36038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
36039 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
36040
450e2238 36041 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
36042 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
36043 (grub_devalias_iterate): Likewise.
36044
7dd4a573 360452009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 36046
36047 UFS improvements
36048
36049 * fs/ufs.c (INODE_NBLOCKS): new definition
36050 (struct grub_ufs_dirent): added fields for non-BSD dirents
36051 (grub_ufs_get_file_block): fixed double indirect handling
36052 (grub_ufs_lookup_symlink): use more robust way to determine whether
36053 symlink is inline
36054 (grub_ufs_find_file): support for non-BSD dirents
36055 (grub_ufs_dir): support for non-BSD dirents
36056
e7e6862a 360572009-04-10 Bean <bean123ch@gnail.com>
36058
36059 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36060 attribute, otherwise the size would be wrong for i386 platform.
36061
36062 * include/grub/pci.h (grub_pci_read_word): New inline function.
36063 (grub_pci_read_byte): Likewise.
36064 (grub_pci_write): Likewise.
36065 (grub_pci_write_word): Likewise.
36066 (grub_pci_write_byte): Likewise.
36067
36068 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36069
36070 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36071 (find_framebuf): Scan pci to locate the frame buffer address.
36072
36073 * commands/efi/fixvideo.c: New file.
36074
36075 * commands/efi/loadbios.c: Likewise.
36076
36077 * commands/memrw.c: Likewise.
36078
36079 * util/grub-dumpbios.in: Likewise.
36080
36081 * conf/common.rmk (grub-dumpbios): New utility.
36082 (pkglib_MODULES): New module memrw.mod.
36083 (memrw_mod_SOURCE): New macro.
36084 (memrw_mod_CFLAGS): Likewise.
36085 (memrw_mod_LDFLAGS): Likewise.
36086
7dd4a573 36087 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36088 fixvideo.mod.
36089 (loadbios_mod_SOURCE): New macro.
36090 (loadbios_mod_CFLAGS): Likewise.
36091 (loadbios_mod_LDFLAGS): Likewise.
36092 (fixvideo_mod_SOURCE): Likewise.
36093 (fixvideo_mod_CFLAGS): Likewise.
36094 (fixvideo_mod_LDFLAGS): Likewise.
36095
7dd4a573 36096 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 36097 fixvideo.mod.
36098 (loadbios_mod_SOURCE): New macro.
36099 (loadbios_mod_CFLAGS): Likewise.
36100 (loadbios_mod_LDFLAGS): Likewise.
36101 (fixvideo_mod_SOURCE): Likewise.
36102 (fixvideo_mod_CFLAGS): Likewise.
36103 (fixvideo_mod_LDFLAGS): Likewise.
36104
af63ada2 361052009-04-08 Felix Zielcke <fzielcke@z-51.de>
36106
36107 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36108
c2cdde70 361092009-04-07 David S. Miller <davem@davemloft.net>
36110
36111 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36112 support for R_SPARC_OLO10 relocations. Fix compile warning for
36113 R_SPARC_WDISP30 case.
ea3f72cf 36114 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 36115
761319cf 361162009-04-06 Pavel Roskin <proski@gnu.org>
36117
1007d1f5 36118 * include/grub/misc.h (ARRAY_SIZE): New macro.
36119 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36120 New macro.
36121 * loader/i386/linux.c (allocate_pages): Use free_pages().
36122 (grub_linux_unload): Don't use free_pages().
36123 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36124 wrong index. Treat all other modes as text modes.
36125 (grub_cmd_linux): Initialize vid_mode unconditionally to
36126 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36127
761319cf 36128 * commands/help.c (print_command_help): Use cmd->prio, not
36129 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36130
ea761d40 361312009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 36132
ea761d40 36133 Parttool
36134
36135 * parttool/pcpart.c: new file
36136 * commands/parttool.c: likewise
36137 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36138 (parttool_mod_SOURCES): new variable
36139 (parttool_mod_CFLAGS): likewise
36140 (parttool_mod_LDFLAGS): likewise
36141 (pcpart_mod_SOURCES): likewise
36142 (pcpart_mod_CFLAGS): likewise
36143 (pcpart_mod_LDFLAGS): likewise
7dd4a573 36144 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 36145 and parttool/pcpart.c
36146 * conf/i386-efi.rmk: likewise
36147 * conf/i386-ieee1275.rmk: likewise
36148 * conf/i386-pc.rmk: likewise
36149 * conf/powerpc-ieee1275.rmk: likewise
36150 * conf/sparc64-ieee1275.rmk: likewise
36151 * conf/x86_64-ieee1275.rmk: likewise
36152
05aaebfb 361532009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36154
36155 Support for mtime and further expandability of dir command
36156
36157 * include/grub/lib/datetime.h: moved to ...
7dd4a573 36158 * include/grub/datetime.h: ... moved here and added
05aaebfb 36159 declaration of grub_unixtime2datetime. All users updated
7dd4a573 36160 * include/grub/fs.h: new syntax for dir and mtime functions in
36161 struct grub_fs
05aaebfb 36162 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36163 and GRUB_FSHELP_FLAGS_MASK
36164 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36165 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36166 (grub_ext2_mtime): new function
36167 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36168 (grub_hfsplus_mtime): new function
36169 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36170 (GRUB_UFS_ATTR_FILE): likewise
36171 (GRUB_UFS_ATTR_LNK): likewise
36172 (struct grub_ufs_sblock): new fields mtime
36173 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36174 all users updated
36175 (grub_ufs_dir): mtime support
36176 (grub_ufs_mtime): new function
36177 * fs/affs.c (grub_affs_dir): use new dir syntax
36178 * fs/afs.c (grub_afs_dir): likewise
36179 * fs/cpio.c (grub_cpio_dir): likewise
36180 * fs/fat.c (grub_fat_find_dir): likewise
36181 * fs/hfs.c (grub_hfs_dir): likewise
36182 * fs/iso9660.c (grub_iso9660_dir): likewise
36183 * fs/jfs.c (grub_jfs_dir): likewise
36184 * fs/minix.c (grub_minix_dir): likewise
36185 * fs/ntfs.c (grub_ntfs_dir): likewise
36186 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36187 * fs/sfs.c (grub_sfs_dir): likewise
36188 * fs/xfs.c (grub_xfs_dir): likewise
36189 * util/hostfs.c (grub_hostfs_dir): likewise
36190 * lib/datetime.c: moved to ...
36191 * normal/datetime.c: ... moved here
36192 (grub_unixtime2datetime): new function
36193 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 36194 * normal/completion.c (iterate_dir): use new dir syntax
36195 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 36196 last modification time of a volume
7dd4a573 36197 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 36198 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 36199 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 36200 (normal_mod_SOURCES): likewise
36201 (datetime_mod_SOURCES): Removed lib/datetime.c
36202 * conf/i386-efi.rmk: likewise
7dd4a573 36203 * conf/i386-ieee1275.rmk: likewise
05aaebfb 36204 * conf/i386-pc.rmk: likewise
36205 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 36206 * conf/sparc64-ieee1275.rmk: likewise
36207 * conf/x86_64-efi.rmk: likewise
05aaebfb 36208
8a7e1a14 362092009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36210
36211 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 36212
36213 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 36214 on grub_fat_find_dir
36215 (grub_fat_find_dir): use grub_fat_iterate_dir
36216 (grub_fat_label): likewise
36217
04186a9c 362182009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36219
7dd4a573 36220 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 36221 and command.h
36222 remove extraneous kernel_elf_HEADERS
36223
da4c0bb6 362242009-04-04 Bean <bean123ch@gnail.com>
36225
36226 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36227
36228 * util/misc.c: Likewise.
36229
54ad9555 362302009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36231
36232 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36233 instead of grub_printf.
36234
7a6bf9f2 362352009-04-03 Robert Millan <rmh@aybabtu.com>
36236
36237 * loader/i386/linux.c (grub_linux_setup_video): Fill
36238 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36239 values from `mode info' structure instead of hardcoded
36240 values.
36241
3fcc2083 362422009-04-01 Pavel Roskin <proski@gnu.org>
36243
36244 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36245 unused now.
36246 * genmk.rb: Likewise.
36247 * configure.ac: Likewise.
36248
5ec9740b 362492009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36250
36251 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36252 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36253
5270cec8 362542009-04-01 David S. Miller <davem@davemloft.net>
36255
36256 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 36257 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 36258 (grub_setjmp): Mark with 'returns_twice' attribute.
36259 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36260 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36261 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36262
9c3dd854 362632009-04-01 Robert Millan <rmh@aybabtu.com>
36264
36265 Reapply fix from 2008-07-28 which was accidentally reverted; also
36266 perform the same fix to a similar check in same function.
36267
36268 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36269 with the same number are found, just use issue a warning with
36270 grub_dprintf(), as this error has been reported to be non-fatal.
36271
0d818b7e 362722009-03-31 Pavel Roskin <proski@gnu.org>
36273
36274 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36275 for cross-compilation.
36276
95646d92 362772009-03-30 Robert Millan <rmh@aybabtu.com>
36278
36279 Fix i386-ieee1275 build.
36280
36281 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36282 Remove declaration.
36283
6a003ed1 362842009-03-30 Pavel Roskin <proski@gnu.org>
36285
36286 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36287 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36288 zero-terminated, rely only on the strlen value. Fix comparison
36289 of strings differing in length.
36290
92f33540 362912009-03-30 Robert Millan <rmh@aybabtu.com>
36292
36293 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36294 checking for abi version. Improve error messages on BIOS to notify
36295 user about `linux16' command.
36296
a8c48fd5 362972009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36298
f968172e 36299 Leak fixes
a8c48fd5 36300
f968172e 36301 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36302 in case of collision
36303 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 36304
9c323f09 363052009-03-29 Robert Millan <rmh@aybabtu.com>
36306
36307 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36308 set `vid_mode' accordingly.
36309 (grub_linux_boot): Process `vid_mode' and set video mode.
36310
ae68f423 363112009-03-29 Robert Millan <rmh@aybabtu.com>
36312
36313 * util/grub.d/10_linux.in (linux_entry): New function.
36314 Factorize generation of Linux boot entries.
36315
5709cfc4 363162009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36317
36318 Make the format of Environment Block plain text. The boot loader
36319 part is not tested well yet.
7dd4a573 36320
5709cfc4 36321 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36322 (buffer): Removed.
36323 (envblk): Likewise.
36324 (usage): Remove "info" and "clear". Add "unset". Update the
36325 description of "set", as this does not delete variables any
36326 longer.
36327 (create_envblk_file): Complete rewrite.
36328 (open_envblk_file): Likewise.
36329 (cmd_info): Removed.
36330 (cmd_list): Likewise.
36331 (cmd_set): Likewise.
36332 (cmd_clear): Likewise.
36333 (list_variables): New function.
36334 (write_envblk): Likewise.
36335 (set_variables): Likewise.
36336 (unset_variables): Likewise.
36337 (main): Complete rewrite.
36338
36339 * commands/loadenv.c (buffer): Removed.
36340 (envblk): Likewise.
36341 (open_envblk_file): New function.
36342 (read_envblk_file): Complete rewrite.
36343 (grub_cmd_load_env): Likewise.
36344 (grub_cmd_list_env): Likewise.
36345 (struct blocklist): New struct.
36346 (free_blocklists): New function.
36347 (check_blocklists): Likewise.
36348 (write_blocklists): Likewise.
36349 (grub_cmd_save_env): Complete rewrite.
36350
36351 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36352 a plain text signature.
36353 (GRUB_ENVBLK_MAXLEN): Removed.
36354 (struct grub_envblk): Complete rewrite.
36355 (grub_envblk_find): Removed.
36356 (grub_envblk_insert): Likewise.
36357 (grub_envblk_open): New prototype.
36358 (grub_envblk_set): Likewise.
36359 (grub_envblk_delete): Put const to VALUE.
36360 (grub_envblk_iterate): Put const to NAME and VALUE.
36361 (grub_envblk_close): New prototype.
36362 (grub_envblk_buffer): New inline function.
36363 (grub_envblk_size): Likewise.
36364
36365 * lib/envblk.c: Include grub/mm.h.
36366 (grub_env_find): Removed.
36367 (grub_envblk_open): New function.
36368 (grub_envblk_close): Likewise.
36369 (escaped_value_len): Likewise.
36370 (find_next_line): Likewise.
36371 (grub_envblk_insert): Removed.
36372 (grub_envblk_set): New function.
36373 (grub_envblk_delete): Complete rewrite.
36374 (grub_envblk_iterate): Likewise.
36375
a9368fd3 363762009-03-28 Robert Millan <rmh@aybabtu.com>
36377
36378 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36379 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36380 variables. Use 16-bit loader.
36381 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36382 loader.
36383 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36384 (grub_linux16_boot): ... this. Update all users.
36385 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36386 (grub_linux_boot): ... this. Update all users.
36387
36388 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36389 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36390 commands to `linux16' and `initrd16'.
36391 (GRUB_MOD_FINI(linux)): Rename to ...
36392 (GRUB_MOD_FINI(linux16)): ... this.
36393
e4dd5a7e 363942009-03-24 Pavel Roskin <proski@gnu.org>
36395
36396 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36397 not just for compilation.
36398
c04d6e05 363992009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36400
36401 Move multiboot helper out of kernel
36402
36403 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36404 `loader/i386/multiboot_helper.S'.
36405 * conf/i386-coreboot.rmk: Likewise
36406 * conf/i386-ieee1275.rmk: Likewise
36407
36408 * kern/i386/loader.S: Move multiboot helpers from here...
36409 * loader/i386/multiboot_helper.S: ...moved here
36410 * include/grub/i386/loader.h: Move declarations of multiboot
36411 helpers from here...
36412 * include/grub/i386/multiboot.h: ...moved here
36413 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36414
42a5b3fc 364152009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36416
36417 * kern/env.c (grub_env_context_open): Added an argument to specify
36418 whether a new context inherits exported variables from current
36419 one. This is useful when making a sandbox to interpret a config
36420 file.
36421 All callers updated.
36422
36423 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36424
b28bbc4e 364252009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36426
36427 * kern/env.c (grub_env_context_close): Fix memory leaks.
36428
f04f02e4 364292009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36430
36431 * normal/main.c (grub_normal_execute): Added an argument
36432 BATCH to specify if an interactive interface should be provided
36433 after reading a config file.
36434 All callers updated.
36435 (read_command_list): Prevent being executed twice.
36436 (read_fs_list): Likewise.
36437
42a5b3fc 36438 * include/grub/normal.h (grub_normal_execute): Updated the
36439 prototype.
f04f02e4 36440
41473ac2 364412009-03-22 Pavel Roskin <proski@gno.org>
36442
fbc00b0c 36443 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36444 _start.
36445 * kern/i386/pc/startup.S: Likewise.
36446 * kern/i386/efi/startup.S: Likewise.
36447 * kern/i386/ieee1275/startup.S: Likewise.
36448 * kern/i386/coreboot/startup.S: Likewise.
36449 * kern/x86_64/efi/startup.S: Likewise.
36450
41473ac2 36451 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36452 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36453 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36454
2274cc8f 364552009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36456
36457 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36458
36459 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36460 limit detection.
36461 Use vaddr of correct segment for entry_point.
36462
b1b797cb 364632009-03-21 Bean <bean123ch@gmail.com>
36464
36465 * commands/blocklist.c: Add include file <grub/command.h>, remove
36466 <grub/normal.h> and <grub/arg.h>.
36467 (grub_cmd_blocklist): Use the new command interface.
36468 (GRUB_MOD_INIT): Likewise.
36469 (GRUB_MOD_FINI): Likewise.
36470 * commands/boot.c: Likewise.
36471 * commands/cat.c: Likewise.
36472 * commands/cmp.c: Likewise.
36473 * commands/configfile.c: Likewise.
36474 * commands/crc.c: Likewise.
36475 * commands/echo.c: Likewise.
36476 * commands/halt.c: Likewise.
36477 * commands/handler.c: Likewise.
36478 * commands/hdparm.c: Likewise.
36479 * commands/help.c: Likewise.
36480 * commands/hexdump.c: Likewise.
36481 * commands/loadenv.c: Likewise.
36482 * commands/ls.c: Likewise.
36483 * commands/lsmmap.c: Likewise.
36484 * commands/lspci.c: Likewise.
36485 * commands/loadenv.c: Likewise.
36486 * commands/read.c: Likewise.
36487 * commands/reboot.c: Likewise.
36488 * commands/search.c: Likewise.
36489 * commands/sleep.c: Likewise.
36490 * commands/test.c: Likewise.
36491 * commands/usbtest.c: Likewise.
36492 * commands/videotest.c: Likewise.
36493 * commands/i386/cpuid.c: Likewise.
36494 * commands/i386/pc/halt.c: Likewise.
36495 * commands/i386/pc/play.c: Likewise.
36496 * commands/i386/pc/pxecmd.c: Likewise.
36497 * commands/i386/pc/vbeinfo.c: Likewise.
36498 * commands/i386/pc/vbetest.c: Likewise.
36499 * commands/ieee1275/suspend.c: Likewise.
36500 * disk/loopback.c: Likewise.
36501 * font/font_cmd.c: Likewise.
36502 * hello/hello.c: Likewise.
36503 * loader/efi/appleloader.c: Likewise.
36504 * loader/efi/chainloader.c: Likewise.
36505 * loader/i386/bsd.c: Likewise.
36506 * loader/i386/efi/linux.c: Likewise.
36507 * loader/i386/ieee1275/linux.c: Likewise.
36508 * loader/i386/linux.c: Likewise.
36509 * loader/i386/pc/chainloader.c: Likewise.
36510 * loader/i386/pc/linux.c: Likewise.
36511 * loader/powerpc/ieee1275/linux.c: Likewise.
36512 * loader/multiboot_loader.c: Likewise.
36513 * term/gfxterm.c: Likewise.
36514 * term/i386/pc/serial.c: Likewise.
36515 * term/terminfo.c: Likewise.
36516
36517 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36518 * term/i386/pc/vga.c: Likewise.
36519 * video/readers/jpeg.c: Likewise.
36520 * video/readers/png.c: Likewise.
36521 * video/readers/tga.c: Likewise.
36522
36523 * util/grub-fstest (cmd_loopback): Removed.
36524 (cmd_blocklist): Likewise.
36525 (cmd_ls): Likewise.
36526 (grub_register_command): Likewise.
36527 (grub_unregister_command): Likewise.
36528 (execute_command): Use grub_command_find to locate command and execute
36529 it.
36530
36531 * include/grub/efi/chainloader.h: Removed.
36532 * loader/efi/chainloader_normal.c: Likewise.
36533 * loader/i386/bsd_normal.c: Likewise.
36534 * loader/i386/pc/chainloader_normal.c: Likewise.
36535 * loader/i386/pc/multiboot_normal.c: Likewise.
36536 * loader/linux_normal.c: Likewise.
36537 * loader/multiboot_loader_normal.c: Likewise.
36538 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36539
36540 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36541 and grub_register_command_p1.
36542
36543 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36544 kern/command.c, lib/arg.c and commands/extcmd.c.
36545 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36546 (minicmd_mod_SOURCES): New variable.
36547 (minicmd_mod_CFLAGS): Likewise.
36548 (minicmd_mod_LDFLAGS): Likewise.
36549 (extcmd_mod_SOURCES): Likewise.
36550 (extcmd_mod_CFLAGS): Likewise.
36551 (extcmd_mod_LDFLAGS): Likewise.
36552 (boot_mod_SOURCES): Removed.
36553 (boot_mod_CFLAGS): Likewise.
36554 (boot_mod_LDFLAGS): Likewise.
36555
36556 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36557 kern/corecmd.c.
36558 (kernel_img_HEADERS): Add command.h.
36559 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36560 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36561 and lib/arg.c.
36562 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36563 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36564 remove the corresponding normal mode command.
36565 (normal_mod_SOURCES): Remove normal/arg.c.
36566 * conf/i386-coreboot.rmk: Likewise.
36567 * conf/i386-efi.rmk: Likewise.
36568 * conf/i386-ieee1275.rmk: Likewise.
36569 * conf/powerpc-ieee1275.rmk: Likewise.
36570 * conf/x86_64-efi.rmk: Likewise.
36571
36572 * include/grub/arg.h: Move from here ...
36573 * include/grub/lib/arg.h: ... to here.
36574
36575 * normal/arg.c: Move from here ...
36576 * lib/arg.c: ... to here.
36577
36578 * commands/extcmd.c: New file.
36579 * commands/minicmd.c: Likewise.
36580 * include/grub/command.h: Likewise.
36581 * include/grub/extcmd.h: Likewise.
36582 * kern/command.c: Likewise.
36583 * kern/corecmd.c: Likewise.
36584
36585 * kern/list.c (grub_list_iterate): Return int instead of void.
36586 (grub_list_insert): New function.
36587 (grub_prio_list_insert): Likewise.
36588
36589 * kern/rescue.c (grub_rescue_command): Removed.
36590 (grub_rescue_command_list): Likewise.
36591 (grub_rescue_register_command): Likewise.
36592 (grub_rescue_unregister_command): Likewise.
36593 (grub_rescue_cmd_boot): Move to minicmd.c
36594 (grub_rescue_cmd_help): Likewise.
36595 (grub_rescue_cmd_info): Likewise.
36596 (grub_rescue_cmd_boot): Likewise.
36597 (grub_rescue_cmd_testload): Likewise.
36598 (grub_rescue_cmd_dump): Likewise.
36599 (grub_rescue_cmd_rmmod): Likewise.
36600 (grub_rescue_cmd_lsmod): Likewise.
36601 (grub_rescue_cmd_exit): Likewise.
36602 (grub_rescue_print_devices): Moved to corecmd.c.
36603 (grub_rescue_print_files): Likewise.
36604 (grub_rescue_cmd_ls): Likewise.
36605 (grub_rescue_cmd_insmod): Likewise.
36606 (grub_rescue_cmd_set): Likewise.
36607 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36608 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36609 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36610 commands, remove grub_rescue_register_command calls.
b1b797cb 36611
7d074e3c 36612 * normal/command.c (grub_register_command): Removed.
b1b797cb 36613 (grub_unregister_command): Likewise.
36614 (grub_command_find): Likewise.
36615 (grub_iterate_commands): Likewise.
36616 (rescue_command): Likewise.
36617 (export_command): Moved to corecmd.c.
36618 (set_command): Removed.
36619 (unset_command): Likewise.
36620 (insmod_command): Likewise.
36621 (rmmod_command): Likewise.
36622 (lsmod_command): Likewise.
36623 (grub_command_init): Likewise.
36624
36625 * normal/completion.c (iterate_command): Use cmd->prio to check for
36626 active command.
36627 (complete_arguments): Use grub_extcmd_t structure to find options.
36628 (grub_normal_do_completion): Change function grub_iterate_commands to
36629 grub_command_iterate.
36630
36631 * normal/execute.c (grub_script_execute_cmd): No need to parse
36632 argument here.
36633
36634 * normal/main.c (grub_dyncmd_dispatcher): New function.
36635 (read_command_list): Register unload commands as dyncmd.
36636 (grub_cmd_normal): Use new command interface, register rescue,
36637 unregister normal at entry, register normal, unregister rescue at exit.
36638
36639 * include/grub/list.h (grub_list_test_t): New type.
36640 (grub_list_iterate): Return int instead of void.
36641 (grub_list_insert): New function.
36642 (GRUB_AS_NAMED_LIST_P): New macro.
36643 (GRUB_AS_PRIO_LIST): Likewise.
36644 (GRUB_AS_PRIO_LIST_P): Likewise.
36645 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36646 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36647 (grub_prio_list): New structure.
36648 (grub_prio_list_insert): New function.
36649 (grub_prio_list_remove): New inline function.
36650
36651 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36652 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36653 (GRUB_COMMAND_FLAG_MENU): Likewise.
36654 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36655 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36656 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36657 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36658 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36659 (grub_command): Likewise.
36660 (grub_register_command): Likewise.
36661 (grub_command_find): Likewise.
36662 (grub_iterate_commands): Likewise.
36663 (grub_command_init): Likewise.
36664 (grub_arg_parse): Likewise.
36665 (grub_arg_show_help): Likewise.
36666
36667 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36668 (grub_rescue_unregister_command): Likewise.
36669
36670 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36671 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36672 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36673
36674 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36675 grub_rescue_cmd_initrd.
36676 * include/grub/i386/loader.h: Likewise.
36677 * include/grub/x86_64/loader.h: Likewise.
36678
36679 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36680
1f4147aa 366812009-03-21 Bean <bean123ch@gmail.com>
36682
36683 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36684 instead of stat in mingw environment.
36685
36686 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36687
36688 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36689
36690 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36691 AC_CONFIG_LINKS.
36692
2156d5ba 366932009-03-21 Bean <bean123ch@gmail.com>
36694
36695 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36696 out of range error.
36697
177b82ca 366982009-03-18 Michel Dänzer <michel@daenzer.net>
36699
36700 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36701 checking inode flags for EXT4_EXTENTS_FLAG.
36702
14aad807 367032009-03-18 Robert Millan <rmh@aybabtu.com>
36704
36705 * loader/i386/linux.c: Include `<grub/video.h>' and
36706 `<grub/i386/pc/vbe.h>'..
36707 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36708 (grub_linux32_boot): Attempt to configure video settings with
36709 grub_linux_setup_video().
36710 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36711 to avoid grub_console_fini() which would step out of graphical mode
36712 unconditionally.
36713
8cf83a27 367142009-03-14 Robert Millan <rmh@aybabtu.com>
36715
36716 Fix build on powerpc.
36717 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36718
40164e75 367192009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36720
36721 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36722 background image command.
36723
c58bc32a 367242009-03-12 Colin D Bennett <colin@gibibit.com>
36725
36726 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36727 (grub_gfxterm_putchar): Extract pairs of identical calls to
36728 draw_cursor out of conditional blocks.
36729
5415144a 367302009-03-11 Pavel Roskin <proski@gnu.org>
36731
36732 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36733 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36734
6394042e 367352009-03-11 Robert Millan <rmh@aybabtu.com>
36736
36737 * loader/i386/multiboot_elfxx.c
36738 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36739
b7b50e5f 367402009-03-11 Felix Zielcke <fzielcke@z-51.de>
36741
36742 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36743 `kern/handler.c'.
36744
1ca7fc96 367452009-03-11 Robert Millan <rmh@aybabtu.com>
36746
36747 * loader/i386/multiboot.c (code_size): New variable.
36748 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36749 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36750 4-byte alignment to MBI and others by increasing
7d074e3c 36751 `boot_loader_name_length' appropriately.
1ca7fc96 36752
36753 * loader/i386/multiboot_elfxx.c
36754 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36755
a83ea1d2 367562009-03-09 Felix Zielcke <fzielcke@z-51.de>
36757
36758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36759 `fs/ext2.c'.
36760
aa9f3bff 367612009-03-08 Robert Millan <rmh@aybabtu.com>
36762
36763 Make loader/i386/linux.c usable on i386-pc again.
36764
36765 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36766 memory to heap.
36767 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36768 `#error' stanza.
36769
d8b3b60e 367702009-03-07 Bean <bean123ch@gmail.com>
36771
36772 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36773 allocation.
36774
b362c9e9 367752009-03-06 Robert Millan <rmh@aybabtu.com>
36776
36777 Fix display issue on terminals with screen size other than 80x25
36778 (e.g. gfxterm with resolution higher than 640x480).
36779
36780 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36781 position relative to the center of the terminal instead of relying
b362c9e9 36782 on a hardcoded offset.
36783
9304eef1 367842009-03-04 Robert Millan <rmh@aybabtu.com>
36785
36786 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36787 installed.
36788
36789 * Makefile.in (host_kernel): New variable.
36790 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36791 scripts instead of just the windows one.
36792 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36793
eabc95fb 367942009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36795
36796 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36797 `kern/handler.c'.
36798 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36799 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36802 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36804
ceb1223c 368052009-03-04 Felix Zielcke <fzielcke@z-51.de>
36806
36807 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36808 or if there's no space for the disk label and print the partition number on a
36809 invalid magic.
36810
4910684a 368112009-03-04 Felix Zielcke <fzielcke@z-51.de>
36812
36813 * util/misc.c: Include <time.h>.
36814 (grub_millisleep): New function.
36815
7e9ca17a 368162009-03-04 Bean <bean123ch@gmail.com>
36817
36818 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36819 another option -mno-red-zone.
36820
36821 * commands/handler.c: Change module description.
36822
36823 * kern/handler.c: Add missing space at the end of description line.
36824
36825 * kern/list.c: Likewise.
36826
f501677c 368272009-03-03 Robert Millan <rmh@aybabtu.com>
36828
36829 Move more components to the relocation area, and fix mbi pointer
36830 handling to use the destination rather than the origin (thanks to
36831 Vladimir Serbinenko for spotting).
36832
36833 * loader/i386/multiboot.c (mbi_dest): New variable.
36834 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36835 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36836 relocation area.
36837
9902d047 368382009-03-01 Bean <bean123ch@gmail.com>
36839
50fb7002 36840 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36841 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36842 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36843 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36844
36845 * loader/i386/efi/linux.c (acpi_guid): New variable.
36846 (acpi_guid): Likewise.
36847 (EBDA_SEG_ADDR): New constant.
36848 (LOW_MEM_ADDR): Likewise.
36849 (FAKE_EBDA_SEG): Likewise.
36850 (fake_bios_data): New function.
36851 (grub_linux_boot): Call fake_bios_data.
36852
71b9f361 368532009-03-01 Bean <bean123ch@gmail.com>
36854
36855 * commands/terminal.c: Removed.
36856
36857 * commands/handler.c: New file.
36858
36859 * include/grub/list.h: Likewise.
36860
36861 * include/grub/handler.h: Likewise.
36862
36863 * kern/list.c: Likewise.
36864
36865 * kern/handler.c: Likewise.
36866
36867 * kern/term.h: Include header file <grub/handler.h>.
36868 (grub_term_input): Move next field to the beginning.
36869 (grub_term_output): Likewise.
36870 (grub_term_input_class): New variable.
36871 (grub_term_output_class): Likewise.
36872 (grub_term_register_input): Changed to inline function.
36873 (grub_term_register_output): Likewise.
36874 (grub_term_unregister_input): Likewise.
36875 (grub_term_unregister_output): Likewise.
36876 (grub_term_set_current_input): Likewise.
36877 (grub_term_set_current_output): Likewise.
36878 (grub_term_get_current_input): Likewise.
36879 (grub_term_get_current_output): Likewise.
36880 (grub_term_iterate_input): Removed.
36881 (grub_term_iterate_output): Likewise.
36882
36883 * kern/term.c (grub_term_list_input): Removed.
36884 (grub_term_list_output): Likewise.
36885 (grub_term_input_class): New variable.
36886 (grub_term_output_class): Likewise.
50fb7002 36887 (grub_cur_term_input): Change variable as macro.
71b9f361 36888 (grub_cur_term_output): Likewise.
36889 (grub_term_register_input): Removed.
36890 (grub_term_register_output): Likewise.
36891 (grub_term_unregister_input): Likewise.
36892 (grub_term_unregister_output): Likewise.
36893 (grub_term_set_current_input): Likewise.
36894 (grub_term_set_current_output): Likewise.
36895 (grub_term_iterate_input): Likewise.
36896 (grub_term_iterate_output): Likewise.
36897 (grub_term_get_current_input): Likewise.
36898 (grub_term_get_current_output): Likewise.
36899
36900 * util/grub-editenv.c: Include header file <grub/handler.h>.
36901 (grub_term_get_current_input): Removed.
36902 (grub_term_get_current_output): Likewise.
36903 (grub_term_input_class): New variable.
50fb7002 36904 (grub_term_output_class): Likewise.
71b9f361 36905
36906 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36907 (grub_term_get_current_output): Likewise.
36908 (grub_term_input_class): New variable.
50fb7002 36909 (grub_term_output_class): Likewise.
71b9f361 36910
36911 * util/grub-probe.c (grub_term_get_current_input): Removed.
36912 (grub_term_get_current_output): Likewise.
36913 (grub_term_input_class): New variable.
50fb7002 36914 (grub_term_output_class): Likewise.
71b9f361 36915
36916 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36917 (grub_term_get_current_output): Likewise.
36918 (grub_term_input_class): New variable.
50fb7002 36919 (grub_term_output_class): Likewise.
71b9f361 36920
36921 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36922 (terminal_mod_SOURCES): Likewise.
36923 (terminal_mod_CFLAGS): Likewise.
36924 (terminal_mod_LDFLAGS): Likewise.
36925
36926 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36927 handler.c.
36928 (kernel_img_SOURCES): Add list.c and handler.c.
36929 (kernel_img_HEADERS): Add list.h and handler.h.
36930
36931 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36932 handler.c.
36933 (kernel_mod_SOURCES): Add list.c and handler.c.
36934 (kernel_mod_HEADERS): Add list.h and handler.h.
36935
36936 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36937 handler.c.
36938 (kernel_elf_SOURCES): Add list.c and handler.c.
36939 (kernel_elf_HEADERS): Add list.h and handler.h.
36940
36941 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36942 handler.c.
36943 (kernel_elf_SOURCES): Add list.c and handler.c.
36944 (kernel_elf_HEADERS): Add list.h and handler.h.
36945
36946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36947 handler.c.
36948 (kernel_mod_SOURCES): Add list.c and handler.c.
36949 (kernel_mod_HEADERS): Add list.h and handler.h.
36950
36951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36952 handler.c.
36953 (kernel_elf_SOURCES): Add list.c and handler.c.
36954 (kernel_elf_HEADERS): Add list.h and handler.h.
36955
8a31787f 369562009-02-27 Robert Millan <rmh@aybabtu.com>
36957
36958 Factorize elf32 / elf64 code in Multiboot loader. This will
36959 prevent it from getting out of sync again.
36960
36961 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36962 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36963 grub_multiboot_load_elf64): Move from here ...
36964 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36965 grub_multiboot_load_elf): ... to here (new file).
36966
51cd3dfc 369672009-02-27 Robert Millan <rmh@aybabtu.com>
36968
36969 * util/grub.d/10_linux.in: Rename "single-user mode" to
36970 "recovery mode".
36971
6e8c9c3a 369722009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36973
36974 Don't leak in SCSI code.
36975 * disk/scsi.c (grub_scsi_close): free `scsi'.
36976
4b6bf4f9 369772009-02-27 Robert Millan <rmh@aybabtu.com>
36978
36979 * loader/i386/pc/multiboot.c: Move from here ...
36980 * loader/i386/multiboot.c: ... to here. Update all users.
36981
b9413424 369822009-02-27 Robert Millan <rmh@aybabtu.com>
36983
36984 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36985 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36986
50fb7002 369872009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36988
36989 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36990 b-tree.
36991
8cc50345 369922009-02-27 Robert Millan <rmh@aybabtu.com>
36993
36994 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36995 `0x' qualifier as 0 when base is specified as parameter).
36996
6e09b8b7 369972009-02-24 Bean <bean123ch@gmail.com>
36998
36999 * configure.ac: Check for -mcmodel=large in x86_64 target.
37000
37001 * include/grub/efi/api.h (efi_call_10): New macro.
37002 (efi_wrap_10): New function.
37003
37004 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
37005 (GRUB_PE32_REL_BASED_HIGH): Likewise.
37006 (GRUB_PE32_REL_BASED_LOW): Likewise.
37007 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
37008 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
37009 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
37010 (GRUB_PE32_REL_BASED_SECTION): Likewise.
37011 (GRUB_PE32_REL_BASED_REL): Likewise.
37012 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
37013 (GRUB_PE32_REL_BASED_DIR64): Likewise.
37014 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
37015
37016 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
37017 issue.
37018
37019 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
37020 (efi_wrap_10): New function.
37021
37022 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
37023
37024 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
37025 MB/MBP model (NV chipset).
37026 (devdata_devs): Add devpath_5 to the list.
37027
37028 * load/i386/efi/linux.c (video_base): Remove variable.
37029 (RGB_MASK): New macro.
37030 (RGB_MAGIC): Likewise.
37031 (LINE_MIN): Likewise.
37032 (LINE_MAX): Likewise.
37033 (FBTEST_STEP): Likewise.
37034 (FBTEST_COUNT): Likewise.
37035 (fb_list): New variable.
37036 (grub_find_video_card): Remove function.
37037 (find_framebuf): New function.
37038 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
37039 line length.
37040
37041 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
37042 problem for x86_64.
37043
74b21bee 370442009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
37045
37046 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
37047
37048 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
37049 coding tool name.
37050
a455f472 370512009-02-22 Robert Millan <rmh@aybabtu.com>
37052
37053 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
37054 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
37055 in our relocation, instead of using it directly from heap. Also
37056 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
37057
6374daf3 370582009-02-21 Robert Millan <rmh@aybabtu.com>
37059
37060 Implement USB keyboard support (based on patch by Marco Gerards)
37061
37062 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37063 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37064 (usb_keyboard_mod_LDFLAGS): New variables.
37065
37066 * term/usb_keyboard.c: New file.
37067
8fa4ea70 370682009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37069
37070 Corrected wrong declaration
37071
37072 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37073
353976ac 370742009-02-14 Christian Franke <franke@computer.org>
37075
37076 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37077 (grub_lspci_iter): Print class code and programming interface byte.
37078
6aa1169b 370792009-02-14 Christian Franke <franke@computer.org>
37080
37081 * gendistlist.sh: Ignore `.svn' directories.
37082
265372ca 370832009-02-14 Felix Zielcke <fzielcke@z-51.de>
37084
37085 * fs/fat.c: Add 2009 to Copyright line.
37086
9ff516f3 370872009-02-14 Christian Franke <franke@computer.org>
37088
37089 * commands/hdparm.c: New file. Provides `hdparm' command
37090 which sends ATA commands via grub_disk_ata_pass_through ().
37091
37092 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37093
37094 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37095 and <grub/cpu/io.h> to include/grub/ata.h.
37096 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37097 (GRUB_CDROM_SECTOR_SIZE): Remove.
37098 (GRUB_ATA_*): Move to include/grub/ata.h.
37099 (GRUB_ATAPI_*): Likewise.
37100 (enum grub_ata_commands): Likewise.
37101 (enum grub_ata_timeout_milliseconds): Likewise.
37102 (struct grub_ata_device): Likewise.
37103 (grub_ata_regset): Likewise.
37104 (grub_ata_regget): Likewise.
37105 (grub_ata_regset2): Likewise.
37106 (grub_ata_regget2): Likewise.
37107 (grub_ata_check_ready): Likewise.
37108 (grub_ata_wait_not_busy): Remove static, exported in
37109 include/grub/ata.h.
37110 (grub_ata_wait_drq): Likewise.
37111 (grub_ata_pio_read): Likewise.
37112
37113 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37114 function for hdparm.mod.
37115
37116 * include/grub/ata.h: New file, contains declarations from
37117 disk/ata.c.
37118 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37119
37120 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37121 (grub_disk_ata_pass_through): New exported variable.
37122
37123 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37124
772e23da 371252009-02-13 Colin D Bennett <colin@gibibit.com>
37126
37127 Support multiple fallback entries, and provide an API to support
37128 executing default+fallback menu entries. Renamed the `terminal' menu
37129 viewer to `text'.
37130
37131 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37132 variable declaration.
37133 (grub_menu_execute_callback): New structure declaration.
37134 (grub_menu_execute_callback_t): New typedef.
37135 (grub_menu_execute_with_fallback): New function declaration.
37136 (grub_menu_get_entry): Likewise.
37137 (grub_menu_get_timeout): Likewise.
37138 (grub_menu_set_timeout): Likewise.
37139
37140 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37141
37142 * normal/menu.c (grub_wait_after_message): Moved to
37143 `normal/menu_text.c'.
37144 (draw_border): Likewise.
37145 (print_message): Likewise.
37146 (print_entry): Likewise.
37147 (print_entries): Likewise.
37148 (grub_menu_init_page): Likewise.
37149 (get_entry_number): Likewise.
37150 (print_timeout): Likewise.
37151 (run_menu): Likewise.
37152 (grub_menu_execute_entry): Likewise.
37153 (show_text_menu): Likewise.
37154 (get_and_remove_first_entry_number): New function.
37155 (grub_menu_execute_with_fallback): Likewise.
37156 (get_entry): Renamed to ...
37157 (grub_menu_get_entry): .. this and made it global.
37158 (get_timeout): Renamed to ...
37159 (grub_menu_get_timeout): ... this and made it global.
37160 (set_timeout): Renamed to ...
37161 (grub_menu_set_timeout): ... this and made it global.
37162 (grub_normal_terminal_menu_viewer): Renamed to ...
37163 (grub_normal_text_menu_viewer): ... this.
37164
37165 * normal/menu_text.c: New file. Extracted text-menu-specific code
37166 from normal/menu.c.
37167
37168 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37169 (normal_mod_SOURCES): Likewise.
37170
37171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37172 (normal_mod_SOURCES): Likewise.
37173
37174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37175 (normal_mod_SOURCES): Likewise.
37176
37177 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37178 (normal_mod_SOURCES): Likewise.
37179
37180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37181 (normal_mod_SOURCES): Likewise.
37182
37183 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37184 (normal_mod_SOURCES): Likewise.
37185
37186 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37187 (normal_mod_SOURCES): Likewise.
37188
16ac430e 371892009-02-11 Robert Millan <rmh@aybabtu.com>
37190
37191 * util/grub.d/00_header.in: Update old reference to `font' command.
37192
06ff20fc 371932009-02-10 Felix Zielcke <fzielcke@z-51.de>
37194
37195 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37196
37197 Based on patch from Javier Martín.
37198
96da9407 371992009-02-09 Felix Zielcke <fzielcke@z-51.de>
37200
37201 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 37202 to avoid false positives with FAT.
96da9407 37203 (grub_fstest_SOURCES): Likewise.
37204 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37205 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37207 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37208 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37209 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37210
6dca6fe4 372112009-02-09 Felix Zielcke <fzielcke@z-51.de>
37212
06ff20fc 37213 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 37214 bpb.version_specific.fat12_or_fat16.fstype and
37215 bpb.version_specific.fat32.fstype.
37216
2550c62f 372172009-02-08 Robert Millan <rmh@aybabtu.com>
37218
be110b30 37219 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 37220
56978920 372212009-02-08 Robert Millan <rmh@aybabtu.com>
37222
37223 * Makefile.in (host_os, host_cpu): New variables.
37224 (target_os): Remove. Update all users.
37225
d64399b5 372262009-02-08 Marco Gerards <marco@gnu.org>
37227
37228 * Makefile.in (enable_grub_emu_usb): New variable.
37229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37230 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37231 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37232 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37233 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37234 `usbtest.mod' and `usbms.mod'.
37235 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37236 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37237 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37238 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37239 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37240 variables.
37241
37242 * disk/usbms.c: New file.
37243
37244 * include/grub/usb.h: Likewise.
37245
37246 * include/grub/usbtrans.h: Likewise.
37247
37248 * include/grub/usbdesc.h: Likewise.
37249
37250 * bus/usb/usbtrans.c: Likewise.
37251
37252 * bus/usb/ohci.c: Likewise.
37253
37254 * bus/usb/uhci.c: Likewise.
37255
37256 * bus/usb/usbhub.c: Likewise.
37257
37258 * bus/usb/usb.c: Likewise.
37259
37260 * commands/usbtest.c: Likewise.
37261
37262 * util/usb.c: Likewise.
50fb7002 37263
d64399b5 37264 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37265
37266 * configure.ac: Test for libusb presence.
50fb7002 37267
d64399b5 37268 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37269
2b40d6bb 372702009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37271
37272 * kern/mm.c: Add more comments.
37273
73a4ce81 372742009-02-08 Robert Millan <rmh@aybabtu.com>
37275
37276 Patch from Javier Martín.
37277 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37278 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37279
f821ce59 372802009-02-08 Robert Millan <rmh@aybabtu.com>
37281
37282 * fs/cpio.c: Split tar functionality to ...
37283 * fs/tar.c: ... here (new file). Update all users.
37284
aebfc4b0 372852009-02-07 Robert Millan <rmh@aybabtu.com>
37286
37287 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37288 backward-incompatible features.
37289
37290 Based on patch from Javier Martín, with some adjustments.
37291
50fb7002 372922009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 37293
37294 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37295
0bb5115e 372962009-02-07 Robert Millan <rmh@aybabtu.com>
37297
37298 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37299 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37300 after the RAID stuff.
37301
38a0f8e7 373022009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37303
50fb7002 37304 Fixes problem when running vbetest command as reported by
38a0f8e7 37305 Vladimir Serbinenko <phcoder@gmail.com>.
37306
37307 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37308
3143cc1c 373092009-02-04 Felix Zielcke <fzielcke@z-51.de>
37310
37311 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37312 /dev/md/NpN style mdraid devices.
37313
9cba6fce 373142009-02-03 Felix Zielcke <fzielcke@z-51.de>
37315
37316 * util/unifont2pff.rb: Remove.
37317
e507a2c1 373182009-02-03 Felix Zielcke <fzielcke@z-51.de>
37319
37320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37321 `#'.
37322
d2c2b4cd 373232009-02-03 Felix Zielcke <fzielcke@z-51.de>
37324
37325 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37326 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37327 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37330 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37332
b4315fb0 373332009-02-02 Christian Franke <franke@computer.org>
37334
37335 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37336
de3aa260 373372009-02-01 Felix Zielcke <fzielcke@z-51.de>
37338
7c3ff286 37339 * INSTALL: Note that we now require at least autoconf 2.59 and
37340 that LZO is optional.
de3aa260 37341
825a182b 373422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37343
37344 Base on patch on bug #24154 created by Tomas Tintera
37345 <trosos@seznam.cz>.
37346
37347 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37348
a69ef770 373492009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37350
7c3ff286 37351 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 37352 <bero@arklinux.org>.
37353
37354 * normal/parser.y (script_init): Add missing semicolon.
37355
6fa42fa6 373562009-01-31 Colin D Bennett <colin@gibibit.com>
37357
7c3ff286 37358 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 37359 (free_menu_entry_classes): Added.
37360 (grub_normal_menu_addentry): Added class property handling.
37361 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37362 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37363
37364 * normal/menu_viewer.c: New file.
37365
37366 * normal/menu.c (run_menu_entry): Renamed to ...
37367 (grub_menu_execute_entry): ... this and made it as global.
37368 (grub_menu_run): Renamed to ...
37369 (show_text_menu): ... this and made it local.
37370 (show_text_menu): Adapt to new function names.
37371 (grub_normal_terminal_menu_viewer): New global variable.
37372
37373 * include/grub/menu.h: New file.
37374
37375 * include/grub/menu_viewer.h: New file.
37376
37377 * include/grub/normal.h: Added include to grub/menu.h.
37378 (grub_menu_entry): Moved to include/grub/menu.h.
37379 (grub_menu_entry_t): Likewise.
37380 (grub_menu): Likewise.
37381 (grub_menu_t): Likewise.
37382 (grub_normal_terminal_menu_viewer): Added.
37383 (grub_menu_execute_entry): Likewise.
37384 (grub_menu_run): Removed.
37385
37386 * DISTLIST: Added include/grub/menu.h.
37387 Added include/grub/menu_viewer.h.
37388 Added normal/menu_viewer.c.
37389
373902009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37391
37392 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37393 arglist for menutitle arguments.
37394
37395 * normal/main.c (grub_normal_menu_addentry): Likewise.
37396
37397 * normal/parser.y (menuentry): Likewise.
37398
37399 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37400
37401 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37402 (grub_script_create_cmdmenu): Likewise.
37403
37404 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37405
37406 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37407 changes.
37408
37409 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37410
37411 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37412
37413 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37414
37415 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37416
37417 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37418
37419 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37420
56192c23 374212009-01-30 Christian Franke <franke@computer.org>
37422
37423 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37424 in option help text.
37425
d72521b3 374262009-01-27 Pavel Roskin <proski@gnu.org>
37427
37428 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37429
994b5e84 374302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37431
37432 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37433
37434 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37435
37436 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37437 unregister function.
37438
6a7eab2c 374392009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37440
37441 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37442
37443 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37444
37445 * util/grub-mkfont.c (usage): Fix typo.
37446
37447 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37448
1806b56e 374492009-01-26 Daniel Mierswa <impulze@impulze.org>
37450
3fb18f09 37451 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37452
336e1fb9 37453 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37454
1806b56e 37455 * kern/misc.c (grub_strcasecmp): New function.
37456 (grub_strcasecmp): Use grub_size_t instead of int for length.
37457 Fix return value.
37458 * include/grub/misc.h: Update function prototypes.
37459
580b2a0f 374602009-01-26 Robert Millan <rmh@aybabtu.com>
37461
37462 * configure.ac: Fix cross-compilation check.
ef257b36 37463
d31c24f1 374642009-01-22 Christian Franke <franke@computer.org>
37465
37466 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37467 (precision) digit string. Allow `.format2' without `format1' (width).
37468 Limit input chars for `%s' output to `format2' if specified. This is
37469 compatible with standard printf ().
37470
3138b44c 374712009-01-22 Christian Franke <franke@computer.org>
37472
37473 * disk/ata.c (grub_ata_wait_status): Replace by ...
37474 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37475 other status bits may be invalid while BSY is asserted.
37476 (grub_ata_check_ready): New function.
37477 (grub_ata_cmd): Removed.
37478 (grub_ata_wait_drq): New function.
37479 (grub_ata_strncpy): Remove inline.
37480 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37481 and error check now done by grub_ata_wait_drq ().
37482 (grub_ata_pio_write): Likewise.
37483 (grub_atapi_identify): Set DEV before check for !BSY. Use
37484 grub_ata_wait_drq () to wait for data.
37485 (grub_ata_device_initialize): Add status register check to
37486 detect missing SATA slave devices. Add debug messages.
37487 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37488 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37489 transfer loop by grub_ata_pio_write ().
37490 (grub_ata_identify): Set DEV before check for !BSY. Use
37491 grub_ata_wait_drq () to wait for data.
ef257b36 37492 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37493 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37494 read/write in one loop. Fix invalid command on write. Fix incomplete
37495 command on (size % batch) == 0. Add missing error check after write of
37496 last block. Add debug messages.
37497 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37498
59a64ef6 374992009-01-19 Christian Franke <franke@computer.org>
37500
37501 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37502 (GRUB_ATAPI_IREASON_*): Likewise.
37503 (grub_ata_pio_write): Fix timeout error return.
37504 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37505 (grub_atapi_wait_drq): New function.
37506 (grub_atapi_packet): New parameter `size'.
37507 Use grub_atapi_wait_drq () and direct write instead of
37508 grub_ata_pio_write ().
37509 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37510 reads the number of bytes requested by the device for each DRQ
37511 assertion.
37512 (grub_atapi_write): Remove old implementation, return not
37513 implemented instead.
37514
1cfe20b3 375152009-01-19 Christian Franke <franke@computer.org>
37516
37517 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37518 of 512 to calculate data size.
37519 (grub_scsi_read12): Likewise.
37520 (grub_scsi_write10): Likewise.
37521 (grub_scsi_write12): Likewise.
37522 (grub_scsi_read): Adjust size according to blocksize.
37523 Add checks for invalid blocksize and unaligned transfer.
37524
bee5fe5d 375252009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37526
37527 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37528
ef257b36 37529 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37530 width glyphs.
37531
3e643f8c 375322009-01-19 Robert Millan <rmh@aybabtu.com>
37533
37534 * config.guess: Update to latest version from config git.
37535 * config.sub: Likewise.
37536
4fa80998 375372009-01-17 Felix Zielcke <fzielcke@z-51.de>
37538
37539 * Makefile.in: Change font compilation to use new grub-mkfont instead
37540 of java version.
37541
37542 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37543 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37544 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37545 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37546 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37547 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37548 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37549 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37550 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37551
7086085b 375522009-01-16 Christian Franke <franke@computer.org>
37553
37554 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37555 (enum grub_ata_timeout_milliseconds): New enum.
37556 (grub_ata_wait_status): Add parameter milliseconds.
37557 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37558 recovery from timed-out commands.
37559 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37560 return grub_errno instead of REG_ERROR.
37561 (grub_ata_pio_write): Add parameter milliseconds.
37562 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37563 Pass milliseconds to grub_ata_wait_status () and
37564 grub_ata_pio_read ().
37565 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37566 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37567 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37568 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37569 It is not suitable for device detection, because DEV bit is ignored,
37570 the command may run too long, and not all devices set the signature
37571 properly.
37572 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37573 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37574 Fix device selection, DEV bit must be set first to address the registers
37575 of the correct device.
37576 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37577 grub_ata_pio_read/write ().
37578 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37579 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37580
4a412913 375812009-01-13 Carles Pina i Estany <carles@pina.cat>
37582
37583 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37584
7795c55e 375852009-01-13 Bean <bean123ch@gmail.com>
d913988c 37586
37587 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37588
7795c55e 375892009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37590
37591 * Makefile.in: (enable_grub_mkfont): New variable.
37592 (freetype_cflags): Likewise.
37593 (freetype_libs): Likewise.
37594
37595 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37596 (grub_mkfont_SOURCES): New variable.
37597 (grub_mkfont_CFLAGS): Likewise.
37598 (grub_mkfont_LDFLAGS): Likewise.
37599
37600 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37601 library if `--enable-grub-mkfont' is requested.
37602 (enable_grub_mkfont): New variable.
37603 (freetype_cflags): Likewise.
37604 (freetype_libs): Likewise.
37605
37606 * util/grub-mkfont.c: New file.
37607
093af1fe 376082009-01-12 Christian Franke <franke@computer.org>
37609
37610 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37611 mode check. Fix setting of compat_use[].
37612
f36cc108 376132009-01-10 Robert Millan <rmh@aybabtu.com>
37614
37615 Update a few copyright years which we forgot to do in 2008 (only for
37616 files whose changes made in 2008 were copyright-significant)
37617
37618 * Makefile.in: Add 2008 to Copyright line.
37619 * disk/ieee1275/ofdisk.c: Likewise.
37620 * disk/efi/efidisk.c: Likewise.
37621 * kern/dl.c: Likewise.
37622 * kern/sparc64/ieee1275/init.c: Likewise.
37623 * kern/mm.c: Likewise.
37624 * kern/efi/mm.c: Likewise.
37625 * boot/i386/pc/boot.S: Likewise.
37626 * genfslist.sh: Likewise.
37627 * fs/iso9660.c: Likewise.
37628 * fs/hfs.c: Likewise.
37629 * fs/jfs.c: Likewise.
37630 * fs/minix.c: Likewise.
37631 * fs/ufs.c: Likewise.
37632 * gensymlist.sh.in: Likewise.
37633 * genkernsyms.sh.in: Likewise.
37634 * include/grub/misc.h: Likewise.
37635 * include/grub/types.h: Likewise.
37636 * include/grub/symbol.h: Likewise.
37637 * include/grub/elf.h: Likewise.
37638 * include/grub/kernel.h: Likewise.
37639 * include/grub/disk.h: Likewise.
37640 * include/grub/dl.h: Likewise.
37641 * include/grub/i386/linux.h: Likewise.
37642 * include/grub/i386/pc/biosdisk.h: Likewise.
37643 * include/grub/efi/api.h: Likewise.
37644 * include/grub/efi/pe32.h: Likewise.
37645 * include/grub/util/misc.h: Likewise.
37646 * normal/execute.c: Likewise.
37647 * normal/arg.c: Likewise.
37648 * normal/completion.c: Likewise.
37649 * normal/lexer.c: Likewise.
37650 * normal/parser.y: Likewise.
37651 * normal/misc.c: Likewise.
37652 * commands/i386/pc/vbeinfo.c: Likewise.
37653 * commands/hexdump.c: Likewise.
37654 * commands/terminal.c: Likewise.
37655 * commands/ls.c: Likewise.
37656 * commands/help.c: Likewise.
37657 * partmap/pc.c: Likewise.
37658 * loader/efi/chainloader.c: Likewise.
37659 * loader/multiboot_loader.c: Likewise.
37660 * loader/i386/pc/multiboot2.c: Likewise.
37661 * term/efi/console.c: Likewise.
37662 * term/i386/pc/serial.c: Likewise.
37663 * util/lvm.c: Likewise.
37664 * util/console.c: Likewise.
37665 * util/i386/efi/grub-mkimage.c: Likewise.
37666 * util/raid.c: Likewise.
37667
7f02114b 376682009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37669
37670 * commands/videotest.c: Removed include to grub/machine/memory.h.
37671
37672 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37673 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37674 (video_mod_SOURCES): Removed.
37675 (video_mod_CFLAGS): Likewise.
37676 (video_mod_LDFLAGS): Likewise.
37677 (gfxterm_mod_SOURCES): Likewise.
37678 (gfxterm_mod_CFLAGS): Likewise.
37679 (gfxterm_mod_LDFLAGS): Likewise.
37680 (videotest_mod_SOURCES): Likewise.
37681 (videotest_mod_CFLAGS): Likewise.
37682 (videotest_mod_LDFLAGS): Likewise.
37683 (bitmap_mod_SOURCES): Likewise.
37684 (bitmap_mod_CFLAGS): Likewise.
37685 (bitmap_mod_LDFLAGS): Likewise.
37686 (tga_mod_SOURCES): Likewise.
37687 (tga_mod_CFLAGS): Likewise.
37688 (tga_mod_LDFLAGS): Likewise.
37689 (jpeg_mod_SOURCES): Likewise.
37690 (jpeg_mod_CFLAGS): Likewise.
37691 (jpeg_mod_LDFLAGS): Likewise.
37692 (png_mod_SOURCES): Likewise.
37693 (png_mod_CFLAGS): Likewise.
37694 (png_mod_LDFLAGS): Likewise.
37695
37696 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37697 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37698 (video_mod_SOURCES): Added.
37699 (video_mod_CFLAGS): Likewise.
37700 (video_mod_LDFLAGS): Likewise.
37701 (videotest_mod_SOURCES): Likewise.
37702 (videotest_mod_CFLAGS): Likewise.
37703 (videotest_mod_LDFLAGS): Likewise.
37704 (bitmap_mod_SOURCES): Likewise.
37705 (bitmap_mod_CFLAGS): Likewise.
37706 (bitmap_mod_LDFLAGS): Likewise.
37707 (tga_mod_SOURCES): Likewise.
37708 (tga_mod_CFLAGS): Likewise.
37709 (tga_mod_LDFLAGS): Likewise.
37710 (jpeg_mod_SOURCES): Likewise.
37711 (jpeg_mod_CFLAGS): Likewise.
37712 (jpeg_mod_LDFLAGS): Likewise.
37713 (png_mod_SOURCES): Likewise.
37714 (png_mod_CFLAGS): Likewise.
37715 (png_mod_LDFLAGS): Likewise.
37716 (gfxterm_mod_SOURCES): Likewise.
37717 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37718 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37719
37720 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37721 grub/machine/console.h.
37722
644fff97 377232009-01-04 Jerone Young <jerone@gmail.com>
37724
37725 Make on screen instructions clearer
37726
37727 Based on patch created by Jidanni <jidanni@jidanni.org>
37728
37729 * normal/menu.c: print clearer instructions on the screen
37730
1e901a75 377312009-01-02 Colin D Bennett <colin@gibibit.com>
37732
37733 New font engine.
34c44600 37734
1e901a75 37735 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37736 build system and fixed gfxterm.c to work with different sized fonts.
37737
37738 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37739
1e901a75 37740 * configure: Re-generated.
34c44600 37741
1e901a75 37742 * DISTLIST: Removed font/manager.c.
37743 Added font/font.c.
37744 Added font/font_cmd.c.
34c44600 37745
1e901a75 37746 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37747 compilation.
34c44600 37748
1e901a75 37749 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37750
37751 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37752
37753 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37754
1e901a75 37755 * normal/menu.c: Likewise.
34c44600 37756
1e901a75 37757 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37758 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37759
1e901a75 37760 * include/grub/font.h: Replaced with new file.
34c44600 37761
1e901a75 37762 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37763 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37764 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37765 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37766 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37767 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37768 fg_red, fg_green, fg_blue, fg_alpha.
37769 (grub_video_adapter): Removed blit_glyph.
34c44600 37770 (grub_video_blit_glyph): Removed.
37771
1e901a75 37772 * font/manager.c: Removed file.
34c44600 37773
37774 * font/font.c: New file.
37775
1e901a75 37776 * font/font_cmd.c: Likewise.
34c44600 37777
1e901a75 37778 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37779
1e901a75 37780 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37781 (grub_video_vbe_map_rgba): Likewise.
37782 (grub_video_vbe_unmap_color_int): Likewise.
37783 (grub_video_vbe_blit_glyph): Removed.
37784 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37785
1e901a75 37786 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37787 (get_pixel): Likewise.
34c44600 37788 (set_pixel): Likewise.
37789
1e901a75 37790 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37791
1e901a75 37792 * term/gfxterm.c: Adapted to new font engine.
34c44600 37793
1e901a75 37794 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37795
1e901a75 37796 * term/i386/pc/vga.c: Likewise.
34c44600 37797
1e901a75 37798 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37799
1e901a75 37800 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37801
1e901a75 37802 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37803
1e901a75 37804 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37805
1e901a75 37806 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37807
1e901a75 37808 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37809
1e901a75 37810 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37811
1e901a75 37812 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37813
1e901a75 37814 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37815
37816 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37817
1e901a75 37818 * util/grub-mkconfig_lib.in: Changed font extension.
37819
278922e8 378202008-12-28 Felix Zielcke <fzielcke@z-51.de>
37821
37822 * util/getroot.c (grub_util_get_grub_dev): Add support for
37823 /dev/md/dNNpNN style partitionable mdraid devices.
37824
3ced05cf 378252008-12-12 Alex Smith <alex@alex-smith.me.uk>
37826
37827 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37828 at a time limit of the PXE TFTP API correctly.
37829 (grub_pxefs_close): Likewise.
37830
7fd0ee30 378312008-11-29 Robert Millan <rmh@aybabtu.com>
37832
34c44600 37833 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37834 grub_ata_device_initialize() calls.
37835
34c44600 378362008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37837
37838 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37839 iteration failed.
37840 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37841
89313780 378422008-11-28 Robert Millan <rmh@aybabtu.com>
37843
37844 Fix build on powerpc-ieee1275. Based on patch created by
37845 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37846 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37847 `kern/ieee1275/mmap.c'.
37848 * include/grub/powerpc/ieee1275/memory.h: New file.
37849
15257703 37850 Provide grub-install on coreboot.
37851 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37852 (grub_install_SOURCES): New variable.
37853 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37854 usable on coreboot.
37855
9fc5388a 378562008-11-25 Felix Zielcke <fzielcke@z-51.de>
37857
37858 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37859 to `grub_term_input_t'.
37860 (grub_term_get_current_output): Change return type to
37861 `grub_term_output_t'.
37862
bc3a2f31 378632008-11-22 Robert Millan <rmh@aybabtu.com>
37864
34c44600 37865 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37866 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37867 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37868 grub_vga_text_cls().
37869
80fc88f2 37870 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37871 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37872
cbf36fd3 37873 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37874 to 0x200000 (avoids trouble with some OFW implementations, and matches
37875 with the one in Yaboot).
37876 Reported by Manoel Abranches
37877
73e8e268 378782008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37879
37880 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37881 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37882
73e8e268 37883 * util/grub-mkconfig_lib.in (grub_warn): New function.
37884 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37885 warnings, to obtain consistent formatting.
37886 * util/grub.d/00_header.in: Likewise.
37887 * util/update-grub_lib.in: Likewise.
37888
e94045a1 37889 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37890 Move comment text to `#error' stanza.
e94045a1 37891
79d29fd7 37892 Harmonize ieee1275's grub_available_iterate() with the generic
37893 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37894 build problem on i386-ieee1275):
37895 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37896 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37897 parameter `type'. Update all users of this function.
37898 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37899 `kern/ieee1275/mmap.c'.
37900 * kern/ieee1275/init.c
37901 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37902 with ...
37903 (grub_machine_mmap_iterate): ... this.
37904 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37905 return type to `grub_err_t'. Update all implementations of this
37906 function prototype.
37907 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37908 Likewise.
37909
60d6b16e 37910 Add `lsmmap' command (lists firmware-provided memory map):
37911 * commands/lsmmap.c: New file.
37912 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37913 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37914 variables.
37915 * conf/powerpc-ieee1275.rmk: Likewise.
37916 * conf/i386-coreboot.rmk: Likewise.
37917 * conf/i386-ieee1275.rmk: Likewise.
37918
ebaaf49b 379192008-11-19 Robert Millan <rmh@aybabtu.com>
37920
37921 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37922 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37923 constraints to initrd allocation (based on code from
37924 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37925 for Linux to find it.
ebaaf49b 37926
dfab719f 379272008-11-14 Robert Millan <rmh@aybabtu.com>
37928
37929 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37930 order to cope with duplicate slashes.
37931
10fc3eb9 379322008-11-14 Robert Millan <rmh@aybabtu.com>
37933
37934 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37935 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37936 don't want to mess with lower memory, because it is used in the Linux
37937 loader.
37938
37939 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37940 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37941 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37942 is in our heap (probably as a result of it being corrupted during
2f2a3442 37943 decompression). Add #error instance with comment to explain why this
37944 loader isn't currently usable on PC/BIOS.
10fc3eb9 37945
e2e07847 379462008-11-14 Robert Millan <rmh@aybabtu.com>
37947
37948 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37949 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37950
fe8e8d69 379512008-11-12 Robert Millan <rmh@aybabtu.com>
37952
37953 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37954
37955 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37956 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37957 from here ...
37958 * include/grub/i386/pc/memory.h: ... to here.
37959
976b07d0 379602008-11-12 Robert Millan <rmh@aybabtu.com>
37961
37962 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37963 split).
37964
37965 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37966 (grub_console_cur_color, grub_console_real_putchar)
37967 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37968 (grub_console_setcolorstate, grub_console_setcolor)
37969 (grub_console_getcolor): Move from here ...
37970 * include/grub/i386/vga_common.h: ... to here (new file).
37971
37972 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37973 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37974 `<grub/i386/io.h>'.
37975 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37976 `<grub/i386/vga_common.h>'.
37977
76679cd3 379782008-11-12 Robert Millan <rmh@aybabtu.com>
37979
37980 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37981 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37982 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37983 variables.
37984 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37985 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37986
37987 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37988 grub_console_init() with call to grub_vga_text_init().
37989 (grub_machine_fini): Replace call to
37990 grub_console_fini() with call to grub_vga_text_fini() and
37991 grub_at_keyboard_fini().
37992
37993 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37994 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37995 (grub_console_setcolorstate, grub_console_setcolor)
37996 (grub_console_getcolor): New function prototypes.
37997
37998 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37999 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
38000 (grub_vga_text_setcursor): Static-ize.
38001 (grub_vga_text_term): New structure.
38002 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
38003
38004 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
38005 (grub_console_cur_color, grub_console_standard_color)
38006 (grub_console_normal_color, grub_console_highlight_color)
38007 (map_char, grub_console_putchar, grub_console_getcharwidth)
38008 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
38009 (grub_console_getcolor): Move from here ...
38010 * term/i386/vga_common.c: ... to here (same function names).
38011
95b841d3 380122008-11-12 Robert Millan <rmh@aybabtu.com>
38013
38014 Use newly-added Multiboot support in coreboot.
38015
38016 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
38017 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
38018
38019 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
38020 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
38021 (codestart): Store the MBI in `startup_multiboot_info' when we're
38022 being loaded using Multiboot.
38023
38024 * kern/i386/coreboot/init.c (grub_machine_init): Move
38025 grub_at_keyboard_init() call to beginning of function (useful for
38026 debugging). Call grub_machine_mmap_init() before attempting to use
38027 grub_machine_mmap_iterate().
38028 (grub_lower_mem, grub_upper_mem): Move from here ...
38029 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
38030 here (new file).
38031
38032 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
38033 function prototype.
38034
761ca975 380352008-11-12 Robert Millan <rmh@aybabtu.com>
38036
38037 Fix a regression introduced by the at_keyboard.mod split. Because
38038 some terminals are default on some platforms and non-default on
38039 others, the first terminal being registered determines which is
38040 going to be default.
38041
38042 * kern/term.c (grub_term_register_input): If this is the first
38043 terminal being registered, set it as the current one.
38044 (grub_term_register_output): Likewise.
38045
38046 * term/efi/console.c (grub_console_init): Do not call
38047 grub_term_set_current_output() or grub_term_set_current_input().
38048 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
38049 * term/i386/pc/console.c (grub_console_init): Likewise.
38050 (grub_console_fini): Do not call grub_term_set_current_input()
38051 (but leave grub_term_set_current_output() to restore text mode).
38052
6c529df7 380532008-11-10 Robert Millan <rmh@aybabtu.com>
38054
38055 * util/grub.d/00_header.in: Add backward compatibility check for
38056 versions of terminal.mod that don't understand `terminal_input' or
38057 `terminal_output'.
38058
132e4113 380592008-11-09 Robert Millan <rmh@aybabtu.com>
38060
38061 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38062 `terminal_input' / `terminal_output', not `terminal'.
38063
ac293d50 380642008-11-08 Robert Millan <rmh@aybabtu.com>
38065
38066 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 38067 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 38068
0025933a 380692008-11-08 Robert Millan <rmh@aybabtu.com>
38070
38071 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 38072 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 38073 members. Update all users.
38074 * util/console.c (grub_ncurses_term): Split in ...
38075 (grub_ncurses_term_input): ... this, and ...
38076 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 38077 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 38078
37c86336 380792008-11-08 Robert Millan <rmh@aybabtu.com>
38080
38081 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38082 (PKGDATA): Add $(pkgdata_SRCDIR).
38083 (pkglib_BUILDDIR): New variable.
38084 (pkgdata_SRCDIR): New variable.
38085 (build_env.mk): New target.
38086 (include_DATA): New variable.
38087 (install-local): Install $(include_DATA) files in $(includedir).
38088
b6c15a2d 380892008-11-07 Pavel Roskin <proski@gnu.org>
38090
d99d46f1 38091 * gendistlist.sh: Use C locale for sorting to ensure consistent
38092 output on all systems.
38093
b6c15a2d 38094 * util/grub.d/00_header.in: Remove incorrect space before
38095 "serial".
38096
c32ee8c9 380972008-11-07 Robert Millan <rmh@aybabtu.com>
38098
38099 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38100 per specification.
38101 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38102 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38103 (based on find_multi_boot1_header).
38104 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38105 using find_multi_boot2_header(), and abort if neither Multiboot or
38106 Multiboot headers were found.
38107
651c29b7 381082008-11-07 Robert Millan <rmh@aybabtu.com>
38109
38110 Modularize at_keyboard.mod:
38111
38112 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38113 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38114 (at_keyboard_mod_LDFLAGS): New variables.
38115
38116 Actual terminal split:
38117
38118 * include/grub/term.h (struct grub_term): Split in ...
38119 (struct grub_term_input): ... this, and ...
38120 (struct grub_term_output): ... this. Update all users.
38121 (grub_term_set_current): Split in ...
38122 (grub_term_set_current_input): ... this, and ...
38123 (grub_term_set_current_output): ... this.
38124 (grub_term_get_current): Split in ...
38125 (grub_term_get_current_input): ... this, and ...
38126 (grub_term_get_current_output): ... this.
38127 (grub_term_register): Split in ...
38128 (grub_term_register_input): ... this, and ...
38129 (grub_term_register_output): ... this.
38130 (grub_term_unregister): Split in ...
38131 (grub_term_unregister_input): ... this, and ...
38132 (grub_term_unregister_output): ... this.
38133 (grub_term_iterate): Split in ...
38134 (grub_term_iterate_input): ... this, and ...
38135 (grub_term_iterate_output): ... this.
38136
38137 * kern/term.c (grub_term_list): Split in ...
38138 (grub_term_list_input): ... this, and ...
38139 (grub_term_list_output): ... this. Update all users.
38140 (grub_cur_term): Split in ...
38141 (grub_cur_term_input): ... this, and ...
38142 (grub_cur_term_output): ... this. Update all users.
38143 (grub_term_set_current): Split in ...
38144 (grub_term_set_current_input): ... this, and ...
38145 (grub_term_set_current_output): ... this.
38146 (grub_term_get_current): Split in ...
38147 (grub_term_get_current_input): ... this, and ...
38148 (grub_term_get_current_output): ... this.
38149 (grub_term_register): Split in ...
38150 (grub_term_register_input): ... this, and ...
38151 (grub_term_register_output): ... this.
38152 (grub_term_unregister): Split in ...
38153 (grub_term_unregister_input): ... this, and ...
38154 (grub_term_unregister_output): ... this.
38155 (grub_term_iterate): Split in ...
38156 (grub_term_iterate_input): ... this, and ...
38157 (grub_term_iterate_output): ... this.
38158
38159 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38160 a check for input and one for output (and only attempt to get keys
38161 from user when input works).
38162
38163 * util/grub-probe.c (grub_term_get_current): Split in ...
38164 (grub_term_get_current_input): ... this, and ...
38165 (grub_term_get_current_output): ... this.
38166 * util/grub-fstest.c: Likewise.
38167 * util/i386/pc/grub-setup.c: Likewise.
38168 * util/grub-editenv.c: Likewise.
38169
38170 Portability adjustments:
38171
38172 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38173 `term/i386/pc/at_keyboard.c'.
38174 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38175 grub_keyboard_controller_init() (now handled by terminal .init).
38176 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38177 grub_at_keyboard_init().
38178 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38179 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38180 at_keyboard.mod via input terminal interface).
38181 * include/grub/i386/coreboot/console.h: Convert into a stub for
38182 `<grub/i386/pc/console.h>'.
38183
38184 Migrate full terminals to new API:
38185
38186 * term/efi/console.c (grub_console_term): Split into ...
38187 (grub_console_term_input): ... this, and ...
38188 (grub_console_term_output): ... this. Update all users.
38189 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38190 (grub_ofconsole_init): Split into ...
38191 (grub_ofconsole_init_input): ... this, and ...
38192 (grub_ofconsole_init_output): ... this.
38193 (grub_ofconsole_term): Split into ...
38194 (grub_ofconsole_term_input): ... this, and ...
38195 (grub_ofconsole_term_output): ... this. Update all users.
38196 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38197 (grub_serial_term_input): ... this, and ...
38198 (grub_serial_term_output): ... this. Update all users.
38199 * term/i386/pc/console.c (grub_console_term): Split into ...
38200 (grub_console_term_input): ... this, and ...
38201 (grub_console_term_output): ... this. Update all users.
38202 (grub_console_term_input): Only enable it on PC/BIOS platform.
38203 (grub_console_init): Remove grub_keyboard_controller_init() call.
38204
38205 Migrate input terminals to new API:
38206
38207 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38208 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38209 i386-specific anyway).
38210 (grub_console_checkkey): Rename to ...
38211 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38212 users.
38213 (grub_keyboard_controller_orig): New variable.
38214 (grub_console_getkey): Rename to ...
38215 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38216 users.
38217 (grub_keyboard_controller_init): Static-ize. Save original
38218 controller value so that it can be restored ...
38219 (grub_keyboard_controller_fini): ... here (new function).
38220 (grub_at_keyboard_term): New structure.
38221 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38222 functions.
38223
38224 Migrate output terminals to new API:
38225
38226 * term/i386/pc/vga.c (grub_vga_term): Change type to
38227 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38228 members. Update all users.
38229 * term/gfxterm.c (grub_video_term): Change type to
38230 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38231 members. Update all users.
38232 * include/grub/i386/pc/console.h (grub_console_checkkey)
38233 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38234 etc).
38235
38236 Migrate `terminal' command and userland tools to new API:
38237
38238 * commands/terminal.c (grub_cmd_terminal): Split into ...
38239 (grub_cmd_terminal_input): ... this, and ...
38240 (grub_cmd_terminal_output): ... this.
38241 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38242 `terminal_input' and `terminal_output'.
38243 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38244 `terminal_input' / `terminal_output' API.
38245 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38246 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38247 provided ${GRUB_TERMINAL}, convert it).
38248
96e5d876 382492008-11-04 Robert Millan <rmh@aybabtu.com>
38250
38251 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38252 for FreeBSD.
38253 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38254
556f3775 382552008-11-03 Bean <bean123ch@gmail.com>
38256
38257 * kern/elf.c (grub_elf32_load): Revert to previous code.
38258 (grub_elf64_load): Likewise.
38259
38260 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38261
926b9823 382622008-11-01 Robert Millan <rmh@aybabtu.com>
38263
38264 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38265 (TARGET_CPPFLAGS): Likewise.
38266 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38267
1432e958 382682008-11-01 Carles Pina i Estany <carles@pina.cat>
38269
38270 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38271
dba3f844 382722008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 38273
38274 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38275 addition of objects until the code is not going to be able to fail.
38276
dba3f844 382772008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 38278
38279 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38280 (add a missing NULL check, and correct them by moving the pointer
38281 operations after the actual check).
38282
7ab28c21 382832008-10-29 Robert Millan <rmh@aybabtu.com>
38284
38285 * util/i386/pc/grub-install.in: Handle empty string as output from
38286 make_system_path_relative_to_its_root().
38287
1b7748eb 382882008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38289
38290 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38291 circular metadata worst case scenario. If the metadata is circular
38292 then copy the wrap in place.
38293 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38294 project lib/format_text/layout.h
38295 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38296
c9618ab2 382972008-10-03 Felix Zielcke <fzielcke@z-51.de>
38298
7a36edca 38299 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 38300
bf981c62 383012008-10-03 Felix Zielcke <fzielcke@z-51.de>
38302
38303 * util/update-grub_lib.in: Mention filename in warning message.
38304
6d994591 383052008-09-29 Felix Zielcke <fzielcke@z-51.de>
38306
38307 * NEWS: Update for rename of update-grub to grub-mkconfig.
38308
18ade780 383092008-09-29 Felix Zielcke <fzielcke@z-51.de>
38310
38311 * util/update-grub_lib.in: Copy to ...
38312 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 38313 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 38314 * util/update-grub.in: Rename to ...
38315 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38316 option. Add `--output' option to allow users to specify the generated
38317 configuration file. Default to stdout.
38318 (update_grub_dir): Rename to ...
38319 (grub_mkconfig_dir): ... this.
38320 (grub_cfg): Default to an empty string.
38321 * conf/common.rmk (update-grub): Rename to ...
38322 (grub-mkconfig): ... this.
38323 (update-grub_lib): Copy to ...
38324 (grub-mkconfig_lib): ... this.
38325 (update-grub_SCRIPTS): Copy to ...
38326 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38327 (update-grub_DATA): Rename to ...
38328 (grub-mkconfig_DATA): ... this.
38329
556ce6ac 383302008-09-28 Robert Millan <rmh@aybabtu.com>
38331
38332 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38333 to `modified'. Add the real `created' field.
38334 (grub_iso9660_uuid): Use `modified' rather than `created' for
38335 constructing the UUID.
38336
383372008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 38338
38339 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38340 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38341
92274e85 383422008-09-28 Bean <bean123ch@gmail.com>
38343
38344 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38345 Thanks to Christian Franke for finding this bug.
38346
add6f17a 383472008-09-25 Robert Millan <rmh@aybabtu.com>
38348
38349 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38350 instances of grub_util_get_disk_name() (see previous commit).
38351
d2a367b8 383522008-09-25 Robert Millan <rmh@aybabtu.com>
38353
38354 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38355 `util/i386/get_disk_name.c'.
38356 * conf/i386-efi.rmk: Likewise.
38357 * conf/x86_64-efi.rmk: Likewise.
38358 * conf/i386-coreboot.rmk: Likewise.
38359 * conf/i386-ieee1275.rmk: Likewise.
38360 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38361 `util/ieee1275/get_disk_name.c'.
38362 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38363 * util/ieee1275/get_disk_name.c: Remove file.
38364 * util/i386/get_disk_name.c: Remove file.
38365 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38366 "hd%d" for device.map entries, rather than using
38367 grub_util_get_disk_name().
38368
81a06771 383692008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 38370
38371 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38372 warning.
38373 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38374
5a004279 383752008-09-24 Carles Pina i Estany <carles@pina.cat>
38376
38377 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38378 Changed to 0x5100.
38379 (GRUB_TERM_PPAGE): Changed to 0x4900.
38380
397093d3 383812008-09-24 Robert Millan <rmh@aybabtu.com>
38382
38383 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38384 macros (they were i386-pc specific).
38385 * include/grub/sparc64/ieee1275/console.h: Likewise.
38386 * include/grub/efi/console.h: Likewise.
38387
a91b6c7c 383882008-09-22 Bean <bean123ch@gmail.com>
38389
38390 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38391 resident and in attribute list.
38392
38393 * include/grub/ntfs.h (BMP_LEN): Removed.
38394
c40fd116 383952008-09-22 Bean <bean123ch@gmail.com>
38396
81a06771 38397 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38398 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38399
38400 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38401 error occurs, as grub_disk_open will call grub_disk_close, which will
38402 call p->close (scsi).
38403
81a06771 384042008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38405
38406 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38407 (AC_PREREQ): Bumped to 2.59.
38408 (AC_TRY_COMPILE): Replace obsolete macro with ...
38409 (AC_COMPILE_IFELSE): ... this.
38410 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38411 (AC_LINK_IFELSE): ... this.
38412
5dc43410 384132008-09-21 Felix Zielcke <fzielcke@z-51.de>
38414
38415 * autogen.sh: Add a call to `gendistlist.sh'.
38416
9035dce4 384172008-09-19 Christian Franke <franke@computer.org>
38418
38419 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38420 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38421 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38422 Export __enable_execute_stack() to modules.
38423 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38424 New function.
38425
7fd75377 384262008-09-09 Felix Zielcke <fzielcke@z-51.de>
38427
040030b3 38428 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38429 Sort the list.
38430
384312008-09-09 Felix Zielcke <fzielcke@z-51.de>
38432
38433 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38434 #include <grub/util/hostdisk.h>.
38435
89d5ffcf 384362008-09-08 Robert Millan <rmh@aybabtu.com>
38437
38438 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38439 segments when their filesz is zero (grub_file_read() interprets
81a06771 38440 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38441 Use `lowest_segment' rather than 0 for calculating the current
38442 segment load address.
38443
40da438f 384442008-09-08 Robert Millan <rmh@aybabtu.com>
38445
38446 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38447 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38448 clobbered useful information.
38449
ddbf5556 384502008-09-08 Robert Millan <rmh@aybabtu.com>
38451
38452 * include/grub/util/biosdisk.h: Move to ...
38453 * include/grub/util/hostdisk.h: ... here. Update all users.
38454 * util/biosdisk.c: Move to ...
38455 * util/hostdisk.c: ... here. Update all users.
38456
783d0f48 384572008-09-07 Robert Millan <rmh@aybabtu.com>
38458
38459 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38460 variables.
38461 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38462 and length can be stored directly in the `mbi->mmap_addr' and
38463 `mbi->mmap_length' struct fields.
38464
548e2ea5 384652008-09-07 Robert Millan <rmh@aybabtu.com>
38466
38467 * conf/i386.rmk: New file. Provides declaration for building
38468 `cpuid.mod'.
38469 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38470 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38471 variables.
38472 Include `conf/i386.mk'.
38473 * conf/i386-efi.rmk: Likewise.
38474 * conf/x86_64-efi.rmk: Likewise.
38475 * conf/i386-coreboot.rmk: Likewise.
38476 * conf/i386-ieee1275.rmk: Likewise.
38477
0ea85a37 384782008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38479
38480 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38481 Adds optimization support for BGR based modes.
38482
38483 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38484 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38485 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38486 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38487 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38488 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38489 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38490 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38491 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38492 (grub_video_i386_vbeblit_index_index): Likewise.
38493 (grub_video_i386_vbeblit_replace_directN): Added.
38494 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38495 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38496 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38497 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38498 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38499 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38500 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38501 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38502 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38503 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38504 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38505 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38506 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38507
38508 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38509 (grub_video_i386_vbefill_R8G8B8): Likewise.
38510 (grub_video_i386_vbefill_index): Likewise.
38511 (grub_video_i386_vbefill_direct32): Added.
38512 (grub_video_i386_vbefill_direct24): Likewise.
38513 (grub_video_i386_vbefill_direct16): Likewise.
38514 (grub_video_i386_vbefill_direct8): Likewise.
38515
81a06771 38516 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38517 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38518 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38519 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38520 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38521 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38522
0ea85a37 38523 * video/video.c (grub_video_get_blit_format): Updated to use new
38524 blit formats. Added handling for 16 bit color modes.
81a06771 38525
38526 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38527 fillers.
38528 (common_blitter): Updated to use new blitters.
38529
38530 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38531 Removed.
38532 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38533 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38534 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38535 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38536 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38537 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38538 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38539 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38540 (grub_video_i386_vbeblit_index_index): Likewise.
38541 (grub_video_i386_vbeblit_replace_directN): Added.
38542 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38543 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38544 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38545 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38546 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38547 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38548 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38549 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38550 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38551 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38552 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38553 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38554 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38555
0ea85a37 38556 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38557 (grub_video_i386_vbefill_R8G8B8): Likewise.
38558 (grub_video_i386_vbefill_index): Likewise.
38559 (grub_video_i386_vbefill_direct32): Added.
38560 (grub_video_i386_vbefill_direct24): Likewise.
38561 (grub_video_i386_vbefill_direct16): Likewise.
38562 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38563
0ea85a37 38564 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38565 types.
81a06771 38566
0ea85a37 38567 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38568 types.
81a06771 38569
0ea85a37 38570 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38571 blitter types.
81a06771 38572
0ea85a37 38573 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38574 types.
38575
e8a83df6 385762008-09-06 Felix Zielcke <fzielcke@z-51.de>
38577
38578 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38579 RAID level 1.
38580
6bcd8ee5 385812008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38582
6bcd8ee5 38583 * fs/iso9660.c (grub_iso9660_date): New structure.
38584 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38585 (grub_iso9660_uuid): New function.
c375ae58 38586
59261157 385872008-09-05 Bean <bean123ch@gmail.com>
38588
38589 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38590
38591 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38592 insensitive bit for names in Win32 and Win32 & DOS namespace.
38593
38594 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38595
38596 * include/grub/types.h (LONG_MAX): Likewise.
38597
58b6645a 385982008-09-04 Felix Zielcke <fzielcke@z-51.de>
38599
4ee55921 38600 * util/getroot.c: Include <config.h>.
38601 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38602 add support for /dev/md/N devices and handle LVM double dash escaping.
38603
386042008-09-04 Felix Zielcke <fzielcke@z-51.de>
38605
38606 * config.guess: Update to latest version from config git.
38607 * config.sub: Likewise.
58b6645a 38608
9124f65d 386092008-09-03 Robert Millan <rmh@aybabtu.com>
38610
38611 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38612 `disk->total_sectors'.
38613
81a06771 386142008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38615
38616 * include/grub/normal.h: Fixed incorrect comment for
38617 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38618
81a06771 386192008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38620
38621 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38622 values with defines.
38623
38624 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38625 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38626 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38627 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38628 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38629 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38630 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38631 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38632 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38633 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38634 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38635 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38636 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38637 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38638 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38639 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38640 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38641 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38642 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38643
93d5cbf8 386442008-08-31 Robert Millan <rmh@aybabtu.com>
38645
38646 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38647 declaration.
38648 (grub_multiboot): Fix a few warnings.
38649
21751d50 386502008-08-31 Robert Millan <rmh@aybabtu.com>
38651
38652 * loader/i386/pc/multiboot.c: Update comment not to say that
38653 boot_device support is unimplemented.
38654
e27a75c5 386552008-08-31 Robert Millan <rmh@aybabtu.com>
38656
38657 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38658 or memory map support are unimplemented.
38659
81a06771 386602008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38661
38662 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38663
81a06771 386642008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38665
38666 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38667 total video memory in 'vbeinfo' output; show color format details for
38668 each video mode.
38669
7c5d8d95 386702008-08-30 Pavel Roskin <proski@gnu.org>
38671
38672 * util/genmoddep.c: Remove for real this time.
38673 * DISTLIST: Remove util/genmoddep.c.
38674
4cebd25a 386752008-08-30 Robert Millan <rmh@aybabtu.com>
38676
38677 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38678 as required by Multiboot spec (it was already 4-byte aligned, but
38679 only by chance).
38680
b497a269 386812008-08-29 Pavel Roskin <proski@gnu.org>
38682
e3925185 38683 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38684 * kern/powerpc/ieee1275/startup.S: ... this.
38685 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38686 * DISTLIST: Likewise.
38687
b497a269 38688 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38689 grub/cpu/kernel.h. Add start label for consistency with other
38690 platforms. Add grub_prefix immediately after start. Add jump
38691 to the code after grub_prefix.
38692 * include/grub/powerpc/kernel.h: Provide valid values for
38693 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38694
6e5a42fe 386952008-08-29 Bean <bean123ch@gmail.com>
38696
38697 * configure.ac: Change host_os to cygwin for mingw.
38698 (asprintf): New check for function.
38699
38700 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38701 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38702
38703 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38704 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38705 sync, sleep and grub_util_get_disk_size for mingw.
38706
38707 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38708 to get size in mingw.
38709 (open_device): Use flag O_BINARY if it's defined.
38710 (find_root_device): Add dummy code for mingw.
38711
38712 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38713 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38714 (get_scsi_disk_name): Return 0 for mingw.
38715
38716 * util/hostfs.c: #include <grub/util/misc.h>.
38717 (grub_hostfs_open): Use "rb" flag to open file, use
38718 grub_util_get_disk_size to get disk size for mingw.
38719
38720 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38721 (asprintf): New function if HAVE_ASPRINTF is not set.
38722 (sync): New function for mingw.
38723 (sleep): Likewise.
38724 (grub_util_get_disk_size): Likewise.
38725
ab3f2673 387262008-08-28 Pavel Roskin <proski@gnu.org>
38727
38728 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38729 kern/time.c.
38730
1c282483 387312008-08-28 Robert Millan <rmh@aybabtu.com>
38732
38733 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38734
678e849c 387352008-08-28 Robert Millan <rmh@aybabtu.com>
38736
38737 Change find_grub_drive() syntax so it doesn't prevent it from
38738 detecting NULL names as errors.
38739
38740 * util/biosdisk.c (find_grub_drive): Move free slot search code
38741 from here ...
38742 (find_free_slot): ... to here.
38743 (read_device_map): Use find_free_slot() to search for free slots.
38744
965c75ca 387452008-08-27 Marco Gerards <marco@gnu.org>
38746
38747 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38748 (scsi_mod_SOURCES): New variable.
38749 (scsi_mod_CFLAGS): Likewise
38750 (scsi_mod_LDFLAGS): Likewise.
38751
38752 * disk/scsi.c: New file.
38753
38754 * include/grub/scsi.h: Likewise.
38755
38756 * include/grub/scsicmd.h: Likewise.
38757
38758 * disk/ata.c: Include <grub/scsi.h>.
38759 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38760 instead.
38761 (grub_ata_iterate): Skip ATAPI devices.
38762 (grub_ata_open): Only handle ATAPI devices.
38763 (struct grub_atapi_read): Removed.
38764 (grub_atapi_readsector): Likewise.
38765 (grub_ata_read): No longer handle ATAPI devices.
38766 (grub_ata_write): Likewise.
38767 (grub_atapi_iterate): New function.
38768 (grub_atapi_read): Likewise.
38769 (grub_atapi_write): Likewise.
38770 (grub_atapi_open): Likewise.
38771 (grub_atapi_close): Likewise.
38772 (grub_atapi_dev): New variable.
38773 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38774 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38775
38776 * include/grub/disk.h (enum grub_disk_dev_id): Add
38777 `GRUB_DISK_DEVICE_SCSI_ID'.
38778
c07ae501 387792008-08-26 Robert Millan <rmh@aybabtu.com>
38780
38781 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38782 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38783 descriptive.
38784
5ed20adc 387852008-08-23 Bean <bean123ch@gmail.com>
38786
38787 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38788 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38789 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38790 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38791 dm_nv.mod.
38792 (raid5rec_mod_SOURCES): New macro.
38793 (raid5rec_mod_CFLAGS): Likewise.
38794 (raid5rec_mod_LDFLAGS): Likewise.
38795 (raid6rec_mod_SOURCES): Likewise.
38796 (raid6rec_mod_CFLAGS): Likewise.
38797 (raid6rec_mod_LDFLAGS): Likewise.
38798 (mdraid_mod_SOURCES): Likewise.
38799 (mdraid_mod_CFLAGS): Likewise.
38800 (mdraid_mod_LDFLAGS): Likewise.
38801 (dm_nv_mod_SOURCES): Likewise.
38802 (dm_nv_mod_CFLAGS): Likewise.
38803 (dm_nv_mod_LDFLAGS): Likewise.
38804
38805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38806 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38807 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38808
38809 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38810 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38811
38812 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38813
38814 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38815
38816 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38817
38818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38819
38820 * disk/raid5_recover.c: New file.
38821
38822 * disk/raid6_recover.c: Likewise.
38823
38824 * disk/mdraid_linux.c: Likewise.
38825
38826 * disk/dmraid_nvidia.c: Likewise.
38827
38828 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38829 ULONG_MAX.
38830
38831 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38832 calculate the size of raid device.
38833 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38834 different layout of raid5.
38835 (grub_raid_scan_device): Remove code specific to mdraid.
38836 (grub_raid_list): New variable.
38837 (free_array): New function.
38838 (grub_raid_register): Likewise.
38839 (grub_raid_unregister): Likewise.
38840 (grub_raid_rescan): Likewise.
38841 (GRUB_MOD_INIT): Don't iterate device here.
38842 (GRUB_MOD_FINI): Use free_array to release resource.
38843
38844 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38845 (grub_raid5_recover_func_t): New function variable type.
38846 (grub_raid6_recover_func_t): Likewise.
38847 (grub_raid5_recover_func): New variable.
38848 (grub_raid6_recover_func): Likewise.
38849 (grub_raid_register): New function.
38850 (grub_raid_unregister): Likewise.
38851 (grub_raid_rescan): Likewise.
38852 (grub_raid_block_xor): Likewise.
38853
38854 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38855 (CMD_CRC): New macro.
38856 (part): Removed.
38857 (read_file): Handle device as well as file.
38858 (cmd_crc): New function.
38859 (fstest): Handle multiple disks.
38860 (options): Remove part, raw and long, add root and diskcount.
38861 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38862 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38863 add handling for the new options, support multiple disks.
38864
38865 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38866
29c18915 388672008-08-23 Bean <bean123ch@gmail.com>
38868
38869 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38870
38871 * genfslist.sh: Ignore kernel.mod.
38872
38873 * genpartmaplist.sh: Likewise.
38874
8415f261 388752008-08-23 Robert Millan <rmh@aybabtu.com>
38876
38877 * util/getroot.c (find_root_device): Skip anything that starts with
38878 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38879
d5a7dc5b 388802008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38881
d5a7dc5b 38882 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38883 * util/grub.d/00_header.in: Allow the administrator to change default
38884 gfxmode via ${GRUB_GFXMODE}.
38885
380cfbb4 388862008-08-21 Felix Zielcke <fzielcke@z-51.de>
38887
38888 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38889
c9baafe7 388902008-08-21 Robert Millan <rmh@aybabtu.com>
38891
38892 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38893 loader.
38894 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38895 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38896
e290bef2 388972008-08-20 Carles Pina i Estany <carles@pina.cat>
38898
38899 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38900 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38901
f9dbfc96 389022008-08-19 Robert Millan <rmh@aybabtu.com>
38903
38904 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38905 (struct grub_virtual_screen): Remove `cursor_color'.
38906 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38907 initialization.
38908 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38909
dd6bd6ab 389102008-08-18 Robert Millan <rmh@aybabtu.com>
38911
38912 Unify (identical) linux_normal.c files.
38913 * loader/i386/efi/linux_normal.c: Move from here ...
38914 * loader/linux_normal.c: ... to here. Update all users.
38915 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38916 * loader/i386/ieee1275/linux_normal.c: Likewise.
38917
7f42f83e 389182008-08-18 Robert Millan <rmh@aybabtu.com>
38919
38920 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38921 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38922 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38923 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38924 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38925 New macros.
38926 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38927 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38928 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38929 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38930 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38931 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38932 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38933 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38934 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38935 portably using grub_getxy().
38936 Replace `-EFI' with `-bzImage' in boot message.
38937
38487ddb 389382008-08-17 Robert Millan <rmh@aybabtu.com>
38939
38940 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38941
deceb3ec 389422008-08-17 Robert Millan <rmh@aybabtu.com>
38943
38944 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38945
38946 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38947 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38948 (grub_machine_mmap_iterate): New function declaration.
38949 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38950 structure.
38951 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38952 macros.
38953
38954 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38955 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38956 Move e820 parsing from here ...
38957 * kern/i386/pc/mmap.c: New file.
38958 (grub_machine_mmap_iterate): ... to here.
38959
38960 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38961 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38962 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38963 (grub_available_iterate): Redeclare to return `void', and redeclare
38964 its hook to use grub_uint64_t as addr and size parameters, and rename
38965 to ...
38966 (grub_machine_mmap_iterate): ... this. Update all users.
38967
38968 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38969 to make it more readable. Rename to ...
38970 (grub_machine_mmap_iterate): ... this.
38971
38972 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38973 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38974 (grub_multiboot): Allocate an extra region after the payload, and fill
38975 it with a Multiboot memory map. Adjust a.out loader to calculate size
38976 with the extra space.
38977 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38978 with the extra space.
38979
f8aa0f43 389802008-08-17 Carles Pina i Estany <carles@pina.cat>
38981
9807deb9 38982 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38983
605f5bb6 389842008-08-17 Felix Zielcke <fzielcke@z-51.de>
38985
38986 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38987 mdate-sh to the list `find' searches for.
38988 * DISTLIST: Regenerated.
38989
210db6c6 389902008-08-16 Felix Zielcke <fzielcke@z-51.de>
38991
38992 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38993 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38994 genmoddep.awk, gensymlist.sh.in.
38995 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38996 * DISTLIST: Regenerated.
48cdbfd4 38997 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38998
1082b929 389992008-08-16 Robert Millan <rmh@aybabtu.com>
39000
39001 * disk/raid.c (grub_raid_init): Handle/report errors set by
39002 grub_device_iterate().
39003 * disk/lvm.c (grub_lvm_init): Likewise.
39004
42ce5170 390052008-08-15 Bean <bean123ch@gmail.com>
39006
39007 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39008 and datehook.mod.
39009 (datetime_mod_SOURCES): New macro.
39010 (datetime_mod_CFLAGS): Likewise.
39011 (datetime_mod_LDFLAGS): Likewise.
39012 (date_mod_SOURCES): Likewise.
39013 (date_mod_CFLAGS): Likewise.
39014 (date_mod_LDFLAGS): Likewise.
39015 (datehook_mod_SOURCES): Likewise.
39016 (datehook_mod_CFLAGS): Likewise.
39017 (datehook_mod_LDFLAGS): Likewise.
39018
39019 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39020 and datehook.mod.
39021 (datetime_mod_SOURCES): New macro.
39022 (datetime_mod_CFLAGS): Likewise.
39023 (datetime_mod_LDFLAGS): Likewise.
39024 (date_mod_SOURCES): Likewise.
39025 (date_mod_CFLAGS): Likewise.
39026 (date_mod_LDFLAGS): Likewise.
39027 (datehook_mod_SOURCES): Likewise.
39028 (datehook_mod_CFLAGS): Likewise.
39029 (datehook_mod_LDFLAGS): Likewise.
39030
39031 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39032 and datehook.mod.
39033 (datetime_mod_SOURCES): New macro.
39034 (datetime_mod_CFLAGS): Likewise.
39035 (datetime_mod_LDFLAGS): Likewise.
39036 (date_mod_SOURCES): Likewise.
39037 (date_mod_CFLAGS): Likewise.
39038 (date_mod_LDFLAGS): Likewise.
39039 (datehook_mod_SOURCES): Likewise.
39040 (datehook_mod_CFLAGS): Likewise.
39041 (datehook_mod_LDFLAGS): Likewise.
39042
39043 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39044 and datehook.mod.
39045 (datetime_mod_SOURCES): New macro.
39046 (datetime_mod_CFLAGS): Likewise.
39047 (datetime_mod_LDFLAGS): Likewise.
39048 (date_mod_SOURCES): Likewise.
39049 (date_mod_CFLAGS): Likewise.
39050 (date_mod_LDFLAGS): Likewise.
39051 (datehook_mod_SOURCES): Likewise.
39052 (datehook_mod_CFLAGS): Likewise.
39053 (datehook_mod_LDFLAGS): Likewise.
39054
39055 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
39056 and datehook.mod.
39057 (datetime_mod_SOURCES): New macro.
39058 (datetime_mod_CFLAGS): Likewise.
39059 (datetime_mod_LDFLAGS): Likewise.
39060 (date_mod_SOURCES): Likewise.
39061 (date_mod_CFLAGS): Likewise.
39062 (date_mod_LDFLAGS): Likewise.
39063 (datehook_mod_SOURCES): Likewise.
39064 (datehook_mod_CFLAGS): Likewise.
39065 (datehook_mod_LDFLAGS): Likewise.
39066
39067 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39068
39069 * commands/date.c: New file.
39070
39071 * hook/datehook.c: Likewise.
39072
39073 * include/grub/lib/datetime.h: Likewise.
39074
39075 * include/grub/i386/cmos.h: Likewise.
39076
39077 * lib/datetime.c: Likewise.
39078
39079 * lib/i386/datetime.c: Likewise.
39080
39081 * lib/efi/datetime.c: Likewise.
39082
0e9242da 390832008-08-14 Robert Millan <rmh@aybabtu.com>
39084
39085 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39086 (grub_mkelfimage_SOURCES): New variable.
39087 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39088
39089 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39090 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39091 * conf/powerpc-ieee1275.rmk: Likewise.
39092 * conf/i386-ieee1275.rmk: Likewise.
39093
39094 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39095 * kern/i386/coreboot/init.c: Likewise.
39096
39097 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39098 with `<grub/cpu/kernel.h>'.
39099 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39100 to ...
39101 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39102 * kern/i386/coreboot/startup.S: Likewise.
39103
39104 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39105 (GRUB_MOD_GAP): Remove.
39106 * include/grub/powerpc/kernel.h: New file.
39107 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39108 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39109 * include/grub/i386/kernel.h: New file.
39110 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39111 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39112 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39113
39114 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39115 `grub-mkelfimage'.
39116 Use --directory when invoking grub_mkimage.
39117
39118 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39119 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39120 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39121 and GRUB_KERNEL_CPU_PREFIX.
39122
b86408f8 391232008-08-14 Felix Zielcke <fzielcke@z-51.de>
39124
d5e619ca 39125 * include/grub/err.h (grub_err_printf): New function prototype.
39126 * util/misc.c (grub_err_printf): New function.
39127 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39128 grub_printf.
39129 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 39130
7161f0e0 391312008-08-13 Robert Millan <rmh@aybabtu.com>
39132
39133 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39134
a1967522 391352008-08-13 Robert Millan <rmh@aybabtu.com>
39136
39137 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39138 boot entry.
39139
371458b5 391402008-08-12 Robert Millan <rmh@aybabtu.com>
39141
39142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39143 of the relocation code from here ...
39144 (grub_multiboot): ... to here.
39145 (forward_relocator, backward_relocator): Move from here ...
39146 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39147 (grub_multiboot_backward_relocator): ... to here.
39148 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39149 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39150 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39151 (grub_multiboot_forward_relocator_end)
39152 (grub_multiboot_backward_relocator)
39153 (grub_multiboot_backward_relocator_end): New variables.
39154
05f9452b 391552008-08-12 Bean <bean123ch@gmail.com>
39156
39157 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39158
20024ab0 391592008-08-11 Robert Millan <rmh@aybabtu.com>
39160
39161 * kern/i386/linuxbios/startup.S: Move from here ...
39162 * kern/i386/coreboot/startup.S: ... to here.
39163
39164 * kern/i386/linuxbios/init.c: Move from here ...
39165 * kern/i386/coreboot/init.c: ... to here.
39166
39167 * kern/i386/linuxbios/table.c: Move from here ...
39168 * kern/i386/coreboot/mmap.c: ... to here.
39169
39170 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39171
e352e9cd 391722008-08-11 Robert Millan <rmh@aybabtu.com>
39173
39174 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39175 errors. Leave it to the upper layer to handle them.
39176
2d05bc6a 391772008-08-09 Christian Franke <franke@computer.org>
39178
39179 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39180 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39181 Install `grub.d/10_windows' only on Cygwin.
39182 * configure.ac: Add subst of `target_os'.
39183 Check `target_os' also before setting TARGET_OBJ2ELF.
39184 Add `--enable-grub-pe2elf'.
39185
042bd419 391862008-08-08 Robert Millan <rmh@aybabtu.com>
39187
39188 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39189 (grub_last_time): Change type to grub_uint64_t.
39190 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39191 (grub_disk_close): Likewise.
39192
39193 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39194 (run_menu): Migrate code from to using grub_get_time_ms().
39195
39196 * util/misc.c (grub_get_time_ms): New function.
39197
7f280db5 391982008-08-08 Marco Gerards <marco@gnu.org>
39199
39200 * disk/ata.c (grub_ata_regget): Change return type to
39201 `grub_uint8_t'.
39202 (grub_ata_regget2): Likewise.
39203 (grub_ata_wait_status): New function.
39204 (grub_ata_wait_busy): Removed function, updated all users to use
39205 `grub_ata_wait_status'.
39206 (grub_ata_wait_drq): Likewise.
39207 (grub_ata_cmd): New function.
39208 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39209 error handling.
39210 (grub_ata_pio_write): Add error handling.
39211 (grub_atapi_identify): Likewise.
39212 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39213 handling.
39214 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39215 handling. Actually use the detected registers. Reorder the
39216 detection logic such that it is easier to read.
39217 (grub_ata_pciinit): Do not assign the same ID to each controller.
39218 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39219 handling.
39220 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39221
39222 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39223
1fbc5e66 392242008-08-08 Marco Gerards <marco@gnu.org>
39225
39226 * NEWS: Update.
39227
819ce6c0 392282008-08-07 Bean <bean123ch@gmail.com>
39229
39230 * include/grub/x86_64/pci.h: New file.
39231
5c41d44d 392322008-08-07 Christian Franke <franke@computer.org>
39233
39234 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39235 (TIMER2_GATE): Likewise.
39236 (grub_pit_wait): Add enable/disable of the timer2 gate
39237 bit of port 0x61. This fixes a possible infinite loop.
39238
5ebc275d 392392008-08-07 Bean <bean123ch@gmail.com>
39240
39241 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39242 kern/i386/tsc.c and kern/i386/pit.c.
39243
39244 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39245 x86_64 platform.
39246
39247 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39248 <grub/i386/tsc.h>.
39249
39250 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39251
e383b3d0 392522008-08-07 Bean <bean123ch@gmail.com>
39253
39254 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39255
39256 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39257
39258 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39259 multiple inclusion. Add #include <grub/types.h>.
39260
1cbb58ac 392612008-08-06 Christian Franke <franke@computer.org>
39262
39263 * conf/common.rmk: Build and install `10_windows'.
39264 * util/grub.d/10_windows.in: New script.
39265
337f5a1e 392662008-08-06 Pavel Roskin <proski@gnu.org>
39267
39268 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39269
057bc4ac 392702008-08-06 Robert Millan <rmh@aybabtu.com>
39271
39272 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39273 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39274
2b99f123 392752008-08-06 Bean <bean123ch@gmail.com>
39276
39277 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39278 (grub_pxefs_fs_int): Remove dummy definition.
39279 (grub_pxefs_open): Use data->block_size to store the current block
39280 size setting.
39281 (grub_pxefs_read): Use block size stored in data->block_size. As the
39282 value of grub_pxe_blksize can be changed after the file is opened.
39283
9f0234cb 392842008-08-06 Bean <bean123ch@gmail.com>
39285
39286 * fs/i386/pc/pxe.c (curr_file): new variable.
39287 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39288 require the dummy internal file system anymore.
39289 (grub_pxefs_read): Removed.
39290 (grub_pxefs_close): Likewise.
39291 (grub_pxefs_fs_int): Likewise.
39292 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39293 connection when we switch file.
39294 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39295
a55d42e0 392962008-08-06 Robert Millan <rmh@aybabtu.com>
39297
39298 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39299 `halt.mod'.
39300 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39301 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39302
39303 * kern/i386/halt.c: New file.
39304 * kern/i386/reboot.c: Likewise.
39305 * include/grub/i386/reboot.h: Likewise.
39306 * include/grub/i386/halt.h: Likewise.
39307
39308 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39309 Include `<grub/cpu/halt.h>'.
39310 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39311 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39312
39313 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39314 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39315 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39316 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39317 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39318 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39319 from here ...
39320 * include/grub/i386/at_keyboard.h: ... to here.
39321
24371d26 393222008-08-05 Robert Millan <rmh@aybabtu.com>
39323
39324 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39325 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39326 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39327 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39328 `kern/generic/millisleep.c'.
39329
39330 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39331 instead of grub_get_rtc().
39332 (grub_tsc_init): Initialize `tsc_boot_time'.
39333
39334 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39335 (grub_machine_init): Use grub_tsc_init() rather than
39336 installing an RTC-based handler via grub_install_get_time_ms().
39337
39338 * kern/i386/pit.c: New file.
39339 * include/grub/i386/pit.h: Likewise.
39340
9e7007b3 393412008-08-05 Bean <bean123ch@gmail.com>
39342
39343 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39344
39345 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39346 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39347 (pxe_mod_SOURCES): New macro.
39348 (pxe_mod_CFLAGS): Likewise.
39349 (pxe_mod_LDFLAGS): Likewise.
39350 (pxecmd_mod_SOURCES): Likewise.
39351 (pxecmd_mod_CFLAGS): Likewise.
39352 (pxecmd_mod_LDFLAGS): Likewise.
39353
39354 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39355 (grub_pxe_call): Likewise.
39356
39357 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39358
39359 * commands/i386/pc/pxecmd.c: New file.
39360
9f0234cb 39361 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 39362
39363 * include/grub/i386/pc/pxe.h: Likewise.
39364
6977d49f 393652008-08-05 Bean <bean123ch@gmail.com>
39366
39367 * util/console.c (grub_console_cur_color): New variable.
39368 (grub_console_standard_color): Likewise.
39369 (grub_console_normal_color): Likewise.
39370 (grub_console_highlight_color): Likewise.
39371 (color_map): Likewise.
39372 (use_color): Likewise.
39373 (NUM_COLORS): New macro.
39374 (grub_ncurses_setcolorstate): Handle color properly.
39375 (grub_ncurses_setcolor): Don't change color here, just remember the
39376 settings, color will be set in grub_ncurses_setcolorstate.
39377 (grub_ncurses_getcolor): New function.
39378 (grub_ncurses_init): Initialize color pairs.
39379 (grub_ncurses_term): New member grub_ncurses_getcolor.
39380
9c2ff3ee 393812008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 39382
9c2ff3ee 39383 High resolution timer support. Implemented for x86 CPUs using TSC.
39384 Extracted generic grub_millisleep() so it's linked in only as needed.
39385 This requires a Pentium compatible CPU; if the RDTSC instruction is
39386 not supported, then it falls back on the generic grub_get_time_ms()
39387 implementation that uses the machine's RTC.
39388
39389 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39390 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39391 `kern/generic/millisleep.c'.
39392
39393 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39394 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39395
39396 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39397 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39398
39399 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39400
39401 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39402 `kern/generic/millisleep.c'.
39403
39404 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39405
39406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39407
39408 * kern/generic/rtc_get_time_ms.c: New file.
39409
39410 * kern/generic/millisleep.c: New file.
337f5a1e 39411
9c2ff3ee 39412 * kern/misc.c: Don't include
39413 <kern/time.h> anymore.
39414 (grub_millisleep_generic): Removed.
39415
39416 * commands/sleep.c (grub_interruptible_millisleep): Uses
39417 grub_get_time_ms() instead of grub_get_rtc().
39418
39419 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39420 function.
39421 (grub_cpu_is_cpuid_supported): New inline function.
39422 (grub_cpu_is_tsc_supported): New inline function.
39423 (grub_tsc_init): New function prototype.
39424 (grub_tsc_get_time_ms): New function prototype.
39425
39426 * kern/i386/tsc.c (grub_get_time_ms): New file.
39427
39428 * include/grub/time.h: Include <grub/types.h.
39429 (grub_millisleep_generic): Removed.
39430 (grub_get_time_ms): New prototype.
39431 (grub_install_get_time_ms): New prototype.
39432 (grub_rtc_get_time_ms): New prototype.
39433
39434 * kern/time.c (grub_get_time_ms): New function.
39435 (grub_install_get_time_ms): New function.
39436
39437 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39438 <grub/time.h> anymore.
39439 (grub_millisleep): Removed.
39440 (grub_machine_init): Call grub_tsc_init.
39441
39442 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39443 get_time_ms() implementation.
39444
39445 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39446 (ieee1275_get_time_ms): New function.
39447 (grub_machine_init): Install get_time_ms() implementation.
39448
39449 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39450 (grub_machine_init): Call grub_tsc_init().
39451 (grub_millisleep): Removed.
bf06a93f 39452
9c2ff3ee 39453 * kern/ieee1275/init.c (grub_millisleep): Removed.
39454 (grub_machine_init): Install ieee1275_get_time_ms()
39455 implementation.
39456 (ieee1275_get_time_ms): New function.
39457 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39458 real work.
39459
9ec92aaf 394602008-08-05 Marco Gerards <marco@gnu.org>
39461
39462 * disk/ata.c: Include <grub/pci.h>.
39463 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39464 (grub_ata_initialize): Rewritten.
39465 (grub_ata_device_initialize): New function.
39466
8d23f507 394672008-08-04 Pavel Roskin <proski@gnu.org>
39468
39469 * kern/main.c: Include grub/mm.h.
39470
5e15ee3d 394712008-08-04 Robert Millan <rmh@aybabtu.com>
39472
39473 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39474 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39475 corruption problem).
39476
a9053f8f 394772008-08-04 Robert Millan <rmh@aybabtu.com>
39478
39479 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39480 warnings introduced in my last commit.
39481
dd19c7d7 394822008-08-03 Robert Millan <rmh@aybabtu.com>
39483
39484 Make PCI available on all i386 architectures.
39485
39486 * include/grub/i386/pc/pci.h: Move from here ...
39487 * include/grub/i386/pci.h: ... to here.
39488
39489 * include/grub/i386/pc/pci.h: Remove.
39490 * include/grub/i386/efi/pci.h: Remove.
39491 * include/grub/x86_64/efi/pci.h: Remove.
39492
39493 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39494 `<grub/cpu/pci.h>'.
39495
39496 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39497 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39498 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39499
39500 * conf/i386-ieee1275.rmk: Likewise.
39501
e14a6184 395022008-08-03 Robert Millan <rmh@aybabtu.com>
39503
39504 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39505 (grub_console_setcursor): Make it possible to set cursor off.
39506
52768e37 395072008-08-03 Robert Millan <rmh@aybabtu.com>
39508
39509 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39510 of modules instead of assuming which platform provides what.
39511 * util/update-grub.in: Likewise.
39512
2d52f57f 395132008-08-03 Robert Millan <rmh@aybabtu.com>
39514
39515 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39516 instead of `grub_install_dos_part' to determine whether a drive needs
39517 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39518 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39519
2a5cd121 395202008-08-02 Robert Millan <rmh@aybabtu.com>
39521
39522 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39523
93808428 395242008-08-02 Robert Millan <rmh@aybabtu.com>
39525
39526 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39527 of informational grub_dprintf() calls.
39528
3bd0a12a 395292008-08-02 Robert Millan <rmh@aybabtu.com>
39530
39531 * disk/memdisk.c (memdisk_size): Don't initialize.
39532 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39533
39534 * include/grub/i386/pc/kernel.h
39535 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39536 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39537 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39538 (grub_arch_memdisk_size): Remove.
39539
39540 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39541 field (was only used to transfer a constant). Add `type' field to
39542 support multiple module types.
39543 (grub_module_iterate): New function.
39544
39545 * kern/device.c (grub_device_open): Do not hide error messages
39546 when grub_disk_open() fails. Use grub_print_error() instead.
39547
39548 * kern/i386/pc/init.c (grub_arch_modules_addr)
39549 (grub_arch_memdisk_size): Remove functions.
39550 (grub_arch_modules_addr): Return the module address in high memory
39551 (now that it isn't copied anymore).
39552
39553 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39554 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39555 decompression routine (grub_total_module_size already includes that
39556 now). Don't copy modules back to low memory.
39557
39558 * kern/main.c: Include `<grub/mm.h>'.
39559 (grub_load_modules): Split out (and use) ...
39560 (grub_module_iterate): ... this function, which iterates through
39561 module objects and runs a hook.
39562 Comment out grub_mm_init_region() call, as it would cause non-ELF
39563 modules to be overwritten.
39564
39565 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39566 the memdisk image in its own region, make it part of the module list.
39567 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39568 (main): Parse --memdisk|-m option, and pass user-provided path as
39569 parameter to generate_image().
39570 (add_segments): Pass `memdisk_path' down to load_modules().
39571 (load_modules): Embed memdisk image in module section when requested.
39572 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39573 `header.type' instead of `header.offset'.
39574
39575 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39576 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39577 (memdisk_mod_LDFLAGS): New variables.
39578 * conf/i386-coreboot.rmk: Likewise.
39579 * conf/i386-ieee1275.rmk: Likewise.
39580
a927cc73 395812008-08-02 Robert Millan <rmh@aybabtu.com>
39582
39583 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39584 (backward_relocator): New variables. Used to allocate and relocate
39585 the payload, respectively.
39586 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39587 address, install the appropriate relocator code in each bound of
a927cc73 39588 the payload, and set the entry point such that
39589 grub_multiboot_real_boot() will jump to one of them.
39590
39591 * kern/i386/loader.S (grub_multiboot_payload_size)
39592 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39593 (grub_multiboot_payload_entry_offset): New variables.
39594 (grub_multiboot_real_boot): Set cpu context to what the relocator
39595 expects, and jump to the relocator instead of the payload.
39596
39597 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39598 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39599 (grub_multiboot_payload_entry_offset): Export.
39600
b15d8a0c 396012008-08-01 Bean <bean123ch@gmail.com>
39602
39603 * normal/menu_entry.c (editor_getline): Don't return the original
39604 string as result, as it will be released by lexer once it has done
39605 using it.
39606
cdfb3d22 396072008-08-01 Robert Millan <rmh@aybabtu.com>
39608
39609 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39610 within menuentries, not before them.
39611 util/grub.d/10_hurd.in: Likewise.
39612
9175e93d 396132008-08-01 Bean <bean123ch@gmail.com>
39614
39615 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39616 (bufio_mod_SOURCES): New macro.
39617 (bufio_mod_CFLAGS): Likewise.
39618 (bufio_mod_LDFLAGS): Likewise.
39619
39620 * include/grub/bufio.h: New file.
39621
39622 * io/bufio.c: Likewise.
39623
39624 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39625 (grub_video_reader_png): Use grub_buffile_open to open file.
39626
39627 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39628 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39629
39630 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39631 (grub_video_reader_tga): Use grub_buffile_open to open file.
39632
39633 * font/manager.c: Include <grub/bufio.h>.
39634 (add_font): Use grub_buffile_open to open file.
39635
3d8383e7 396362008-07-31 Robert Millan <rmh@aybabtu.com>
39637
39638 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39639 ELF segments, use a macro for arbitrarily accessing any of them instead
39640 of preparing a pointer that allows access to one at a time.
39641 (grub_multiboot_load_elf64): Likewise.
39642
16e641b6 396432008-07-31 Bean <bean123ch@gmail.com>
39644
39645 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39646 GRUB_KERNEL_MACHINE_DATA_END.
39647
59198b72 396482008-07-30 Robert Millan <rmh@aybabtu.com>
39649
39650 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39651 Increase from 0x50 to 0x60.
39652 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39653 use UUIDs to identify the root drive for them. If that's not
39654 possible, abort.
39655 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39656 check, for cross-disk installs.
39657
ae88bca3 396582008-07-30 Robert Millan <rmh@aybabtu.com>
39659
39660 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39661 is non-empty, use it to set the `prefix' environment variable instead
39662 of the usual approach.
39663 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39664 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39665 environment variable instead of dummy make_install_device().
39666
39667 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39668 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39669 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39670
39671 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39672 New variable reference.
39673 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39674 New macro. Defines offset of `grub_prefix' within startup.S (relative
39675 to `start').
39676 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39677 section within startup.S (relative to `start').
39678 * include/grub/i386/coreboot/kernel.h: Likewise.
39679
39680 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39681 Overwrite grub_prefix with its contents, at the beginning of the
39682 first segment.
39683 (main): Understand -p|--prefix.
39684
14f41dd1 396852008-07-30 Robert Millan <rmh@aybabtu.com>
39686
39687 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39688
4ca049a3 396892008-07-30 Robert Millan <rmh@aybabtu.com>
39690
39691 * term/i386/pc/vga_text.c (grub_console_cls): Use
39692 grub_console_gotoxy() to go back to beginning of the screen.
39693 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39694
2921d337 396952008-07-29 Christian Franke <franke@computer.org>
39696
39697 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39698 Add conversion of emulated mount points on Cygwin.
39699
b609876d 397002008-07-29 Christian Franke <franke@computer.org>
39701
39702 * util/update-grub.in: Add a check for admin
39703 group on Cygwin.
39704 Remove old `grub.cfg.new' before creation.
39705 Add `-f' to `mv' to handle the different filesystem
39706 semantics of Windows.
39707
e93e4679 397082008-07-29 Bean <bean123ch@gmail.com>
39709
39710 * normal/main.c (get_line): Fix buffer overflow bug.
39711
41694fd0 397122008-07-28 Robert Millan <rmh@aybabtu.com>
39713
39714 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39715 (struct grub_apple_header): New struct. Describes the layout of
39716 the partmap header.
39717 (apple_partition_map_iterate): Check the header magic as well as the
39718 partition magic (which was already being checked).
39719
cfd0b4e6 397202008-07-28 Pavel Roskin <proski@gnu.org>
39721
39722 * genmk.rb: Add a warning to the beginning of the output that
39723 it's a generated file and should not be edited.
39724
93cce016 397252008-07-28 Robert Millan <rmh@aybabtu.com>
39726
39727 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39728 with the same number are found, just use issue a warning with
39729 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39730
cd1df915 397312008-07-27 Robert Millan <rmh@aybabtu.com>
39732
39733 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39734 information.
39735
b70a8427 397362008-07-27 Bean <bean123ch@gmail.com>
39737
39738 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39739 (grub_fat_find_dir): Ignore case when comparing filename.
39740
8f5e379f 397412008-07-27 Bean <bean123ch@gmail.com>
39742
39743 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39744 smallino, as it's more descriptive, and i8count can be confused with
39745 the other field count.
39746 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39747 inode type.
39748
a85cd5a0 397492008-07-27 Bean <bean123ch@gmail.com>
39750
39751 * commands/crc.c: New file.
39752
39753 * lib/crc.c: Likewise.
39754
39755 * include/grub/lib/crc.h: Likewise.
39756
39757 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39758
39759 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39760 (hexdump): Move this function to ...
39761
39762 * lib/hexdump.c: ... here.
39763
39764 * include/grub/hexdump.h: Renamed to ...
39765
39766 * include/grub/lib/hexdump.h: ... this.
39767
39768 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39769
39770 * util/grub-editenv.c: Likewise.
39771
39772 * include/envblk.h: Renamed to ...
39773
39774 * include/lib/envblk.h: ... this.
39775
39776 * util/envblk.c: Renamed to ...
39777
39778 * lib/envblk.c: ... this.
39779
39780 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39781 lib/hexdump.c.
39782 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39783 (pkglib_MODULES): Add crc.mod.
39784 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39785 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39786 (crc_mod_SOURCES): New macro.
39787 (crc_mod_CFLAGS): Likewise.
39788 (crc_mod_LDFLAGS): Likewise.
39789
39790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39791
39792 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39793
39794 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39795
39796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39797
39798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39799
c298def0 398002008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39801
39802 * commands/help.c: Include <grub/term.h>.
39803 (TERM_WIDTH): Removed. Updated all users.
39804
cc349fb3 398052008-07-27 Pavel Roskin <proski@gnu.org>
39806
39807 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39808 spurious warnings about a comment within a comment.
39809
9051607e 398102008-07-25 Robert Millan <rmh@aybabtu.com>
39811
39812 * util/getroot.c (find_root_device): Skip devices that match
39813 /dev/dm-[0-9]. This lets the real device be found for any type of
39814 abstraction (LVM, EVMS, RAID..).
39815 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39816 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39817 device is found first, find_root_device() will now skip it.
39818
01453bfc 398192008-07-24 Pavel Roskin <proski@gnu.org>
39820
39821 * include/grub/types.h: Use __builtin_bswap32() and
39822 __builtin_bswap64() with gcc 4.3 and newer.
39823
6af9849f 398242008-07-24 Christian Franke <franke@computer.org>
39825
3a0fa256 39826 * util/i386/pc/grub-install.in: If `--debug' is specified,
39827 pass `--verbose' to grub-setup.
39828 Abort script if make_system_path_relative_to_its_root() fails.
39829
7810e747 398302008-07-24 Bean <bean123ch@gmail.com>
39831
39832 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39833 variable `target_platform' should be `platform'.
39834
42290e17 398352008-07-24 Bean <bean123ch@gmail.com>
39836
51cc5193 39837 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39838 (grub_png_init_fixed_block): New function.
39839 (grub_png_decode_image_data): Handle fixed huffman code compression.
39840
2a8a80e4 398412008-07-24 Bean <bean123ch@gmail.com>
39842
39843 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39844 (grub_pe2elf_SOURCES): New macro.
39845 (CLEANFILES): Add grub-pe2elf.
39846
39847 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39848 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39849 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39850 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39851 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39852 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39853 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39854 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39855 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39856 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39857 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39858 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39859 (GRUB_PE32_DT_FUNCTION): Likewise.
39860 (GRUB_PE32_REL_I386_DIR32): Likewise.
39861 (GRUB_PE32_REL_I386_REL32): Likewise.
39862 (grub_pe32_symbol): New structure.
39863 (grub_pe32_reloc): Likewise.
39864
39865 * util/grub-pe2elf.c: New file.
39866
39867 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39868 start symbol in non pc platform.
39869
39870 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39871
39872 The following patches are from Christian Franke.
39873
39874 * include/grub/dl.h: Remove .previous, gas supports this only
39875 for ELF format.
39876
39877 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39878 Remove .type, gas supports this only for ELF format.
39879
39880 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39881 nullbytes in symbol table. This fixes an infinite loop if table is
39882 zero filled.
39883
39884 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39885 TARGET_IMG_LDFLAGS and EXEEXT.
39886
39887 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39888 TARGET_IMG_LDFLAGS_AC.
39889 (grub_CHECK_STACK_ARG_PROBE): New function.
39890
39891 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39892
39893 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39894
39895 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39896 to set TARGET_IMG_LD* accordingly.
39897 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39898 Add call to grub_CHECK_STACK_ARG_PROBE.
39899 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39900
39901 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39902
39903 * genmk.rb: Add EXEEXT to CLEANFILES.
39904
12ccdb75 399052008-07-23 Robert Millan <rmh@aybabtu.com>
39906
39907 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39908 define the codes for arrows and lines used for the menu).
39909 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39910 as well.
39911
39912 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39913 fonts, because the latter are too slow.
39914
18eeaf04 399152008-07-21 Bean <bean123ch@gmail.com>
39916
39917 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39918 a20. Run keyboard test last, as it will cause macbook to halt.
39919
b095e2ad 399202008-07-18 Pavel Roskin <proski@gnu.org>
39921
39922 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39923 load foreign architecture modules correctly anyway. Keep
39924 support for loading host architecture modules, whether we
39925 compile them or not.
39926
737feb35 399272008-07-17 Pavel Roskin <proski@gnu.org>
39928
3f4ce737 39929 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39930 change target_cpu. The compiler default can mismatch target_cpu
39931 in any case.
39932
4ad2d049 39933 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39934 * kern/efi/efi.c: Likewise.
39935
f6130a12 39936 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39937 target compiler is functional.
39938 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39939 are set up.
39940
58393a2d 39941 * configure.ac: Default to efi platform for x86_64-apple. Allow
39942 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39943 adjustments from the rest, only do them if target is not
39944 explicitly given. Merge other adjustments with the final sanity
39945 check. Remove an extraneous check for supported CPU. Be
39946 specific which CPU and which platform is not supported.
39947
737feb35 39948 * configure.ac: Default to pc platform for x86_64.
39949
546f966a 399502008-07-17 Robert Millan <rmh@aybabtu.com>
39951
39952 Partial LinuxBIOS -> Coreboot rename.
39953
39954 * conf/i386-linuxbios.rmk: Renamed to ...
39955 * conf/i386-coreboot.rmk: ... this.
39956 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39957 * configure.ac: Accept "coreboot" as input platform (but maintain
39958 compatibility with "linuxbios").
39959 * include/grub/i386/linuxbios: Renamed to ...
39960 * include/grub/i386/coreboot: ... this.
39961
20011694 399622008-07-17 Bean <bean123ch@gmail.com>
39963
39964 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39965 (appleldr_mod_SOURCE): New variable.
20011694 39966 (appleldr_mod_CFLAGS): Likewise.
39967 (appleldr_mod_LDFLAGS): Likewise.
39968 (pci_mod_SOURCES): Likewise.
39969 (pci_mod_CFLAGS): Likewise.
39970 (pci_mod_LDFLAGS): Likewise.
39971 (lspci_mod_SOURCES): Likewise.
39972 (lspci_mod_CFLAGS): Likewise.
39973 (lspci_mod_LDFLAGS): Likewise.
39974
39975 * conf/x86_64-efi.rmk: New file.
39976
39977 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39978 macro.
39979 (grub_efidisk_write): Likewise.
39980
39981 * include/efi/api.h (efi_call_0): New macro.
39982 (efi_call_1): Likewise.
39983 (efi_call_2): Likewise.
39984 (efi_call_3): Likewise.
39985 (efi_call_4): Likewise.
39986 (efi_call_5): Likewise.
39987 (efi_call_6): Likewise.
39988
39989 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39990 grub_rescue_cmd_chainloader.
39991
39992 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39993 (grub_pe32_optional_header): Change some fields based on i386 or
39994 x86_64 platform.
39995 (GRUB_PE32_PE32_MAGIC): Likewise.
39996
39997 * include/grub/efi/uga_draw.h: New file.
39998
39999 * include/grub/elf.h (STN_ABS): New constant.
40000 (R_X86_64_NONE): Relocation constant for x86_64.
40001 (R_X86_64_64): Likewise.
40002 (R_X86_64_PC32): Likewise.
40003 (R_X86_64_GOT32): Likewise.
40004 (R_X86_64_PLT32): Likewise.
40005 (R_X86_64_COPY): Likewise.
40006 (R_X86_64_GLOB_DAT): Likewise.
40007 (R_X86_64_JUMP_SLOT): Likewise.
40008 (R_X86_64_RELATIVE): Likewise.
40009 (R_X86_64_GOTPCREL): Likewise.
40010 (R_X86_64_32): Likewise.
40011 (R_X86_64_32S): Likewise.
40012 (R_X86_64_16): Likewise.
40013 (R_X86_64_PC16): Likewise.
40014 (R_X86_64_8): Likewise.
40015 (R_X86_64_PC8): Likewise.
40016
40017 * include/grub/i386/efi/pci.h: New file.
40018
40019 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
40020 Change it value based on platform.
40021 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
40022 (GRUB_E820_RAM): Likewise.
40023 (GRUB_E820_RESERVED): Likewise.
40024 (GRUB_E820_ACPI): Likewise.
40025 (GRUB_E820_NVS): Likewise.
40026 (GRUB_E820_EXEC_CODE): Likewise.
40027 (GRUB_E820_MAX_ENTRY): Likewise.
40028 (grub_e820_mmap): New structure.
40029 (linux_kernel_header): Change the efi field according to different
40030 kernel version, also field from linux_kernel_header.
40031
40032 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
40033
40034 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
40035 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
40036 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
40037 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
40038 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
40039 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
40040 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
40041 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
40042 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
40043 (GRUB_PCI_ADDR_IO_MASK): Likewise.
40044
40045 * include/grub/x86_64/efi/kernel.h: New file.
40046
40047 * include/grub/x86_64/efi/loader.h: Likewise.
40048
40049 * include/grub/x86_64/efi/machine.h: Likewise.
40050
40051 * include/grub/x86_64/efi/pci.h: Likewise.
40052
40053 * include/grub/x86_64/efi/time.h: Likewise.
40054
40055 * include/grub/x86_64/linux.h: Likewise.
40056
40057 * include/grub/x86_64/setjmp.h: Likewise.
40058
40059 * include/grub/x86_64/time.h: Likewise.
40060
40061 * include/grub/x86_64/types.h: Likewise.
40062
40063 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40064 GRUB_TARGET_SIZEOF_VOID_P.
40065
40066 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40067 (grub_efi_locate_handle): Likewise.
40068 (grub_efi_open_protocol): Likewise.
40069 (grub_efi_set_text_mode): Likewise.
40070 (grub_efi_stall): Likewise.
40071 (grub_exit): Likewise.
40072 (grub_reboot): Likewise.
40073 (grub_halt): Likewise.
40074 (grub_efi_exit_boot_services): Likewise.
40075 (grub_get_rtc): Likewise.
40076
40077 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40078 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40079 (grub_efi_allocate_pages): Wrap efi calls.
40080 (grub_efi_free_pages): Wrap efi calls.
40081 (grub_efi_get_memory_map): Wrap efi calls.
40082
40083 * kern/x86_64/dl.c: New file.
40084
40085 * kern/x86_64/efi/callwrap.S: Likewise.
40086
40087 * kern/x86_64/efi/startup.S: Likewise.
40088
40089 * loader/efi/appleloader.c: Likewise.
40090
40091 * loader/efi/chainloader.c (cmdline): New variable.
40092 (grub_chainloader_unload): Wrap efi calls.
40093 (grub_chainloader_boot): Likewise.
40094 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40095 command line.
40096
40097 * loader/efi/chainloader_normal.c (chainloader_command):
40098 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40099 command line.
40100
40101 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40102 method.
40103 (grub_e820_add_region): New function.
40104 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40105 booting.
40106 (grub_find_video_card): New function.
40107 (grub_linux_setup_video): New function.
40108 (grub_rescue_cmd_linux): Probe for video information.
40109
40110 * normal/x86_64/setjmp.S: New file.
40111
40112 * term/efi/console.c (map_char): New function.
40113 (grub_console_putchar): Map unicode char.
40114 (grub_console_checkkey): Wrap efi calls.
40115 (grub_console_getkey): Likewise.
40116 (grub_console_getwh): Likewise.
40117 (grub_console_gotoxy): Likewise.
40118 (grub_console_cls): Likewise.
40119 (grub_console_setcolorstate): Likewise.
40120 (grub_console_setcursor): Likewise.
40121
40122 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40123
59652a20 401242008-07-16 Pavel Roskin <proski@gnu.org>
40125
ef294055 40126 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40127 format strings.
40128
59652a20 40129 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40130 pointer, not an integer. This fixes a warning and prevents
40131 precision loss on 64-bit systems.
40132 (relocate_addresses): Remove unneeded cast.
40133
afc3b5d7 401342008-07-15 Pavel Roskin <proski@gnu.org>
40135
506b2b3e 40136 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40137
62ead89c 40138 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40139
c4cd51d7 40140 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40141 Fix comparison between signed and unsigned.
40142
0d3d8f28 40143 * include/grub/i386/ieee1275/console.h: Declare
40144 grub_console_init() and grub_console_fini().
40145
8804b286 40146 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40147 It's empty and unused.
40148
ee01cf35 40149 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40150 beginning to avoid warnings with some compilers.
40151
afc3b5d7 40152 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40153 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40154
e4e8eaa5 401552008-07-14 Pavel Roskin <proski@gnu.org>
40156
407aceb4 40157 * kern/env.c (grub_register_variable_hook): Don't copy empty
40158 string, it leaks memory. Pass "" to grub_env_set(), it should
40159 handle constant strings.
40160
e4e8eaa5 40161 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40162 * commands/cmp.c (grub_cmd_cmp): Likewise.
40163 * kern/dl.c (grub_dl_flush_cache): Likewise.
40164 (grub_dl_load_core): Likewise.
40165 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40166 (grub_elf64_load_phdrs): Likewise.
40167
d4e2dad3 401682008-07-13 Pavel Roskin <proski@gnu.org>
40169
40170 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40171 between signed and unsigned.
40172 (LzmaEnc_Finish): Fix warning about an unused parameter.
40173
aa24b516 401742008-07-13 Bean <bean123ch@gmail.com>
40175
40176 * Makefile.in (enable_lzo): New rule.
40177
40178 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40179
40180 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40181
40182 * boot/i386/pc/lnxboot.S: #include <config.h>.
40183
40184 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 40185 its value according to the compression algorithm used, lzo or lzma.
aa24b516 40186
40187 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40188 compression algorithm according to configure macro.
40189
40190 * kern/i386/pc/startup.S (codestart): Likewise.
40191
40192 * kern/i386/pc/lzma_decode.S: New file.
40193
40194 * include/grub/lib/LzFind.h: Likewise.
40195
40196 * include/grub/lib/LzHash.h: Likewise.
40197
40198 * include/grub/lib/LzmaDec.h: Likewise.
40199
40200 * include/grub/lib/LzmaEnc.h: Likewise.
40201
40202 * include/grub/lib/LzmaTypes.h: Likewise.
40203
40204 * lib/LzFind.c: Likewise.
40205
40206 * lib/LzmaDec.c: Likewise.
40207
40208 * lib/LzmaEnc.c: Likewise.
40209
4ae821ac 402102008-07-13 Bean <bean123ch@gmail.com>
40211
40212 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40213 (grub_ext4_extent_header): New structure.
40214 (grub_ext4_extent): Likewise.
40215 (grub_ext4_extent_idx): Likewise.
40216 (grub_ext4_find_leaf): New function.
40217 (grub_ext2_read_block): Handle extents.
40218
9a745147 402192008-07-12 Robert Millan <rmh@aybabtu.com>
40220
40221 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40222
d49a4cf6 402232008-07-11 Robert Millan <rmh@aybabtu.com>
40224
40225 * util/grub.d/40_custom.in: New file. Example on how to add custom
40226 entries to /etc/grub.d.
40227 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40228 40_custom (implicitly, by merging all the grub.d rules).
40229
947414b4 402302008-07-11 Pavel Roskin <proski@gnu.org>
40231
0059cf6f 40232 * commands/read.c (grub_getline): Fix invalid memory access.
40233 Don't add newline to the variable value.
40234
947414b4 40235 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40236 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40237 (serial_hw_get_port): Check validity of the port number.
40238 (grub_cmd_serial): Check return value of serial_hw_get_port().
40239
62a02d00 402402008-07-07 Pavel Roskin <proski@gnu.org>
40241
40242 * boot/i386/pc/diskboot.S (notification_string): Replace
40243 "Loading kernel" with just "loading". This is shorter, less
40244 confusing and saves a few bytes for possible future changes.
40245
3e5581b0 402462008-07-05 Pavel Roskin <proski@gnu.org>
40247
ea387a48 40248 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40249 size for ATAPI devices, they are undefined. Output sector
40250 number in decimal form.
40251
3e5581b0 40252 * disk/ata.c: Use named constants for status bits.
40253
fdecb8fd 402542008-07-04 Pavel Roskin <proski@gnu.org>
40255
bcd35b90 40256 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40257 grub_addr_t before casting it to the void pointer to fix a
40258 warning. Non-addressable regions are discarded earlier.
40259 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40260 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40261 (check_signature): Don't shadow table_header.
40262 (grub_linuxbios_table_iterate): Cast numeric constants to
40263 grub_linuxbios_table_header_t.
40264 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40265 grub_stop().
40266
af58ab3d 40267 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40268 prevent warnings.
40269
1759aa57 40270 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40271 pointer, which can cause warnings. Support 64-bit addresses.
40272
fdecb8fd 40273 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40274 of sizeof(long). This fixes PowerPC image generation on x86_64.
40275
8516d2a8 402762008-07-04 Robert Millan <rmh@aybabtu.com>
40277
40278 This fixes a performance issue when pc & gpt partmap iterators
40279 didn't abort iteration even after our hook found what it was
fe987087 40280 looking for (often causing expensive probes of non-existent drives).
8516d2a8 40281
40282 Some callers relied on previous buggy behaviour, since they would
34c44600 40283 raise an error when their own hooks caused early abortion of its
8516d2a8 40284 iteration.
40285
40286 * kern/device.c (grub_device_open): Improve error message.
40287 * disk/lvm.c (grub_lvm_open): Likewise.
40288 * disk/raid.c (grub_raid_open): Likewise.
40289
40290 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40291 when hook requests it, independently of grub_errno.
40292 (pc_partition_map_probe): Do not fail when find_func() caused
40293 early abortion of pc_partition_map_iterate().
40294
40295 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40296 when hook requests it, independently of grub_errno.
40297 (gpt_partition_map_probe): Do not fail when find_func() caused
40298 early abortion of gpt_partition_map_iterate().
40299
40300 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40301 when hook requests it, independently of grub_errno. Do not fail when
40302 part_map_iterate_hook() caused early abortion of p->iterate().
40303
40304 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40305 when grub_partition_iterate() returned with non-zero.
40306
277d0de9 403072008-07-03 Pavel Roskin <proski@gnu.org>
40308
40309 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40310 like we do in grub_ata_pio_read().
40311 (grub_ata_readwrite): Always write individual sectors. Fix the
40312 sector count for the remainder.
40313 (grub_ata_write): Enable writing to ATA devices. Correctly
40314 report error for ATAPI devices.
40315
d4c9b428 403162008-07-02 Pavel Roskin <proski@gnu.org>
40317
e43fc690 40318 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40319 warning.
40320
f707af42 40321 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40322 for every read sector, we already increment it for the whole
40323 batch. This fixes reading more than 256 sectors at once.
40324
11e16b15 40325 * util/grub-editenv.c (cmd_info): Cast argument to long
40326 explicitly. ptrdiff_t reduces to int on i386.
40327
cbabfdd4 40328 * util/grub-editenv.c (main): Be specific which parameter is
40329 missing.
40330
b8fbce0a 40331 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40332 (memdisk): Make memdisk_orig_addr a pointer.
40333
c9c8e606 40334 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40335 for file offsets, use grub_off_t instead. Fix printf format
40336 warnings.
40337
ca62e598 40338 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40339 there. Real unexpected warnings should not drown in the noise
40340 about known problems.
40341
ce8d1766 40342 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40343 grub_disk_addr_t for memory addresses.
40344
00c7a56a 40345 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40346 explicitly to fix a warning.
40347
08d3ef09 40348 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40349
cb71ba20 40350 * Makefile.in (MODULE_LDFLAGS): New variable.
40351 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40352 the linker accepts --build-id=none.
40353 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40354 MODULE_LDFLAGS.
40355 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40356
d4c9b428 40357 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40358 those in Linux XFS code. Provide a way to access 64-bit parent
40359 inode.
40360 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40361 the end of struct grub_xfs_dir_header.
40362
d4156eee 403632008-07-02 Bean <bean123ch@gmail.com>
40364
40365 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40366 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40367 and GRUB_IEEE1275_FLAG_NO_ANSI.
40368
40369 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40370 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40371 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40372
40373 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40374 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40375
40376 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40377 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40378
40379 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40380 esc sequence on non ANSI terminal.
40381 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40382
40383 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40384 beginning of file.
40385
2270f77b 403862008-07-02 Bean <bean123ch@gmail.com>
40387
40388 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40389 (grub_editenv_SOURCES): New variable.
40390 (pkglib_MODULES): Add loadenv.mod.
40391 (loadenv_mod_SOURCES): New variable.
40392 (loadenv_mod_CFLAGS): Likewise.
40393 (loadenv_mod_LDFLAGS): Likewise.
40394
40395 * include/grub/envblk.h: New file.
40396
40397 * util/envblk.c: New file.
40398
40399 * util/grub-editenv.c: New file.
40400
40401 * commands/loadenv.c: New file.
40402
0e9e51ec 404032008-07-01 Pavel Roskin <proski@gnu.org>
40404
d89b7634 40405 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40406 not unsigned char. This fixes warnings and is consistent with
40407 other tags.
40408
bf1835b1 40409 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40410
8222a04b 40411 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40412
6a42d99d 40413 * term/tparm.c (analyze): Always set *popcount.
40414
10b159d1 40415 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40416 cast to fix a warning.
40417
b8789f6c 40418 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40419 cast to suppress a warning.
40420
29d7e38a 40421 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40422 grub_fshelp_read_file() expects.
40423
f341f669 40424 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40425 write uuid as a 32-bit value in CPU byte order, so declare and
40426 use it as such.
40427
0e9e51ec 40428 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40429 long if the format specifier expects it.
40430 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40431 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40432 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40433 long to fix a warning.
40434 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40435 grub_dprintf() arguments to fix warnings.
40436
3aefa857 404372008-06-30 Pavel Roskin <proski@gnu.org>
40438
56c7668b 40439 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40440 install_bsd_part immediately before core.img is embedded or
40441 modified on disk. This fixes core.img verification if core.img
40442 cannot be embedded.
40443
3aefa857 40444 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40445 core_path to calculate the blocklist.
40446 Patch from Javier Martín <lordhabbit@gmail.com>
40447
5444088d 404482008-06-29 Robert Millan <rmh@aybabtu.com>
40449
40450 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40451 block to disk block.
40452 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40453 Patch from Niels Böhm <bitbucket@arcor.de>
40454
674835c8 404552008-06-29 Robert Millan <rmh@aybabtu.com>
40456
40457 * util/update-grub_lib.in (font_path): Search for fonts in
40458 /boot/grub first, which is more likely to be readable (we aren't
40459 deciding where fonts live, just looking for them).
40460
f527dbc8 404612008-06-26 Pavel Roskin <proski@gnu.org>
40462
6c2d8df6 40463 * util/biosdisk.c (read_device_map): Don't leave dead map
40464 entries for devices failing stat() check.
40465
f527dbc8 40466 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40467 core_path_dev for the core.img path on the target device.
40468
aebe3d13 404692008-06-26 Robert Millan <rmh@aybabtu.com>
40470
40471 * disk/fs_uuid.c: New file.
40472 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40473 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40474 (fs_uuid_mod_LDFLAGS): New variables.
40475 * include/grub/disk.h (grub_disk_dev_id): Add
40476 `GRUB_DISK_DEVICE_UUID_ID'.
40477 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40478 implement iterate().
40479
37aaf354 404802008-06-26 Robert Millan <rmh@aybabtu.com>
40481
40482 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40483 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40484 Linux image includes no initrd.
40485
25ff262a 404862008-06-21 Javier Martín <lordhabbit@gmail.com>
40487
40488 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40489 call to resolve the core image location that effectively appended the
40490 name twice.
40491
76a2bd44 404922008-06-21 Robert Millan <rmh@aybabtu.com>
40493
40494 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40495 call from here ...
40496
40497 * util/grub.d/10_hurd.in: ... to here ...
40498 * util/grub.d/10_linux.in: ... and here.
40499
650e1c79 405002008-06-19 Robert Millan <rmh@aybabtu.com>
40501
fe987087 40502 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40503 after it has been set by grub_machine_set_prefix().
40504
6ce63911 405052008-06-19 Robert Millan <rmh@aybabtu.com>
40506
40507 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40508 search result when not saving to variable, not the other way around.
40509 When saving to variable, abort iteration as soon as a match is found.
40510
73940cec 405112008-06-19 Robert Millan <rmh@aybabtu.com>
40512
40513 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40514 check for partition that provides /boot/grub. Its logic is flawed,
40515 as it prevents prepare_grub_to_access_device() from being called
40516 multiple times.
40517
3c62a39d 405182008-06-19 Robert Millan <rmh@aybabtu.com>
40519
40520 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40521 "insmod" command directly when abstraction modules are needed,
fe987087 40522 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40523 since it had already been processed).
40524
47395a42 405252008-06-19 Pavel Roskin <proski@gnu.org>
40526
40527 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40528 changed. This is needed in case GRUB_LIBDIR changes.
40529 * conf/i386-ieee1275.rmk: Likewise.
40530 * conf/i386-linuxbios.rmk: Likewise.
40531 * conf/i386-pc.rmk: Likewise.
40532 * conf/powerpc-ieee1275.rmk: Likewise.
40533
a145ac2d 405342008-06-18 Pavel Roskin <proski@gnu.org>
40535
40536 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40537 kernel_elf_symlist.c to symlist.c for consistency with other
40538 architectures. Update all users.
40539 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40540
7847c51e 405412008-06-18 Robert Millan <rmh@aybabtu.com>
40542
40543 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40544 it in prefix.
40545
40546 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40547 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40548 a RAID device, run setup() for all members independently on whether
40549 LVM abstraction is being used.
40550 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40551 If grub-mkimage has set `*install_dos_part == -2', don't override this
40552 value.
40553 Perform *install_dos_part adjustments independently on whether
40554 we're embedding or not.
40555 Clarify error message when image is too big for embedding.
40556 Remove duplicate *install_dos_part stanza.
40557
b23e5644 405582008-06-17 Robert Millan <rmh@aybabtu.com>
40559
40560 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40561 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40562 variables.
40563 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40564 values in grub_ofconsole_normal_color and
40565 grub_ofconsole_highlight_color (they're not directly related to
40566 background and foreground).
40567 (grub_ofconsole_setcolorstate): Extract background and foreground
40568 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40569
0aac2f79 405702008-06-17 Robert Millan <rmh@aybabtu.com>
40571
40572 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40573 /boot/grub for the check in last commit, not /boot (they could be
40574 different partitions).
40575
3cca7ef3 405762008-06-16 Robert Millan <rmh@aybabtu.com>
40577
40578 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40579 asked to setup access for the same partition that provides /boot,
40580 don't bother using UUIDs since our root already has the value we
40581 want.
40582
347396d8 405832008-06-16 Robert Millan <rmh@aybabtu.com>
40584
40585 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40586 I2O devices.
40587 Patch from Sven Mueller <sven@debian.org>.
40588
991477f8 405892008-06-16 Robert Millan <rmh@aybabtu.com>
40590
40591 * util/update-grub.in: Check for $EUID instead of $UID.
40592 Reported by Vincent Zweije.
40593
d31a32a1 405942008-06-16 Bean <bean123ch@gmail.com>
40595
fe987087 40596 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40597 (grub_ext2_read_block): Likewise.
40598 (grub_ext2_read_inode): Likewise.
40599 (grub_ext2_mount): Likewise.
40600 (grub_ext2_close): Likewise.
40601 (grub_ext3_get_journal): Removed.
40602
fe987087 40603 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40604 (grub_reiserfs_read_symlink): Likewise.
40605 (grub_reiserfs_mount): Likewise.
40606 (grub_reiserfs_open): Likewise.
40607 (grub_reiserfs_read): Likewise.
40608 (grub_reiserfs_close): Likewise.
40609 (grub_reiserfs_get_journal): Removed.
40610
40611 * fs/fshelp.c (grub_fshelp_read): Removed.
40612 (grub_fshelp_map_block): Likewise.
40613
40614 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40615 (grub_fshelp_journal): Likewise.
40616 (grub_fshelp_read): Likewise.
40617 (grub_fshelp_map_block): Likewise.
40618
3540a760 406192008-06-16 Pavel Roskin <proski@gnu.org>
40620
40621 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40622 floating point anymore.
40623 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40624
95614c84 406252008-06-15 Pavel Roskin <proski@gnu.org>
40626
40627 * commands/ls.c (grub_ls_list_files): Use integer calculations
40628 for human readable format, avoid floating point use.
40629 * kern/misc.c (grub_ftoa): Remove.
40630 (grub_vsprintf): Remove floating point support.
40631
50465dd6 406322008-06-15 Robert Millan <rmh@aybabtu.com>
40633
fe6b695a 40634 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40635 devices.
40636 Reported by Max Vozeler.
40637
a9207284 406382008-06-15 Robert Millan <rmh@aybabtu.com>
40639
40640 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40641 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40642 skipped later.
40643 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40644 the beginning of the prefix.
40645
40646 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40647 It is assumed that if we have a memdisk, grub-mkimage has set
40648 grub_prefix to include the "(memdisk)" drive in it.
40649
a7cbd45a 406502008-06-15 Robert Millan <rmh@aybabtu.com>
40651
40652 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40653 Initialize keyboard controller after registering the terminal, so that
40654 grub_printf() can be called from grub_keyboard_controller_init().
40655
21cf716a 406562008-06-15 Robert Millan <rmh@aybabtu.com>
40657
40658 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40659 extent-btree which is written as big endian on disk.
40660 Reported by Alain Greppin <al@chilibi.org>.
40661
23a64d8e 406622008-06-14 Robert Millan <rmh@aybabtu.com>
40663
40664 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40665 * util/i386/pc/grub-install.in (modules): Likewise.
40666
d687651c 406672008-06-13 Pavel Roskin <proski@gnu.org>
40668
40669 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40670
dfe9ddd4 406712008-06-13 Bean <bean123ch@gmail.com>
40672
40673 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40674
40675 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40676
40677 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40678 to indicate sparse block.
40679
16ae7781 406802008-06-12 Pavel Roskin <proski@gnu.org>
40681
e6d1a308 40682 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40683 number, grub_fshelp_read() does it for us.
40684
16ae7781 40685 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40686 linear disk read with journal translation.
40687 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40688 * include/grub/fshelp.h: Declare grub_fshelp_read().
40689
40fd3a2b 406902008-06-09 Pavel Roskin <proski@gnu.org>
40691
40692 * fs/minix.c (grub_minix_mount): Handle error reading
40693 superblock.
40694
f5679726 406952008-06-08 Robert Millan <rmh@aybabtu.com>
40696
40697 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40698 don't append the RAID prefix afterwards.
40699 Reported by Clint Adams.
40700
ce525529 407012008-06-08 Robert Millan <rmh@aybabtu.com>
40702
40703 Based on description from Pavel:
40704 * kern/disk.c (grub_disk_check_range): Rename to ...
40705 (grub_disk_adjust_range): ... this. Add a comment explaining the
40706 tasks performed by this function.
40707
ad4936a0 407082008-06-08 Robert Millan <rmh@aybabtu.com>
40709
40710 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40711 `num_serial' (for consistency with other variables).
40712 (struct grub_ntfs_data): Add `uuid' member.
40713 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40714 (grub_ntfs_uuid): New function.
40715 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40716
dc20b0f9 407172008-06-07 Pavel Roskin <proski@gnu.org>
40718
40719 * util/biosdisk.c (open_device): Revert last change to the
40720 function, it broke installation. The sector needs to be
40721 different dependent on which device is opened.
40722
c5e3cfba 407232008-06-06 Robert Millan <rmh@aybabtu.com>
40724
40725 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40726 rest of GRUB, and breakage doesn't happen if its value were modified.
40727
40728 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40729 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40730 a constant (same value).
40731 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40732 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40733
26a1f8c4 407342008-06-06 Robert Millan <rmh@aybabtu.com>
40735
40736 * util/biosdisk.c (open_device): Do not modify sector offset when
40737 accessing a partition. kern/disk.c already handles this for us.
40738
25d6b327 407392008-06-06 Robert Millan <rmh@aybabtu.com>
40740
40741 * util/grub-emu.c (grub_machine_init): Move code in this function from
40742 here ...
40743 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40744 segfault in case grub_printf() is called).
40745
40746 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40747 grub_probe. Update all users not to explicitly add it again.
40748 (grub_device): New variable; contains corresponding device for grubdir.
40749 (fs_module, partmap_module, devabstraction_module): Pass
40750 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40751 every time.
40752
9ece62fb 407532008-06-05 Robert Millan <rmh@aybabtu.com>
40754
40755 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40756 is found, print it (same layout as with labels).
40757
1ad36d37 407582008-06-04 Robert Millan <rmh@aybabtu.com>
40759
40760 * util/biosdisk.c (get_drive): Rename to ...
40761 (find_grub_drive): ... this. Update all users.
40762
40763 (get_os_disk): Rename to ...
40764 (convert_system_partition_to_system_disk): ... this. Update all users.
40765
40766 (find_drive): Rename to ...
40767 (find_system_device): ... this. Update all users.
40768
e6a30859 407692008-06-04 Robert Millan <rmh@aybabtu.com>
40770
40771 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40772 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40773 (make_device_map): Likewise.
40774
00c108a4 407752008-06-01 Robert Millan <rmh@aybabtu.com>
40776
40777 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40778 before dereferencing it.
40779
40780 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40781 union with fat12/fat16-specific ones. Add some new fields, including
40782 `num_serial' for both versions.
40783 (struct grub_fat_data): Add `uuid' member.
40784 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40785 names. Initialize `data->uuid' using `num_serial'.
40786 (grub_fat_uuid): New function.
40787 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40788
40789 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40790 (grub_reiserfs_uuid): New function.
40791 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40792 member.
40793
40794 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40795 (grub_xfs_uuid): New function.
40796 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40797
1385c5bb 407982008-06-01 Robert Millan <rmh@aybabtu.com>
40799
40800 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40801 code that is backward compatible with pre-uuid search command.
40802
c682dfd7 408032008-05-31 Robert Millan <rmh@aybabtu.com>
40804
40805 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40806 floppies after everything else, to ensure floppy drive isn't accessed
40807 unnecessarily (patch from Bean).
40808
b7db5d47 408092008-05-31 Robert Millan <rmh@aybabtu.com>
40810
40811 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40812 not print device names when we were asked to set a variable.
40813
6e037aa9 408142008-05-31 Robert Millan <rmh@aybabtu.com>
40815
40816 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40817 using "cursor-on" and "cursor-off" commands (understood at least by
40818 the Open Firmware flavour on OLPC).
40819
41305bc8 408202008-05-31 Michael Gorven <michael@gorven.za.net>
40821
40822 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40823 on and off sequences.
40824
69ba137e 408252008-05-31 Robert Millan <rmh@aybabtu.com>
40826
40827 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40828 * util/update-grub.in: Likewise.
40829
520ae21b 408302008-05-30 Pavel Roskin <proski@gnu.org>
40831
40832 * util/biosdisk.c (linux_find_partition): Simplify logic and
40833 make the code more universal. Keep special processing for
40834 devfs, but use a simple rule for all other devices. If the
40835 device ends with a number, append 'p' and the partition number.
40836 Otherwise, append only the partition number.
40837
5786569b 408382008-05-30 Robert Millan <rmh@aybabtu.com>
40839
40840 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40841 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40842 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40843 the `root' parameter to Linux.
40844
51500452 408452008-05-30 Robert Millan <rmh@aybabtu.com>
40846
40847 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40848 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40849 --fs_uuid with --fs-uuid.
40850 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40851 all filesystems support them).
40852
811d3878 408532008-05-30 Robert Millan <rmh@aybabtu.com>
40854
40855 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40856 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40857
cab63c95 408582008-05-30 Robert Millan <rmh@aybabtu.com>
40859
40860 * util/grub.d/00_header.in: Remove obsolete comment referencing
40861 convert_system_path_to_grub_path().
40862 * util/update-grub.in: Likewise.
40863 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40864 (convert_system_path_to_grub_path): Add a warning message explaining
40865 that this function is deprecated. Rely on is_path_readable_by_grub()
40866 for the readability checks.
40867 (font_path): Use is_path_readable_by_grub() for the readability
40868 check rather than convert_system_path_to_grub_path().
40869
972e2f7a 408702008-05-30 Robert Millan <rmh@aybabtu.com>
40871
40872 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40873 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40874 converting it first.
40875 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40876 grub.cfg for access to font file, and afterwards call it again to set
40877 the root device.
40878
62191274 408792008-05-30 Robert Millan <rmh@aybabtu.com>
40880
40881 * commands/search.c (options): Add --fs_uuid option.
40882 (search_fs_uuid): New function.
40883 (grub_cmd_search): Fix --set argument passing.
40884 Use search_fs_uuid() when requested via --fs_uuid.
40885 (grub_search_init): Update help message.
40886 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40887 and redeclare it as an array of 16-bit words.
40888 (grub_ext2_uuid): New function.
40889 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40890 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40891 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40892 (GRUB_DEVICE_BOOT_UUID): New variables.
40893 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40894 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40895 whenever possible.
40896 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40897 just assume `root' variable has the right value.
40898 * util/grub.d/10_linux.in: Likewise.
40899 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40900 via PRINT_FS_UUID.
40901 (main): Recognise `-t fs_uuid' argument.
40902
01b73ec8 409032008-05-30 Robert Millan <rmh@aybabtu.com>
40904
40905 * util/biosdisk.c (map): Redefine structure to hold information
40906 about GRUB drive name.
fe6b695a 40907 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40908 drive names.
40909 (call_hook): Remove.
40910 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40911 member. Assume drive has partitions.
40912 (grub_util_biosdisk_open): Access device names via `.device' struct
40913 member.
40914 (open_device): Likewise.
40915 (find_drive): Likewise.
40916 (read_device_map): Adjust map[] usage to match the new struct
40917 definition. Don't check for duplicates (still possible, but not cheap
40918 anymore).
40919 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40920 (make_device_name): Remove assumption of BIOS-like drive names.
40921
22f16596 409222008-05-30 Pavel Roskin <proski@gnu.org>
40923
40924 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40925 compiling execute.c doesn't need grub_script.tab.h anymore.
40926 (normal/command.c_DEPENDENCIES): Likewise.
40927 (normal/function.c_DEPENDENCIES): Likewise.
40928 * conf/i386-ieee1275.rmk: Likewise.
40929 * conf/i386-linuxbios.rmk: Likewise.
40930 * conf/i386-pc.rmk: Likewise.
40931 * conf/powerpc-ieee1275.rmk: Likewise.
40932 * conf/sparc64-ieee1275.rmk: Likewise.
40933
528ad8f2 409342008-05-29 Pavel Roskin <proski@gnu.org>
40935
d1dff95d 40936 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40937 when scanning metadata for volume group name.
40938
528ad8f2 40939 * include/grub/script.h: Don't include grub_script.tab.h. It's
40940 a generated file, which may only be included from the files with
40941 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40942 use union YYSTYPE, as the later allows forward declaration.
40943 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40944
47248e08 409452008-05-29 Robert Millan <rmh@aybabtu.com>
40946
40947 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40948 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40949 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40950 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40951 scan codes.
40952
ee632529 409532008-05-29 Robert Millan <rmh@aybabtu.com>
40954
40955 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40956 control key combinations.
40957
eee96e08 409582008-05-29 Robert Millan <rmh@aybabtu.com>
40959
40960 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40961 * util/ieee1275/grub-install.in: ... to here.
40962 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40963 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40964 (grub_install_SOURCES): Likewise.
40965
da9a6a94 409662008-05-29 Robert Millan <rmh@aybabtu.com>
40967
40968 * fs/affs.c: Update copyright year.
40969 * fs/ext2.c: Likewise.
40970 * fs/fshelp.c: Likewise.
40971 * fs/hfsplus.c: Likewise.
40972 * fs/ntfs.c: Likewise.
40973 * fs/xfs.c: Likewise.
40974 * include/grub/fshelp.h: Likewise.
40975 * util/grub-mkdevicemap.c: Likewise.
40976
12e65f3a 409772008-05-28 Robert Millan <rmh@aybabtu.com>
40978
40979 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40980 might need to be fatfs to support some firmware implementations
40981 (e.g. OFW or EFI).
40982
23023641 409832008-05-28 Robert Millan <rmh@aybabtu.com>
40984
40985 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40986 devices.
40987 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40988 (make_device_map): Likewise.
40989
887d2619 409902008-05-20 Bean <bean123ch@gmail.com>
40991
40992 * fs/fshelp.c (grub_fshelp_map_block): New function.
40993 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40994 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40995
40996 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40997 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40998 (grub_fshelp_journal): New structure.
40999 (grub_fshelp_map_block): New function prototype.
41000 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
41001 (grub_fshelp_map_block): Likewise.
41002
41003 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
41004 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
41005 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
41006 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
41007 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
41008 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
41009 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
41010 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
41011 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
41012 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
41013 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
41014 (grub_ext2_sblock): New members for journal support.
41015 (grub_ext3_journal_header): New structure.
41016 (grub_ext3_journal_revoke_header): Likewise.
41017 (grub_ext3_journal_block_tag): Likewise.
41018 (grub_ext3_journal_sblock): Likewise.
41019 (grub_fshelp_node): New members logfile and journal.
41020 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
41021 grub_fshelp_map_block to get real block number.
41022 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
41023 number.
41024 (grub_ext2_read_inode): Likewise.
41025 (grub_ext3_get_journal): New function.
41026 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
41027 (grub_ext2_close): Release memory used by journal.
41028
41029 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
41030 (REISERFS_MAGIC_DESC_BLOCK): New macro.
41031 (grub_reiserfs_transaction_header): Renamed to
41032 grub_reiserfs_description_block, replace field data with real_blocks.
41033 (grub_reiserfs_commit_block): New structure.
41034 (grub_reiserfs_data): New member journal.
41035 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
41036 number.
41037 (grub_reiserfs_read_symlink): Likewise.
41038 (grub_reiserfs_iterate_dir): Likewise.
41039 (grub_reiserfs_open): Likewise.
41040 (grub_reiserfs_read): Likewise.
41041 (grub_reiserfs_get_journal): New function.
41042 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
41043 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
41044 using grub_reiserfs_get_journal.
41045 (grub_reiserfs_close): Release memory used by journal.
41046
41047 * fs/affs.c (grub_affs_read_block): Change block type to
41048 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
41049
41050 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
41051
41052 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
41053
41054 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
41055
41056 * fs/udf.c (grub_udf_read_block): Change block type to
41057 grub_disk_addr_t. Use type cast to avoid warning.
41058
41059 * fs/xfs.c (grub_xfs_read_block): Likewise.
41060
b7c6bed5 410612008-05-16 Christian Franke <franke@computer.org>
41062
41063 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41064 to ensure that break with ESC will always work.
41065 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41066 Remove ESC from keyboard queue.
41067
eedf167f 410682008-05-16 Christian Franke <franke@computer.org>
41069
41070 * util/biosdisk.c: [__CYGWIN__] Add includes.
41071 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41072 (get_os_disk): Move variable declarations to OS specific
41073 parts to avoid warning.
41074 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41075 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41076 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41077 Cygwin.
41078 * util/getroot.c: [__CYGWIN__] Add includes.
41079 (strip_extra_slashes): Fix "/" case.
41080 [__CYGWIN__] (get_win32_path): New function.
41081 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41082 [__CYGWIN__] (find_root_device): Disable.
41083 [__CYGWIN__] (get_bootsec_serial): New function.
41084 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41085 [__linux__] (grub_guess_root_device): Add early returns to simplify
41086 structure.
41087 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41088 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41089 check for Linux only.
41090
a079699e 410912008-05-15 Bean <bean123ch@gmail.com>
41092
41093 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41094 keyboard hang problem in apple's intel mac.
41095
1cf4059a 410962008-05-09 Robert Millan <rmh@aybabtu.com>
41097
41098 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41099 devices.
41100 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41101 (make_device_map): Likewise.
41102 Reported by Aurelien Jarno <aurel32@debian.org>
41103
ed759390 411042008-05-07 Ian Campbell <ijc@hellion.org.uk>
41105
41106 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41107 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41108 (make_device_map): Output entries for xvd type disks.
41109
b56c4eaa 411102008-05-07 Robert Millan <rmh@aybabtu.com>
41111
41112 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41113 devices.
41114 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41115 (make_device_map): Likewise.
41116 Reported by Roland Dreier <rdreier@cisco.com>
41117
7f8866ed 411182008-05-07 Robert Millan <rmh@aybabtu.com>
41119
41120 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41121 grub_strstr() call. Correct a few mistakes in failure path handling.
41122
b0346e0f 411232008-05-06 Robert Millan <rmh@aybabtu.com>
41124
41125 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41126 Do not print a trailing slash (therefore, the root directory is an
41127 empty string).
41128 (convert_system_path_to_grub_path): Do not remove trailing slash
41129 from make_system_path_relative_to_its_root() output.
41130
41131 * util/i386/pc/grub-install.in: Add trailing slash to output from
41132 make_system_path_relative_to_its_root().
41133
6cf12cbd 411342008-05-06 Robert Millan <rmh@aybabtu.com>
41135
41136 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41137 ensures that output lines aren't intermangled with those sent to
41138 stderr (via grub_util_info()).
41139 * util/grub-probe.c (grub_refresh): Likewise.
41140 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41141
0fbb3117 411422008-05-05 Christian Franke <franke@computer.org>
41143
41144 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41145 Add Cygwin device names.
41146 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41147 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41148 (check_device): Return error instead of success on empty name.
41149 (make_device_map): Move label inside linux specific code to
41150 prevent compiler warning.
41151
8124cdb7 411522008-04-30 Robert Millan <rmh@aybabtu.com>
41153
41154 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41155 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41156 first boot option.
41157 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41158
094c01d0 411592008-04-29 Robert Millan <rmh@aybabtu.com>
41160
41161 * docs/grub.cfg: New file (example GRUB configuration).
41162
f4b1fc02 411632008-04-26 Robert Millan <rmh@aybabtu.com>
41164
329ce2a5 41165 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41166 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41167 and `disk/ieee1275/nand.c'.
f4b1fc02 41168
25f16ec1 411692008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 41170
25f16ec1 41171 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41172 i386-linuxbios.
41173
41174 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41175 change the buffer size to 4096 for cdrom device.
41176
41177 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41178 and nand.mod.
41179 (_linux_mod_SOURCES): New variable.
41180 (_linux_mod_CFLAGS): Likewise.
41181 (_linux_mod_LDFLAGS): Likewise.
41182 (linux_mod_SOURCES): Likewise.
41183 (linux_mod_CFLAGS): Likewise.
41184 (linux_mod_LDFLAGS): Likewise.
41185 (nand_mod_SOURCES): Likewise.
41186 (nand_mod_CFLAGS): Likewise.
41187 (nand_mod_LDFLAGS): Likewise.
41188
41189 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41190 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41191 type property. (nand device in olpc don't have this property)
41192
41193 * include/grub/disk.h (grub_disk_dev_id): New macro
41194 GRUB_DISK_DEVICE_NAND_ID.
41195
41196 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41197 function prototype.
41198 (grub_rescue_cmd_initrd): Likewise.
41199
41200 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41201 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41202 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 41203
25f16ec1 41204 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41205 GRUB_MACHINE_IEEE1275 is defined.
41206
41207 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41208 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41209
41210 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41211 on nested function heap_init.
41212 (grub_upper_mem): New variable for i386-ieee1275.
41213 (grub_get_extended_memory): New function for i386-ieee1275.
41214 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41215
41216 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41217 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41218 property.
f19dbdb7 41219
25f16ec1 41220 * loader/i386/ieee1275/linux.c: New file.
41221
41222 * loader/i386/ieee1275/linux_normal.c: New file.
41223
41224 * disk/ieee1275/nand.c: New file.
41225
e89d61e9 412262008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41227
41228 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41229 value.
41230 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41231
602566f6 412322008-04-18 Robert Millan <rmh@aybabtu.com>
41233
41234 Restructures early code path on ieee1275 to unify grub_main() as
41235 the first C function that is executed in every platform.
41236
41237 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41238 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41239 cmain().
41240 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41241 * kern/ieee1275/cmain.c (cmain): Rename to ...
41242 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41243 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41244 at the beginning.
41245
57490c2b 412462008-04-18 Robert Millan <rmh@aybabtu.com>
41247
41248 * util/update-grub.in: Fix syntax error when setting
41249 `GRUB_PRELOAD_MODULES'.
41250 Reported by Stephane Chazelas <stephane@artesyncp.com>
41251
1977517d 412522008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41253
41254 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41255 section into account, newer toolchains generate unique build ids
41256 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 41257 we want build ids to be preserved
1977517d 41258 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41259 far from other sections don't cause the raw binary images grow
41260 size
41261
bfb1f1a2 412622008-04-15 Robert Millan <rmh@aybabtu.com>
41263
41264 * disk/lvm.c: Update copyright year.
41265 * kern/misc.c: Likewise.
41266
01979850 412672008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41268
41269 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 41270 there is no memory left for physical volume name.
01979850 41271
0a1150e2 412722008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41273
41274 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41275 volume name mapping to support bigger than 9 character names properly.
41276
82ead3fe 412772008-04-13 Robert Millan <rmh@aybabtu.com>
41278
41279 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41280 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41281
e54a72f5 412822008-04-13 Christian Franke <franke@computer.org>
41283
41284 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41285 to create a floppy emulation boot CD when non emulation mode
41286 does not work.
41287 Enable Joliet CD filesystem extension.
41288
9fe86034 412892008-04-13 Robert Millan <rmh@aybabtu.com>
41290
41291 * kern/misc.c (grub_strncat): Fix off-by-one error.
41292 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41293
41294 * kern/env.c (grub_env_context_close): Clear current context, not
41295 previous one.
41296 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41297
41298 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41299
7ceeee39 413002008-04-13 Robert Millan <rmh@aybabtu.com>
41301
41302 Improve robustness when handling LVM.
41303
41304 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 41305 (and leave `*p' unmodified).
7ceeee39 41306 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41307 through it.
41308 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41309 iterating through it.
41310 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41311 through it.
fe6b695a 41312 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 41313 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41314 Don't assume `vg->pvs != NULL' when iterating through it.
41315
58cd3d85 413162008-04-13 Robert Millan <rmh@aybabtu.com>
41317
41318 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41319 * genmk.rb (partmap): New variable.
41320 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41321 (#{partmap}): New target rule.
41322 * genpartmaplist.sh: New file.
41323 * Makefile.in (pkglib_DATA): Add partmap.lst.
41324 (partmap.lst): New target rule.
41325 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41326 modules (including all partition maps), instead of preloading them.
41327
78b51059 413282007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41329
41330 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41331 `linux-boot-prober' (if installed) to detect other operating
41332 systems which are installed on the computer and add them to
41333 the boot menu.
41334 * conf/common.rmk: Build and install 30_os-prober.
41335
a91627b4 413362008-04-12 Robert Millan <rmh@aybabtu.com>
41337
41338 * kern/powerpc/ieee1275/init.c: Move from here ...
41339 * kern/ieee1275/init.c: ... to here. Update all users.
41340
41341 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41342 * kern/ieee1275/cmain.c: ... to here. Update all users.
41343
41344 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41345 * kern/ieee1275/openfw.c: ... to here. Update all users.
41346
41347 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41348 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41349
322562ea 413502008-04-10 Pavel Roskin <proski@gnu.org>
41351
41352 * configure.ac: Always use "_cv_" in cache variables for
41353 compatibility with Autoconf 2.62.
41354
a02a73c5 413552008-04-07 Robert Millan <rmh@aybabtu.com>
41356
41357 Revert grub/machine/init.h addition by Pavel (since it breaks on
41358 i386-ieee1275 and others):
41359 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41360 * util/powerpc/ieee1275/misc.c: Likewise.
41361
25c024b1 413622008-04-07 Robert Millan <rmh@aybabtu.com>
41363
41364 * util/grub-probe.c (probe): Improve error message.
41365
3cbd2f98 413662008-04-07 Robert Millan <rmh@aybabtu.com>
41367
41368 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41369 (this prevents the presence of a bogus entry from ruining the whole
41370 thing).
41371
87a297bf 413722008-04-06 Pavel Roskin <proski@gnu.org>
41373
36747a62 41374 * util/biosdisk.c: Include grub/util/biosdisk.h.
41375 * util/grub-fstest.c (execute_command): Make static.
41376 * util/grub-mkdevicemap.c (check_device): Likewise.
41377 * util/i386/pc/misc.c: Include grub/machine/init.h.
41378 * util/powerpc/ieee1275/misc.c: Likewise.
41379 * util/lvm.c: Include grub/util/lvm.h.
41380 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41381 grub/cache.h.
41382 * util/raid.c: Include grub/util/raid.h.
41383 (grub_util_getdiskname): Make static.
41384
87a297bf 41385 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41386 grub_hostfs_fini(), as they are called from grub_init_all() and
41387 grub_fini_all() respectively. This fixes an infinite loop in
41388 grub-fstest due to double registration of hostfs.
41389 Reported by Christian Franke <Christian.Franke@t-online.de>
41390
f6ce7629 413912008-04-05 Pavel Roskin <proski@gnu.org>
41392
41393 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41394 all 8 functions. Otherwise, probe function 0 only.
41395
070e49e4 413962008-04-04 Pavel Roskin <proski@gnu.org>
41397
8b088a4c 41398 * commands/lspci.c (grub_lspci_iter): Print the bus number
41399 correctly.
41400
4f657021 41401 * commands/lspci.c (grub_pci_classes): Fix typos.
41402 (grub_lspci_iter): Don't print func twice. Print vendor ID
41403 before device ID, as it's normally done.
41404
070e49e4 41405 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41406 Fix signedness warnings.
41407 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41408 Likewise.
41409 * util/ieee1275/get_disk_name.c: Include config.h so that
41410 _GNU_SOURCE is defined and getline() is declared. Mark an
41411 unused argument as such. Fix a signedness warning.
41412
ba7328dc 414132008-04-02 Pavel Roskin <proski@gnu.org>
41414
26887f22 41415 * genkernsyms.sh.in: Use more robust assignments for CC and
41416 srcdir. Quote srcdir.
41417 * gensymlist.sh.in: Likewise. Assert at the compile time that
41418 the symbol table is not empty.
41419
ba7328dc 41420 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41421 * fs/cpio.c (grub_cpio_read): Likewise.
41422
0f582c6b 414232008-04-01 Pavel Roskin <proski@gnu.org>
41424
4b6e1995 41425 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41426 * disk/host.c (grub_host_open): Likewise.
41427 * disk/loopback.c (grub_loopback_open): Likewise.
41428 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41429 disk->id as in disk/host.c, not a multi-character constant.
41430
828a2768 41431 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41432 later is obsolete, potentially dangerous and sets a bad example.
41433 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41434 * util/misc.c (grub_util_get_image_size): Likewise.
41435
2bb4fb47 41436 * disk/loopback.c (options): Improve help for "--partitions".
41437
0f582c6b 41438 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41439 options to align them with the short options, e.g. "echo -e".
41440
a33224e0 414412008-03-31 Bean <bean123ch@gmail.com>
41442
41443 * video/reader/png.c (grub_png_data): New member is_16bit and
41444 image_data.
41445 (grub_png_decode_image_header): Detect 16 bit png image.
41446 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41447 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41448 (grub_video_reader_png): Release memory occupied by image_data.
41449
41450 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41451 4096 bytes.
41452 (grub_nfs_mount): Skip the test for sector per cluster.
41453
41454 * include/grub/ntfs.h (MAX_SPC): Removed.
41455
86cb4f54 414562008-03-31 Bean <bean123ch@gmail.com>
41457
41458 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41459 (grub_probe_SOURCES): Add fs/afs.c.
41460 (grub_fstest_SOURCES): Likewise.
41461 (afs_mod_SOURCES): New variable.
41462 (afs_mod_CFLAGS): Likewise.
41463 (afs_mod_LDFLAGS): Likewise.
41464
41465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41466 (grub_emu_SOURCES): Likewise.
41467
41468 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41469
41470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41471
41472 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41473
41474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41475
41476 * fs/afs.c: New file.
41477
17c74c21 414782008-03-30 Pavel Roskin <proski@gnu.org>
41479
4cb68e89 41480 * disk/host.c: Include grub/misc.h to fix a warning.
41481 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41482 warnings about implicit declarations.
41483
8790bb04 41484 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41485 variable.
41486 * include/grub/i386/loader.h: Change declaration of
41487 grub_linux_boot() to match what grub_loader_set() expects.
41488 * util/getroot.c (grub_guess_root_device): Return const char* to
41489 fix a warning.
41490 * util/grub-probe.c (probe): Fix a warning about uninitialized
41491 abstraction_name variable.
41492 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41493 second argument as unused to fix a warning.
41494
9a3f3296 41495 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41496 missing grub_error() call.
41497
0ecef90d 41498 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41499 2.60 and newer uses it to define datadir.
41500
0bf6d401 41501 * commands/sleep.c: Fix warning about implicit declaration.
41502 * disk/memdisk.c: Likewise.
41503 * loader/aout.c: Likewise.
41504 * loader/i386/bsd_normal.c: Likewise.
41505 * util/grub-probe.c: Likewise.
41506
7cdacf97 41507 * commands/i386/cpuid.c (has_longmode): Make static.
41508 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41509 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41510
17c74c21 41511 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41512 GDT. This is more robust, as %ds can change.
41513 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41514 calling real_to_prot().
41515 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41516
80a3e68b 415172008-03-28 Pavel Roskin <proski@gnu.org>
41518
41519 * kern/i386/pc/startup.S: Assert that uncompressed functions
41520 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41521 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41522 code, as they push parts of the code (error handlers) beyond
41523 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41524 code as correctness and size.
41525
77bcd272 415262008-03-28 Pavel Roskin <proski@gnu.org>
41527
41528 * kern/i386/pc/startup.S
41529 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41530 data block address to the real mode, keep offset minimal. This
41531 works around a bug in AWARD BIOS on old Athlon systems, which
41532 makes CD detection hang.
41533
c5dfd43b 415342008-03-26 Pavel Roskin <proski@gnu.org>
41535
41536 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41537 const.
41538 * include/grub/normal.h: Add grub_parse_color_name_pair()
41539 declaration.
41540
bf962df2 415412008-03-24 Bean <bean123ch@gmail.com>
41542
41543 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41544 (cd_count): Removed.
41545 (cd_drive): New variable.
41546 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41547 (grub_biosdisk_call_hook): Likewise.
41548 (grub_biosdisk_iterate): Change cdrom detection method.
41549 (grub_biosdisk_open): Replace cd_start with cd_drive.
41550 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41551 detect cdrom device.
41552
41553 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41554 Removed.
41555 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41556 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41557 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41558 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41559 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41560 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41561 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41562 (grub_biosdisk_cdrp): New structure.
41563 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41564
41565 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41566
41567 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41568 device.
41569
41570 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41571 New function.
41572
68e7fc7a 415732008-03-20 Robert Millan <rmh@aybabtu.com>
41574
41575 Remove 2 TiB limit in ata.mod.
41576 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41577 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41578 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41579 grub_uint64_t instead of grub_uint32_t.
41580
38ad2cf5 415812008-03-05 Bean <bean123ch@gmail.com>
41582
41583 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41584 (grub_multiboot): Set boot device.
41585
41586 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41587
2b89344e 415882008-03-02 Bean <bean123ch@gmail.com>
41589
41590 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41591 symlink_buffer.
41592
87a95d1f 415932008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41594
41595 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41596 texinfo.tex.
41597
41598 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41599 modified.
41600
41601 * docs/fdl.texi: New file.
f19dbdb7 41602
87a95d1f 41603 * docs/mdate-sh: New file. Copied from gnulib.
41604 * docs/texinfo.tex: Likewise.
41605
41606 * config.guess: Updated from gnulib.
41607 * install-sh: Likewise.
41608
7dc15d8e 416092008-02-28 Robert Millan <rmh@aybabtu.com>
41610
41611 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41612 (aout_mod_SOURCES): New variable.
41613 (aout_mod_CFLAGS): Likewise.
41614 (aout_mod_LDFLAGS): Likewise.
41615
41616 * conf/i386-ieee1275.rmk: Likewise.
41617
b00ab696 416182008-02-28 Robert Millan <rmh@aybabtu.com>
41619
41620 * util/update-grub.in: Reorganise terminal validity check. Accept
41621 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41622 Based on suggestion by Franklin PIAT.
41623
79ca2d78 416242008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41625
41626 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41627 function.
41628 * util/getroot.c (grub_util_check_block_device): New function that
41629 returns the given argument if it is a block device and returns NULL else.
41630 * util/grub-probe.c (argument_is_device): New variable.
41631 (probe): Promote device_name from a variable to an argument. Receive
41632 device_name from grub_util_check_block_device() if path is NULL and from
41633 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41634 (options): Introduce new parameter '-d, --device'.
79ca2d78 41635 (main): Add description of the new parameter to the help screen.
41636 Rename path variable to argument. Set argument_is_device if the '-d'
41637 option is given. Pass argument to probe() depending on
41638 argument_is_device.
41639
0d16e571 416402008-02-24 Bean <bean123ch@gmail.com>
41641
41642 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41643 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41644 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41645 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41646 (GRUB_ISO9660_VOLDESC_END): Likewise.
41647 (grub_iso9660_primary_voldesc): New member escape.
41648 (grub_iso9660_data): New member joliet.
41649 (grub_iso9660_convert_string): New function.
41650 (grub_iso9660_mount): Detect joliet extension.
41651 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41652 (grub_iso9660_iso9660_label): Likewise.
41653
41654 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41655 (grub_setup_SOURCES): Add fs/udf.c.
41656 (grub_fstest_SOURCES): Likewise.
41657 (udf_mod_SOURCES): New variable.
41658 (udf_mod_CFLAGS): Likewise.
41659 (udf_mod_LDFLAGS): Likewise.
41660
41661 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41662 (grub_emu_SOURCES): Likewise.
41663
41664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41665
41666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41667
41668 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41669
41670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41671
41672 * fs/udf.c: New file.
41673
8a594a17 416742008-02-24 Robert Millan <rmh@aybabtu.com>
41675
41676 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41677 (normal/lexer.c_DEPENDENCIES): New variables.
41678 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41679 (normal/lexer.c_DEPENDENCIES): Likewise.
41680 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41681 (normal/lexer.c_DEPENDENCIES): Likewise.
41682 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41683 (normal/lexer.c_DEPENDENCIES): Likewise.
41684 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41685 (normal/lexer.c_DEPENDENCIES): Likewise.
41686 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41687 (normal/lexer.c_DEPENDENCIES): Likewise.
41688
2dc33c03 416892008-02-23 Robert Millan <rmh@aybabtu.com>
41690
41691 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41692 since they were intended to be in hex. This didn't break previously
41693 because of a bug in gpt_partition_map_iterate() (see below).
41694
41695 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41696 when checking the validity of GPT header.
41697 Remove `partno', since it always provides the same information as `i'.
41698
f6f4cfb0 416992008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41700
41701 * include/grub/efi/time.h: Fix a wrong comment.
41702
79ff665f 417032008-02-19 Pavel Roskin <proski@gnu.org>
41704
41705 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41706 message.
41707
d38e24c2 417082008-02-19 Bean <bean123ch@gmail.com>
41709
41710 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41711 (aout_mod_SOURCES): New variable.
41712 (aout_mod_CFLAGS): Likewise.
41713 (aout_mod_LDFLAGS): Likewise.
41714 (_bsd_mod_SOURCES): New variable.
41715 (_bsd_mod_CFLAGS): Likewise.
41716 (_bsd_mod_LDFLAGS): Likewise.
41717 (bsd_mod_SOURCES): New variable.
41718 (bsd_mod_CFLAGS): Likewise.
41719 (bsd_mod_LDFLAGS): Likewise.
41720
41721 * include/grub/aout.h: New file.
41722
41723 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41724
41725 * include/grub/i386/bsd.h: New file.
41726
41727 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41728 to make it public.
41729
41730 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41731 function is called, so that it's possible to change it inside the hook.
41732 (grub_elf64_load): Likewise.
41733 (grub_elf_file): Don't close the file if elf header is not found.
41734 (grub_elf_close): Close the file if grub_elf_file fails (The new
41735 grub_elf_file won't close it).
41736 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41737 (grub_elf64_size): Likewise.
41738
41739 * kern/i386/loader.S (grub_unix_real_boot): New function.
41740
41741 * loader/aout.c: New file.
41742
41743 * loader/i386/bsd.c: New file.
41744
41745 * loader/i386/bsd_normal.c: New file.
41746
41747 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41748
41749 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41750 can test other formats.
d38e24c2 41751
b93bdb0f 417522008-02-19 Robert Millan <rmh@aybabtu.com>
41753
41754 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41755 (grub_gpt_partition_type_empty): Redefine with macro from
41756 `<grub/gpt_partition.h>'.
41757 (gpt_partition_map_iterate): Adjust partition type comparison.
41758
41759 Export `entry' as partmap-specific `part.data' struct.
41760 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41761
41762 * include/grub/gpt_partition.h (grub_gpt_header)
41763 (grub_gpt_partentry): ... to here (new file).
41764
41765 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41766
41767 (grub_gpt_partition_type_bios_boot): New const variable, defined
41768 with macro from `<grub/gpt_partition.h>'.
41769
41770 (setup): Replace `first_start' with `embed_region', which keeps
41771 track of the embed region (and is partmap-agnostic).
41772
41773 Replace find_first_partition_start() with find_usable_region(),
41774 which finds a usable region for embedding using partmap-specific
41775 knowledge (supports PC/MSDOS and GPT).
41776
41777 Fix all assumptions that the embed region start at sector 1, using
41778 `embed_region.start' from now on. Similarly, use `embed_region.end'
41779 rather than `first_start' to calculate available size.
41780
41781 In grub_util_info() message, replace "into after the MBR" with an
41782 indication of the specific sector our embed region starts at.
41783
66cb40f6 417842008-02-19 Robert Millan <rmh@aybabtu.com>
41785
41786 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41787 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41788 `commands/reboot.c'.
41789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41790 (halt_mod_SOURCES): Likewise.
41791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41792 (halt_mod_SOURCES): Likewise.
41793
b7202015 417942008-02-17 Christian Franke <franke@computer.org>
41795
41796 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41797
32b0fc49 417982008-02-17 Robert Millan <rmh@aybabtu.com>
41799
41800 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41801 set `first_start' to 0 for non-PC/MSDOS partition maps.
41802
aca63502 418032008-02-16 Robert Millan <rmh@aybabtu.com>
41804
41805 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41806 do not assume partition map is PC/MSDOS before performing checks that
41807 are specific to that layout.
41808
0de8be86 418092008-02-13 Robert Millan <rmh@aybabtu.com>
41810
41811 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41812 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41813 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41814
c3db8364 418152008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41816
41817 * configure.ac: Only a cosmetic change on the handling of
41818 -fno-stack-protector.
41819
f714229e 418202008-02-12 Alexandre Boeglin <alex@boeglin.org>
41821
c3db8364 41822 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41823 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41824 reboot.c.
f714229e 41825 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41826 (halt_mod_SOURCES): New variable.
41827 (halt_mod_CFLAGS): Likewise.
41828 (halt_mod_LDFLAGS): Likewise.
41829 (reboot_mod_SOURCES): Likewise.
41830 (reboot_mod_CFLAGS): Likewise.
41831 (reboot_mod_LDFLAGS): Likewise.
41832
c3db8364 41833 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41834 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41835 reboot.c.
f714229e 41836 (halt_mod_SOURCES): Likewise.
41837 (reboot_mod_SOURCES): Likewise.
41838
c3db8364 41839 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41840 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41841 (reboot_mod_SOURCES): Likewise.
41842
41843 * commands/i386/pc/reboot.c: merge this file ...
41844
41845 * commands/ieee1275/reboot.c: ... and this file ...
41846
41847 * commands/reboot.c: ... to this file.
c3db8364 41848 Add some precompiler directive to include the correct header for
41849 each machine.
f714229e 41850
41851 * commands/ieee1275/halt.c: move this file ...
41852
41853 * commands/halt.c: ... to here.
c3db8364 41854 Add some precompiler directive to include the correct header for
41855 each machine.
f714229e 41856
41857 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41858 (grub_halt): Likewise.
41859
41860 * kern/efi/efi.c (grub_reboot): New function.
41861 (grub_halt): Likewise.
41862
c74493e0 418632008-02-12 Robert Millan <rmh@aybabtu.com>
41864
41865 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41866 /dev (like it is done for /dev/mapper). This doesn't provide support
41867 for EVMS, but at least it is now easy to identify the problem when it
41868 arises.
41869
d0db4b04 418702008-02-11 Robert Millan <rmh@aybabtu.com>
41871
41872 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41873 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41874 comparing it with -1, not 0.
41875
bf748642 418762008-02-10 Robert Millan <rmh@aybabtu.com>
41877
41878 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41879 `disk/lvm.c'.
41880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41881 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41882
41883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41884 `disk/lvm.c' to the end of the list.
41885 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41886 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41887
b5db202a 418882008-02-10 Robert Millan <rmh@aybabtu.com>
41889
41890 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41891 grub_print_error() instead. This will let user know why we're entering
41892 rescue mode.
41893 Based on suggestions from Sam Morris.
41894
83abee31 418952008-02-10 Alexandre Boeglin <alex@boeglin.org>
41896
41897 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41898 on remaining N args, instead of "--" arg N times.
41899
78d5a08b 419002008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41901
41902 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41903 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41904 pattern for unknown glyphs.
41905
68807e5f 419062008-02-09 Robert Millan <rmh@aybabtu.com>
41907
41908 * configure.ac: Probe for `help2man'.
41909 * Makefile.in (builddir): New variable.
41910 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41911 or otherwise add a few flags/options to it.
41912 (install-local): For every executable utility or script that is
41913 installed, invoke $(HELP2MAN) to install a manpage based on --help
41914 output.
41915
41916 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41917 that it doesn't prevent --help from working in build tree.
41918
41919 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41920 with `bug-grub@gnu.org'.
41921 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41922 * util/update-grub.in (usage): New function.
41923 Implement proper argument check, with support for --help and --version
41924 (as well as existing -y).
41925
419262008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41927
41928 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41929 avoid overwriting previous output.
41930 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41931
c1962162 419322008-02-09 Robert Millan <rmh@aybabtu.com>
41933
41934 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41935 drawing the menu.
41936
3dac2e3f 419372008-02-09 Robert Millan <rmh@aybabtu.com>
41938
41939 * commands/sleep.c: New file.
41940 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41941 (sleep_mod_SOURCES): New variable.
41942 (sleep_mod_CFLAGS): Likewise.
41943 (sleep_mod_LDFLAGS): Likewise.
41944
7a634e08 419452008-02-09 Robert Millan <rmh@aybabtu.com>
41946
41947 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41948 situations in which we can deduce the RAID size and the superblock
41949 doesn't match it.
41950
b92f0c18 419512008-02-09 Robert Millan <rmh@aybabtu.com>
41952
41953 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41954 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41955 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41956
41957 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41958 and return a grub_diskmemberlist_t composed of physical array members.
41959 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41960
41961 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41962 prototype.
41963 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41964 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41965 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41966
41967 * util/grub-probe.c (probe): Move partmap probing code from here ...
41968 (probe_partmap): ... to here.
41969 (probe): Use probe_partmap() once for the disk we're probing, and
41970 additionally, when such disk contains a memberlist() struct member,
41971 once for each disk that is contained in the structure returned by
41972 memberlist().
41973
91a4bf68 419742008-02-09 Robert Millan <rmh@aybabtu.com>
41975
41976 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41977 environment variable to 'all' in order to obtain debug output from
41978 non-util/ code.
41979 * util/i386/pc/grub-setup.c (main): Likewise.
41980
a96f9caa 419812008-02-08 Robert Millan <rmh@aybabtu.com>
41982
41983 * disk/raid.c (grub_raid_scan_device): Check for
41984 `array->device[sb.this_disk.number]' rather than for
41985 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41986 guaranteed to be accessible.
a96f9caa 41987
b37a9222 419882008-02-08 Robert Millan <rmh@aybabtu.com>
41989
41990 * disk/raid.c: Update copyright.
41991 * fs/cpio.c: Likewise.
41992 * include/grub/raid.h: Likewise.
41993 * loader/i386/pc/multiboot.c: Likewise.
41994 * util/hostfs.c: Likewise.
41995
5626aee1 419962008-02-08 Robert Millan <rmh@aybabtu.com>
41997
41998 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41999 to a grub_disk_t array.
42000 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
42001 `device[x]'.
42002 (grub_raid_scan_device): Replace `device[x].name' accesses with
42003 `device[x]->name'. Simplify initialization of `array->device[x]'.
42004
554f0187 420052008-02-08 Robert Millan <rmh@aybabtu.com>
42006
42007 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
42008 grub_dprintf() calls.
42009 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
42010 error message.
42011
1ec8425d 420122008-02-07 Christian Franke <franke@computer.org>
42013
42014 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
42015 instead of fseek and ftell to support large files.
42016 (grub_hostfs_read): Likewise.
42017
f2156fda 420182008-02-07 Robert Millan <rmh@aybabtu.com>
42019
42020 Patch from Jeroen Dekkers.
42021 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 42022 failure, since successfully reading all array members might not be
f2156fda 42023 required.
42024
9216e0e7 420252008-02-06 Robert Millan <rmh@aybabtu.com>
42026
42027 * util/grub-probe.c (probe): Simplify partmap probing (with the
42028 assumption that the first word up to the underscore equals to
42029 the module name).
42030
b0dfd29a 420312008-02-06 Christian Franke <franke@computer.org>
42032
42033 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
42034 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
42035 last block of a cpio or tar stream.
42036 Check for "TRAILER!!!" instead of any empty data
42037 block to detect last block of a cpio stream.
42038 (grub_cpio_dir): Fix constness of variable np.
42039 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
42040 cpio or tar trailer is detected. This fixes a crash
42041 on open of a non existing file.
42042
c32865bf 420432008-02-05 Bean <bean123ch@gmail.com>
42044
42045 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
42046 address of entry.
42047 (grub_multiboot_load_elf64): Likewise.
42048 (grub_multiboot): Initialize mbi structure.
42049
42050 * util/grub-fstest.c: Don't include unused header file script.h.
42051
fe6b695a 42052 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 42053 of file.
42054 (grub_fstest_SOURCES): Likewise.
42055
409480b7 420562008-02-05 Robert Millan <rmh@aybabtu.com>
42057
42058 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
42059 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42060 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42061 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42062
42063 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42064 (translation_table): Replace hardcoded values with macros
42065 provided by `<grub/term.h>'.
42066
42067 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42068 (keyboard_map): Correct/add a few values, with macros provided
42069 by `<grub/term.h>'.
42070 (keyboard_map_shift): Zero values that don't differ from their
42071 `keyboard_map' equivalents.
42072 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42073 Discard the second scan code that is always sent by Caps lock.
42074 Only use `keyboard_map_shift' when it provides a non-zero value,
42075 otherwise fallback to `keyboard_map'.
42076
99fadbaa 420772008-02-04 Bean <bean123ch@gmail.com>
42078
42079 * Makefile.in (enable_grub_fstest): New variable.
42080
42081 * conf/common.rmk (grub_fstest_init.lst): New rule.
42082 (grub_fstest_init.h): Likewise.
42083 (grub_fstest_init.c): Likewise.
42084 (util/grub-fstest.c_DEPENDENCIES): New variable.
42085 (grub_fstest_SOURCES): Likewise.
42086
42087 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42088
42089 * util/grub-fstest.c: New file.
42090
bf567c50 420912008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42092
42093 Make grub-setup handle a separate root device.
f19dbdb7 42094
bf567c50 42095 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42096 so that the root device can be compared with the destination
42097 device.
42098 When embedding the core image, if the root and destination devices
42099 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42100 0xFF.
42101 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 42102
9be6b98b 421032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42104
42105 Add support for having a grub directory in a different drive. This
42106 is still only the data handling part.
f19dbdb7 42107
9be6b98b 42108 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42109 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42110 (grub_root_drive): New variable.
42111
42112 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42113 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42114 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42115 as it was.
42116
42117 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42118
42119 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42120 macro.
42121 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42122
42123 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42124 is bogus, because PXE booting does not specify any drive
42125 correctly.
42126
42127 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42128 am not sure if this is really correct.
42129
42130 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42131 is always identical to the boot drive when booting from a CD.
42132
42133 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42134 longer.
42135 (root_drive): New variable.
42136 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42137 (setup_sectors): Push %dx right after popping it, because %dh will
42138 be modified later.
42139 (copy_buffer): Restore %dx.
42140
e0ca0677 421412008-02-03 Robert Millan <rmh@aybabtu.com>
42142
42143 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42144 use `cdboot.img' for cdrom images.
42145
3b3f6629 421462008-02-03 Robert Millan <rmh@aybabtu.com>
42147
42148 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42149 only setup gfxterm when `font' command has succeeded.
42150
d42b3672 421512008-02-03 Robert Millan <rmh@aybabtu.com>
42152
42153 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42154 (grub_rescue_cmd_multiboot_loader)
42155 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42156
fa370ea6 421572008-02-03 Pavel Roskin <proski@gnu.org>
42158
e0c5dacb 42159 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 42160 %edx and %esi from stack only after grub_gate_a20() is called.
42161 grub_gate_a20() clobbers %edx.
42162
f2a76e1d 421632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42164
42165 * configure.ac (AC_INIT): Bumped to 1.96.
42166
42167 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42168 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42169 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42170 video/readers/png.c.
42171
90fd32d1 421722008-02-03 Bean <bean123ch@gmail.com>
9be665dd 42173
42174 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42175 (cdboot_img_SOURCES): New variable.
42176 (cdboot_img_ASFLAGS): New variable.
42177 (cdboot_img_LDFLAGS): New variable.
42178
42179 * boot/i386/pc/cdboot.S: New file.
42180
42181 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42182 (cd_count): Likewise.
42183 (grub_biosdisk_get_drive): Add support for cd device.
42184 (grub_biosdisk_call_hook): Likewise.
42185 (grub_biosdisk_iterate): Likewise.
42186 (grub_biosdisk_open): Likewise.
42187 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42188 (grub_biosdisk_rw): Support reading from cd device.
42189 (GRUB_MOD_INIT): Iterate cd devices.
42190
42191 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42192 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42193 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42194
42195 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42196
4020aa53 421972008-02-02 Robert Millan <rmh@aybabtu.com>
42198
42199 * commands/read.c: New file.
42200 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42201 (read_mod_SOURCES): New variable.
42202 (read_mod_CFLAGS): Likewise.
42203 (read_mod_LDFLAGS): Likewise.
42204
e03a1132 422052008-02-02 Robert Millan <rmh@aybabtu.com>
42206
42207 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42208 determining whether menu has to be displayed.
42209
58c69220 422102008-02-02 Marco Gerards <marco@gnu.org>
42211
42212 * bus/pci.c: New file.
42213
42214 * include/grub/pci.h: Likewise.
42215
42216 * include/grub/i386/pc/pci.h: Likewise.
42217
42218 * commands/lspci.c: Likewise.
42219
42220 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42221 `lspci.mod'.
42222 (pci_mod_SOURCES): New variable.
42223 (pci_mod_CFLAGS): Likewise.
42224 (pci_mod_LDFLAGS): Likewise.
42225 (lspci_mod_SOURCES): Likewise.
42226 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 42227 (lspci_mod_LDFLAGS): Likewise.
58c69220 42228
c004e1b4 422292008-02-02 Bean <bean123ch@gmail.com>
42230
42231 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42232 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42233
42234 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42235 (grub_xfs_btree_node): New structure.
42236 (grub_xfs_btree_root): New structure.
42237 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42238 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42239 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42240 (GRUB_XFS_EXTENT_SIZE): Likewise.
42241 (grub_xfs_read_block): Support btree format type.
42242 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42243 Use directory block as basic unit.
42244
42245 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42246
42247 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42248 __attribute__ ((__regparm__ (1))).
42249
f95562bf 422502008-02-01 Robert Millan <rmh@aybabtu.com>
42251
42252 Correct a mistake in previous commit.
42253
42254 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42255 top.
42256 (normal/command.c_DEPENDENCIES): New variable.
42257
7d31f41f 422582008-02-01 Robert Millan <rmh@aybabtu.com>
42259
42260 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42261 top.
42262 (normal/command.c_DEPENDENCIES): New variable.
42263 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42264 * conf/i386-ieee1275.rmk: Likewise.
42265 * conf/i386-linuxbios.rmk: Likewise.
42266 * conf/i386-pc.rmk: Likewise.
42267 * conf/sparc64-ieee1275.rmk: Likewise.
42268 * conf/powerpc-ieee1275.rmk: Likewise.
42269 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42270
42271 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42272
60b6be74 422732008-02-01 Robert Millan <rmh@aybabtu.com>
42274
42275 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42276 call at beginning of function.
42277
078522ab 422782008-01-31 Pavel Roskin <proski@gnu.org>
42279
42280 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 42281 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42282 (grub_mkrescue_SOURCES): Likewise.
078522ab 42283 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42284
ccaa8a5f 422852008-01-30 Robert Millan <rmh@aybabtu.com>
42286
42287 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42288 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42289 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42290 (grub_probe_SOURCES): ... to here.
42291
42292 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42293 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42294 * conf/i386-ieee1275.rmk: Likewise.
42295 * conf/i386-linuxbios.rmk: Likewise.
42296 * conf/powerpc-ieee1275.rmk: Likewise.
42297
ae5a9cd7 422982008-01-30 Tristan Gingold <gingold@free.fr>
42299
42300 * kern/rescue.c: Silently accept empty lines.
42301
70bc2ef2 423022008-01-29 Bean <bean123ch@gmail.com>
42303
42304 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42305 (real_code_2): Code cleanup and change comment style.
42306 (move_memory): Avoid using 32-bit address mode.
42307
6a4d50ea 423082008-01-29 Bean <bean123ch@gmail.com>
42309
42310 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42311 (png_mod_SOURCES): New variable.
42312 (png_mod_CFLAGS): Likewise.
42313 (png_mod_LDFLAGS): Likewise.
42314
42315 * video/readers/png.c: New file.
42316
11cc30ac 423172008-01-28 Robert Millan <rmh@aybabtu.com>
42318
42319 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42320 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42321 `ifndef GRUB_MOD_GAP' hack.
42322 * util/elf/grub-mkimage.c (add_segments): Likewise.
42323
3abc589f 423242008-01-27 Robert Millan <rmh@aybabtu.com>
42325
42326 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42327 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 42328 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 42329
e1907778 423302008-01-27 Robert Millan <rmh@aybabtu.com>
42331
42332 Get grub-emu to build again (including parallel builds).
42333
42334 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42335 Split into ...
42336 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42337 (normal/execute.c_DEPENDENCIES): ... this, ...
42338 (grub-emu_DEPENDENCIES): ... and this.
42339
42340 * conf/i386-efi.rmk: Likewise.
42341 * conf/i386-linuxbios.rmk: Likewise.
42342 * conf/i386-ieee1275.rmk: Likewise.
42343 * conf/powerpc-ieee1275.rmk: Likewise.
42344 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42345
2216b101 423462008-01-27 Robert Millan <rmh@aybabtu.com>
42347
42348 * NEWS: Add a few items.
42349
f75172d9 423502008-01-27 Robert Millan <rmh@aybabtu.com>
42351
42352 Fix parallel builds with grub-emu. Based on earlier commit for
42353 grub-probe and grub-setup.
42354
42355 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42356 (util/grub-emu.c_DEPENDENCIES): ... this.
42357 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42358 (util/grub-emu.c_DEPENDENCIES): ... this.
42359 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42360 (util/grub-emu.c_DEPENDENCIES): ... this.
42361 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42362 (util/grub-emu.c_DEPENDENCIES): ... this.
42363 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42364 (util/grub-emu.c_DEPENDENCIES): ... this.
42365
3f51de77 423662008-01-27 Pavel Roskin <proski@gnu.org>
42367
42368 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42369 to create a gap between _end and the modules added to the image
42370 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42371 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42372 * util/elf/grub-mkimage.c (add_segments): Likewise.
42373
2033f53e 423742008-01-26 Pavel Roskin <proski@gnu.org>
42375
42376 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42377 just return an error.
42378
22da1f6f 423792008-01-26 Bean <bean123ch@gmail.com>
42380
42381 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42382 (grub_reiserfs_get_item): Save offset of the next item.
42383 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42384
2a9525e6 423852008-01-25 Robert Millan <rmh@aybabtu.com>
42386
42387 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42388 make all filesystem sources appear together (possibly fixing omissions
42389 while at it).
42390 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42392 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42394
42395 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42396 add `kern/file.c'.
42397 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42398 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42399 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42400 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42401
42402 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42403 (probe): Add a sanity check to make sure of our ability to read
42404 requested files when probing for filesystem type.
42405
42406 * genmk.rb: Update copyright year (2007).
42407
42408 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42409 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42410 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42411 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42412 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42413 : Remove function prototypes.
42414
b95f71b5 424152008-01-25 Robert Millan <rmh@aybabtu.com>
42416
42417 Revert my previous commits (based on wrong assumption of how grub_errno
42418 works).
42419
fe6b695a 42420 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42421 * kern/file.c (grub_file_open): Likewise.
42422
d08bbb49 424232008-01-24 Pavel Roskin <proski@gnu.org>
42424
42425 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42426 that hang if GRUB tries to setup colors.
42427 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42428 colors for firmwares that don't support it.
42429 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42430 Recognize Open Hack'Ware, set flags to work around its
42431 limitations.
42432
605e36ed 424332008-01-24 Robert Millan <rmh@aybabtu.com>
42434
42435 * kern/file.c (grub_file_open): Do not account previous failures of
42436 unrelated functions when grub_errno is checked for.
42437 Reported by Oleg Strikov.
42438
bac332a1 424392008-01-24 Bean <bean123ch@gmail.com>
42440
42441 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42442 (grub_ufs_sblock): New member volume name.
42443 (grub_ufs_find_file): Fix string copy bug.
42444 (grub_ufs_label): Implement this function properly.
42445
42446 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42447 (grub_hfs_iterate_records): Use the correct file number for extents
42448 and catalog file. Fix problem in next index calculation.
42449 (grub_hfs_find_node): Replace recursive function call with loop.
42450 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42451
15c80c09 424522008-01-23 Robert Millan <rmh@aybabtu.com>
42453
42454 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42455 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42456 (grub_multiboot2_real_boot): New function prototype.
42457
42458 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42459 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42460
42461 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42462 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42463
305338fd 424642008-01-23 Robert Millan <rmh@aybabtu.com>
42465
42466 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42467 #ifdef'ed out grub_printf().
42468
3ea52685 424692008-01-23 Robert Millan <rmh@aybabtu.com>
42470
42471 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42472 grub_dprintf calls, since they make "debug=all" mode unusable.
42473 (grub_console_checkkey): Likewise.
42474
5882ae4b 424752008-01-23 Robert Millan <rmh@aybabtu.com>
42476
42477 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42478 `term/i386/pc/at_keyboard.c'.
42479 (pkglib_MODULES): Add `serial.mod'.
42480 (serial_mod_SOURCES): New variable.
42481 (serial_mod_CFLAGS): Likewise.
42482 (serial_mod_LDFLAGS): Likewise.
42483
42484 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42485 `<grub/powerpc/ieee1275/console.h>'.
42486 (grub_keyboard_controller_init): New function prototype.
42487 (grub_console_checkkey): Likewise.
42488 (grub_console_getkey): Likewise.
42489
42490 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42491 keyboard on i386.
42492
42493 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42494 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42495
06ab5303 424962008-01-23 Robert Millan <rmh@aybabtu.com>
42497
42498 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42499 present, "(memdisk)/boot/grub" becomes the default prefix.
42500
42501 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42502 a memdisk tarball with all the modules. Add --overlay=DIR option that
42503 allows users to overlay additional files into the image.
42504
dbb475a4 425052008-01-23 Robert Millan <rmh@aybabtu.com>
42506
42507 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42508 and `machine/memory.h'.
42509 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42510 (_multiboot_mod_SOURCES): New variable.
42511 (_multiboot_mod_CFLAGS): Likewise.
42512 (_multiboot_mod_LDFLAGS): Likewise.
42513 (multiboot_mod_SOURCES): Likewise.
42514 (multiboot_mod_CFLAGS): Likewise.
42515 (multiboot_mod_LDFLAGS): Likewise.
42516
42517 * include/grub/i386/ieee1275/loader.h: New file.
42518
42519 * include/grub/i386/ieee1275/machine.h: Likewise.
42520
42521 * include/grub/i386/ieee1275/memory.h: Likewise.
42522
42523 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42524 variable declaration.
42525 (grub_os_area_size): Likewise.
42526
42527 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42528 (grub_lower_mem, grub_upper_mem): New variables.
42529 (grub_stop_floppy): New function (just to make
42530 grub_multiboot2_real_boot() happy).
42531
42532 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42533 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42534 (grub_stop): New function.
42535 Include `"../realmode.S"' and `"../loader.S"'.
42536
42537 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42538 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42539
42540 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42541 rely on grub_multiboot2_real_boot() for final boot.
42542
25638629 425432008-01-22 Robert Millan <rmh@aybabtu.com>
42544
42545 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42546 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42547 device that doesn't look like an SD card.
42548 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42549 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42550 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42551 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42552 found.
42553
9dad816d 425542008-01-22 Robert Millan <rmh@aybabtu.com>
42555
42556 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42557 avoid claiming over our own code.
42558
34842f2d 425592008-01-22 Bean <bean123ch@gmail.com>
42560
42561 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42562 (jpeg_mod_SOURCES): New variable.
42563 (jpeg_mod_CFLAGS): Likewise.
42564 (jpeg_mod_LDFLAGS): Likewise.
42565
42566 * video/readers/jpeg.c : New file.
42567
44023a28 425682008-01-22 Bean <bean123ch@gmail.com>
42569
42570 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42571 there are no more items.
42572
bc2d8ac6 425732008-01-21 Robert Millan <rmh@aybabtu.com>
42574
42575 * kern/mm.c (grub_mm_init_region): Improve debug message.
42576
261bd4bc 425772008-01-21 Robert Millan <rmh@aybabtu.com>
42578
42579 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42580 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42581 address.
42582 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42583 a C macro.
42584 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42585 Indicates start of upper memory.
42586 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42587 (generate_image): Abort when image size is big enough to corrupt
42588 upper memory.
42589
42590 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42591 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42592 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42593 instead of hardcoding 0xA0000.
42594 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42595 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42596 instead of hardcoding 0xA0000.
42597
f970b55e 425982008-01-21 Robert Millan <rmh@aybabtu.com>
42599
42600 * disk/memdisk.c (memdisk_size): New variable.
42601 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42602 `memdisk_size'.
42603 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42604 image to dynamic memory.
42605 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42606 `memdisk_size'. Free memdisk block.
42607
1a8b0526 426082008-01-21 Robert Millan <rmh@aybabtu.com>
42609
42610 Fix detection of very small filesystems (like tar).
42611
42612 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42613 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42614 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42615 a problem with this disk).
42616
6e9b4aab 426172008-01-21 Robert Millan <rmh@aybabtu.com>
42618
42619 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42620 on grub_biosdisk_rw_standard() error.
42621
0d8837b2 426222008-01-21 Robert Millan <rmh@aybabtu.com>
42623
42624 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42625 recent changes.
42626 * kern/elf.c: Likewise.
42627 * kern/ieee1275/ieee1275.c: Likewise.
42628 * kern/powerpc/ieee1275/openfw.c: Likewise.
42629 * term/ieee1275/ofconsole.c: Likewise.
42630
ffd36e34 426312008-01-21 Robert Millan <rmh@aybabtu.com>
42632
42633 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42634
3f0093d0 42635 * include/grub/kernel.h (grub_arch_memdisk_addr)
42636 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42637
3f0093d0 42638 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42639 (grub_arch_memdisk_size): ... to here.
ffd36e34 42640
6c391b21 426412008-01-21 Robert Millan <rmh@aybabtu.com>
42642
42643 Mostly based on bugfix from Bean.
42644
42645 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42646 attribute with hook() parameter.
42647 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42648 declaration.
42649 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42650 attribute with hook() parameter.
42651 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42652 declaration.
42653
55a581dc 426542008-01-21 Robert Millan <rmh@aybabtu.com>
42655
42656 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42657 (pkglib_MODULES): Add `memdisk.mod'.
42658 (memdisk_mod_SOURCES): New variable.
42659 (memdisk_mod_CFLAGS): Likewise.
42660 (memdisk_mod_LDFLAGS): Likewise.
42661
42662 * disk/memdisk.c: New file.
42663
42664 * include/grub/disk.h (grub_disk_dev_id): Add
42665 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42666
42667 * include/grub/i386/pc/kernel.h
42668 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42669 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42670 (grub_kernel_image_size): New variable declaration.
42671 (grub_total_module_size): Likewise.
42672 (grub_memdisk_image_size): Likewise.
42673
42674 * include/grub/i386/pc/memory.h
42675 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42676
42677 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42678 (grub_arch_memdisk_addr): New variable declaration.
42679 (grub_arch_memdisk_size): Likewise.
42680
42681 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42682 (grub_arch_memdisk_size): Likewise.
42683
42684 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42685 (codestart): Replace hardcoded `0x100000' with
42686 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42687
42688 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42689 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42690 not NULL, append the contents of the file it refers to, at the end of
42691 the compressed kernel image. Initialize `grub_memdisk_image_size'
42692 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42693 (options): Add "memdisk"|'m' option.
42694 (main): Parse --memdisk|-m option, and pass user-provided path as
42695 parameter to generate_image().
42696
3d7f54c9 426972008-01-20 Robert Millan <rmh@aybabtu.com>
42698
42699 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42700 grub_dprintf() calls from here ...
42701 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42702
0bf74728 427032008-01-20 Robert Millan <rmh@aybabtu.com>
42704
42705 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42706
42707 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42708 declaration.
42709 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42710 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42711 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42712 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42713 property).
42714 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42715 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42716
33bf70a7 427172008-01-19 Robert Millan <rmh@aybabtu.com>
42718
fe6b695a 42719 Get rid of confusing function (superseded by
33bf70a7 42720 `grub_ieee1275_get_integer_property')
42721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42722 prototype.
42723 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42724 function.
42725 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42726 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42727 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42728
e2da7d26 427292008-01-19 Robert Millan <rmh@aybabtu.com>
42730
42731 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42732 command after "shut-down", since implementations differ on which
42733 the command for halt is.
42734
59f1fd8d 427352008-01-19 Robert Millan <rmh@aybabtu.com>
42736
42737 * include/grub/i386/linuxbios/console.h: Add header protection.
42738 (grub_keyboard_controller_init): New function prototype.
42739 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42740 (KEYBOARD_COMMAND_READ): Likewise.
42741 (KEYBOARD_COMMAND_WRITE): Likewise.
42742 (KEYBOARD_SCANCODE_SET1): Likewise.
42743 (grub_keyboard_controller_write): New function.
42744 (grub_keyboard_controller_read): Likewise.
42745 (grub_keyboard_controller_init): Likewise.
42746
42747 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42748 (grub_console_init): On coreboot/LinuxBIOS, call
42749 grub_keyboard_controller_init().
42750
5f5a7c15 427512008-01-19 Robert Millan <rmh@aybabtu.com>
42752
42753 PowerPC changes provided by Pavel Roskin.
42754
42755 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42756 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42757 don't rely on cmain() doing it.
42758 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42759 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42760
1210e168 427612008-01-16 Robert Millan <rmh@aybabtu.com>
42762
42763 * include/grub/i386/linuxbios/memory.h
42764 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42765 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42766 receive `table_header' as argument. Instead, probe for it in the
42767 known memory ranges where it can be present.
42768 (grub_available_iterate): Do not pass a fixed `table_header' address
42769 to grub_linuxbios_table_iterate().
42770
3d04eab8 427712008-01-15 Robert Millan <rmh@aybabtu.com>
42772
42773 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42774 * conf/i386-ieee1275.rmk: New file.
42775 * include/grub/i386/ieee1275/console.h: Likewise.
42776 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42777 * include/grub/i386/ieee1275/kernel.h: Likewise.
42778 * include/grub/i386/ieee1275/time.h: Likewise.
42779 * kern/i386/ieee1275/init.c: Likewise.
42780 * kern/i386/ieee1275/startup.S: Likewise.
42781
d1bc1b73 427822008-01-15 Robert Millan <rmh@aybabtu.com>
42783
42784 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42785 when pointers are 32-bit (but still do set it to one when they are
42786 64-bit).
42787
66a65807 427882008-01-15 Robert Millan <rmh@aybabtu.com>
42789
42790 * include/grub/ieee1275/ieee1275.h
42791 (grub_ieee1275_get_integer_property): New function prototype.
42792
42793 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42794 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42795 grub_ieee1275_get_property() to handle endianness.
66a65807 42796
42797 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42798 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42799 where appropriate.
66a65807 42800 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42801 (grub_map): Likewise.
42802 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42803
a83ccafd 428042008-01-15 Bean <bean123ch@gmail.com>
42805
42806 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42807 (grub_script_execute_cmdline): Reset grub_errno.
42808
42809 * normal/main.c (read_config_file): Reset grub_errno.
42810
42811 * normal/parse.y (script_init): New.
42812 (script): Move function and menuentry here.
42813 (delimiter): New.
42814 (command): Add delimiter at the end of command.
42815 (commands): Adjust to match the new command.
42816 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42817 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42818 (if): Use the new commands.
42819
42820 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42821
df6ecfc6 428222008-01-15 Robert Millan <rmh@aybabtu.com>
42823
42824 * normal/menu.c (run_menu): Move timeout message from here ...
42825 (print_timeout): ... to here.
42826 (run_menu): Use print_timeout() once during initial draw to print
42827 the whole message, and again in every clock tick to update only
42828 the number of seconds.
42829
87ae25eb 428302008-01-15 Robert Millan <rmh@aybabtu.com>
42831
42832 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42833 actual size of `available' from grub_ieee1275_get_property(), and
42834 restrict parsing to that bound.
42835
47bf09a4 428362008-01-15 Christian Franke <franke@computer.org>
42837
42838 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42839 (argp_program_version): Remove variable.
42840 (argp_program_bug_address): Likewise.
42841 (options): Convert from struct argp_option to struct option.
42842 (struct arguments): Remove.
42843 (parse_opt): Remove.
42844 (usage): New function.
42845 (main): Replace struct args members by simple variables.
42846 Replace argp_parse() by getopt_long().
42847 Add switch to evaluate options.
42848 Add missing "(...)" around root_dev in prefix string.
42849
c86f1469 428502008-01-14 Robert Millan <rmh@aybabtu.com>
42851
42852 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42853 for grub_ieee1275_exit(), in order to improve portability.
42854
e622c559 428552008-01-14 Robert Millan <rmh@aybabtu.com>
42856
42857 * util/grub.d/10_linux.in (prefix): Define.
42858 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42859
44cb1ec8 428602008-01-13 Pavel Roskin <proski@gnu.org>
42861
42862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42863 grub_errno if no errors have been detected.
42864
1eb8c802 428652008-01-12 Robert Millan <rmh@aybabtu.com>
42866
42867 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42868 (grub_util_get_dev_abstraction): New function prototype.
42869
42870 * util/getroot.c: Include `<grub/util/getroot.h>'
42871 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42872 (grub_util_get_dev_abstraction): ... here (new function).
42873
42874 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42875 `PRINT_ABSTRACTION'.
42876 (probe): Probe for abstraction type when requested.
42877 (main): Understand `--target=abstraction'.
42878
42879 * util/i386/efi/grub-install.in: Add abstraction module to core
42880 image when it is found to be necessary.
42881 * util/i386/pc/grub-install.in: Likewise.
42882 * util/powerpc/ieee1275/grub-install.in: Likewise.
42883
42884 * util/update-grub_lib.in (font_path): Return system path without
42885 converting to GRUB path.
42886 * util/update-grub.in: Convert system path returned by font_path()
42887 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42888 abstraction module is needed for loading fonts (if any). Export
42889 that as `GRUB_PRELOAD_MODULES'.
42890 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42891 insmod commands).
42892
52bd3de9 428932008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42894
42895 Remove some unused code from reiserfs.
f19dbdb7 42896
52bd3de9 42897 * fs/reiserfs.c (struct grub_reiserfs_key)
42898 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42899 (struct grub_reiserfs_node_body): Removed.
42900 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42901 Likewise.
42902 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42903 Likewise.
42904 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42905 Likewise.
42906 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42907 Likewise.
42908 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42909 Likewise.
42910 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42911 Likewise.
42912 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42913 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42914 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42915
2f80039d 429162008-01-10 Robert Millan <rmh@aybabtu.com>
42917
42918 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42919 Determines if a file is garbage left by packaging systems, etc.
42920 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42921 for processing /etc/grub.d scripts.
42922 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42923 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42924 as a condition for processing Linux images.
42925
87888032 429262008-01-10 Pavel Roskin <proski@gnu.org>
42927
42928 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42929 to compile reiserfs.c on PowerPC.
42930
7e54fced 429312008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42932
42933 * kern/device.c (grub_device_iterate): Do not abort device iteration
42934 when one of the devices cannot be opened.
42935 * kern/disk.c (grub_disk_open): Do not account previous failures of
42936 unrelated functions when grub_errno is checked for.
42937
5aa541e6 429382008-01-08 Robert Millan <rmh@aybabtu.com>
42939
42940 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42941 `! grub_linux_is_bzimage', change order of address comparison to make
42942 it more intuitive, and improve "too big zImage" error message.
42943
7076340d 429442008-01-08 Robert Millan <rmh@aybabtu.com>
42945
42946 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42947 `$(update-grub_DATA)'.
42948 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42949 targets.
42950
9ca70333 429512008-01-07 Robert Millan <rmh@aybabtu.com>
42952
42953 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42954 which instruction is modified by grub-setup during installation
42955 (since it wasn't obvious by only looking at this file).
42956
38ccf575 429572008-01-07 Robert Millan <rmh@aybabtu.com>
42958
42959 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42960 listing actual TODO items.
42961
f5db4291 429622008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42963
868967cf 42964 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42965 correctly.
42966 (grub_reiserfs_get_key_offset): Likewise.
42967 (grub_reiserfs_set_key_offset): Likewise.
42968 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42969 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42970
42971 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42972 better to remove the bitfield version completely.
f19dbdb7 42973
868967cf 429742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42975
f5db4291 42976 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42977 allocated from the heap, due to the fshelp implementation.
42978 (grub_reiserfs_dir): Free NODE, due to the same reason.
42979
492e6d9d 429802008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42981
42982 Mostly from Vincent Pelletier:
f19dbdb7 42983
492e6d9d 42984 * fs/reiserfs.c: New file.
f19dbdb7 42985
492e6d9d 42986 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42987 (reiserfs_mod_SOURCES): New variable.
42988 (reiserfs_mod_CFLAGS): Likewise.
42989 (reiserfs_mod_LDFLAGS): Likewise.
42990
42991 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42992 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42993 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42994 normal/color.c.
42995
9ce3e7c1 429962008-01-06 Robert Millan <rmh@aybabtu.com>
42997
42998 * normal/color.c: Remove `<grub/env.h>'.
42999
f3b58148 430002008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
43001
43002 * include/grub/normal.h: Include <grub/env.h>.
43003
7ac3bcfa 430042008-01-05 Robert Millan <rmh@aybabtu.com>
43005
43006 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
43007 usage example with `(hd0,1)'.
fb358190 43008 Reported by Samuel Thibault.
7ac3bcfa 43009
c8ee99d7 430102008-01-05 Robert Millan <rmh@aybabtu.com>
43011
43012 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
43013 (grub_linux_boot_zimage): Rename to ...
43014 (grub_linux_boot): ... this.
43015 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
43016 (grub_linux_boot_zimage): Conditionalize zImage copy.
43017
43018 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
43019 (grub_linux_boot_bzimage): Remove prototype.
43020 (grub_linux_boot_zimage): Rename to ...
43021 (grub_linux_boot): ... this.
43022
43023 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
43024 (grub_linux_boot): Remove function.
43025
0ece25b1 430262008-01-05 Robert Millan <rmh@aybabtu.com>
43027
43028 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
43029 (grub_env_write_color_highlight): Likewise.
43030 (grub_wait_after_message): Likewise.
43031
43032 * normal/color.c: New file.
43033
43034 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43035 (normal_mod_DEPENDENCIES): Likewise.
43036
43037 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43038 (normal_mod_DEPENDENCIES): Likewise.
43039
43040 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43041 (normal_mod_DEPENDENCIES): Likewise.
43042
43043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
43044 (normal_mod_DEPENDENCIES): Likewise.
43045
43046 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
43047 for waiting after a message is printed.
43048 * normal/main.c (read_config_file): Likewise.
43049 (grub_normal_init): Register grub_env_write_color_normal() and
43050 grub_env_write_color_highlight() hooks. Mark `color_normal' and
43051 `color_highlight' variables as global.
43052
43053 * normal/menu.c (grub_wait_after_message): New function.
43054 (grub_color_menu_normal): New variable. Replaces ...
43055 (GRUB_COLOR_MENU_NORMAL): ... this macro.
43056 (grub_color_menu_highlight): New variable. Replaces ...
43057 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
43058 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
43059 `GRUB_TERM_COLOR_STANDARD'.
43060 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43061 `normal_code' and `highlight_code' to `old_color_normal' and
43062 `old_color_highlight', respectively.
43063 (grub_menu_init_page): Update colors when drawing the menu, based on
43064 `menu_color_normal' and `menu_color_highlight' variables.
43065 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43066 a message is printed.
43067
182dd4e5 430682008-01-05 Robert Millan <rmh@aybabtu.com>
43069
43070 * kern/env.c (grub_env_context_open): Propagate hooks for global
43071 variables to new context.
43072
43073 * kern/main.c (grub_set_root_dev): Export `root' variable.
43074
ddf8f6ad 430752008-01-05 Robert Millan <rmh@aybabtu.com>
43076
43077 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 43078 discs unconditionally, since udev and others have options to provide
ddf8f6ad 43079 them.
43080
d8b43d9b 430812008-01-05 Robert Millan <rmh@aybabtu.com>
43082
43083 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43084
2bff2de3 430852008-01-04 Christian Franke <franke@computer.org>
43086
43087 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43088 of eisa_mmap.
43089
97eab917 430902008-01-03 Pavel Roskin <proski@gnu.org>
43091
43092 * kern/i386/linuxbios/init.c: Put "void" to all function
43093 declarations with no arguments.
43094 * kern/powerpc/ieee1275/init.c: Likewise.
43095 * term/i386/pc/at_keyboard.c: Likewise.
43096 * term/i386/pc/vga_text.c: Likewise.
43097 * util/grub-mkdevicemap.c: Likewise.
43098
b9416d00 430992008-01-02 Robert Millan <rmh@aybabtu.com>
43100
43101 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43102 message when loaded image is out of bounds.
43103 (grub_multiboot_load_elf64): Likewise.
43104
92695df9 431052008-01-02 Pavel Roskin <proski@gnu.org>
43106
43107 * util/grub.d/10_linux.in: Try version without ".old" when
43108 looking for initrd. It's better to use initrd from the newer
43109 kernel of the same version than no initrd at all.
43110
d98d9cad 431112008-01-01 Robert Millan <rmh@aybabtu.com>
43112
43113 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43114
dbfdce36 431152008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43116
f19dbdb7 43117 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 43118 grub_video_get_active_render_target.
43119 (grub_video_adapter): Added unmap_color and get_active_render_target.
43120
f19dbdb7 43121 * video/video.c: Added grub_video_unmap_color and
dbfdce36 43122 grub_video_get_active_render_target.
43123 (grub_video_get_info): Changed method to accept NULL pointer as an
43124 argument to allow detection of active video adapter.
43125
43126 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43127 grub_video_vbe_unmap_color_int.
43128 Added grub_video_vbe_unmap_color and
43129 grub_video_vbe_get_active_render_target.
43130 (grub_video_vbe_adapter): Added unmap_color and
43131 get_active_render_target.
43132
f19dbdb7 43133 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 43134 with grub_video_vbe_unmap_color_int.
43135
43136 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43137 (DEFAULT_NORMAL_COLOR): Likewise.
43138 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43139 (DEFAULT_FG_COLOR): Removed.
43140 (DEFAULT_BG_COLOR): Likewise.
43141 (DEFAULT_CURSOR_COLOR): Changed value.
43142 (grub_virtual_screen): Added standard_color_setting,
43143 normal_color_setting, highlight_color_setting and term_color.
43144 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43145 (bitmap_width): Added.
43146 (bitmap_height): Likewise.
43147 (bitmap): Likewise.
43148 (set_term_color): Likewise.
43149 (grub_virtual_screen_setup): Changed to use new terminal coloring
43150 settings.
43151 (grub_gfxterm_init): Added init for bitmap.
43152 (grub_gfxterm_fini): Added destroy for bitmap.
43153 (redraw_screen_rect): Updated to use background bitmap and new
43154 terminal coloring.
43155 (scroll_up): Added optimization for case when there is no bitmap.
43156 (grub_gfxterm_cls): Fixed to use correct background color.
43157 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43158 coloring.
43159 (grub_virtual_screen_setcolor): Likewise.
43160 (grub_virtual_screen_getcolor): Added.
43161 (grub_gfxterm_background_image_cmd): Likewise.
43162 (grub_video_term): Added setcolor and getcolor.
43163 (MOD_INIT): Added registration of background_image command.
43164 (MOD_TERM): Added unregistration for background_image command.
43165
c3c20931 431662007-12-30 Pavel Roskin <proski@gnu.org>
43167
43168 * loader/multiboot_loader.c: Fix multiboot command
43169 unregistration. Fix all typos in the word "multiboot".
43170
df266716 431712007-12-29 Pavel Roskin <proski@gnu.org>
94239199 43172
43173 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43174 support for initrd names used in Fedora.
43175
fc6e896c 431762007-12-26 Bean <bean123ch@gmail.com>
43177
43178 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43179 (cpio_mod_SOURCES): New variable.
43180 (cpio_mod_CFLAGS): Likewise.
43181 (cpio_mod_LDFLAGS): Likewise.
43182
43183 * fs/cpio.c: New file.
43184
43185 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43186
43187 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43188
43189 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43190
43191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43192
533110ad 431932007-12-25 Robert Millan <rmh@aybabtu.com>
43194
43195 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43196 (grub_getcolor): New function.
43197
43198 * kern/term.c (grub_getcolor): New function.
43199 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43200 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43201 (print_entry): Set normal and highlight colors to
43202 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43203 respectively, before printing and restore them to old
43204 values afterwards.
43205 (grub_menu_init_page): Likewise. Fill an additional colored space
43206 that would otherwise be left blank.
43207
43208 * term/efi/console.c (grub_console_getcolor): New function.
43209 (struct grub_console_term.getcolor): New variable.
43210 * term/i386/pc/console.c (grub_console_getcolor): New function.
43211 (struct grub_console_term.getcolor): New variable.
43212 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43213 (struct grub_console_term.getcolor): New variable.
43214
43215 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43216 (struct grub_console_term.setcolor): Remove variable.
43217 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43218 (struct grub_console_term.setcolor): Remove variable.
43219 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43220 (struct grub_console_term.setcolor): Remove variable.
43221 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43222 (struct grub_console_term.setcolor): Remove variable.
43223
4931827f 432242007-12-25 Robert Millan <rmh@aybabtu.com>
43225
43226 * configure.ac: Search for possible unifont.hex locations, and
43227 define UNIFONT_HEX if found.
43228
43229 * Makefile.in (UNIFONT_HEX): Define variable.
43230 (DATA): Rename to ...
43231 (PKGLIB): ... this. Update all users.
43232 (PKGDATA): New variable.
43233 (pkgdata_IMAGES): Rename to ...
43234 (pkglib_IMAGES): ... this. Update all users.
43235 (pkgdata_MODULES): Rename to ...
43236 (pkglib_MODULES): ... this. Update all users.
43237 (pkgdata_PROGRAMS): Rename to ...
43238 (pkglib_PROGRAMS): ... this. Update all users.
43239 (pkgdata_DATA): Rename to ...
43240 (pkglib_DATA): ... this. Update all users.
43241 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43242 (unicode.pff, ascii.pff): New rules.
43243 (all-local): Add `$(PKGDATA)' dependency.
43244 (install-local): Process `$(PKGDATA)'.
43245
43246 * util/update-grub_lib.in (font_path): Search for *.pff files in
43247 a few more locations, including `${pkgdata}'.
43248
57e57e31 432492007-12-23 Robert Millan <rmh@aybabtu.com>
43250
43251 Patch from Bean <bean123ch@gmail.com>:
43252 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43253 `size'.
43254
4bc72aa9 432552007-12-21 Bean <bean123ch@gmail.com>
43256
43257 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43258 (ntfscomp_mod_SOURCES): New variable.
43259 (ntfscomp_mod_CFLAGS): Likewise.
43260 (ntfscomp_mod_LDFLAGS): Likewise.
43261
43262 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43263 (grub_probe_SOURCES): Likewise.
43264 (grub_emu_SOURCES): Likewise.
43265
43266 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43267 (grub_emu_SOURCES): Likewise.
43268
43269 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43270 (grub_emu_SOURCES): Likewise.
43271
43272 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43273 (grub_emu_SOURCES): Likewise.
43274
43275 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43276 (read_run_list): Renamed to grub_ntfs_read_run_list.
43277 (decomp_nextvcn): Moved to ntfscomp.c.
43278 (decomp_getch): Likewise.
43279 (decomp_get16): Likewise.
43280 (decomp_block): Likewise.
43281 (read_block): Likewise.
43282 (read_data): Partially moved to ntfscomp.c.
43283 (fixup): Change unsigned to grub_uint16_t.
43284 (read_mft): Change unsigned long to grub_uint32_t.
43285 (read_attr): Likewise.
43286 (read_data): Likewise.
43287 (read_run_data): Likewise.
43288 (read_run_list): Likewise.
43289 (read_mft): Likewise.
43290
43291 * fs/ntfscomp.c: New file.
43292
43293 * include/grub/ntfs.h: New file.
43294
af680a87 432952007-12-16 Robert Millan <rmh@aybabtu.com>
43296
43297 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43298 IDE disk check, since Linux is known to support 20 IDE disks.
43299 Reported by Colin Watson.
43300
84be7599 433012007-12-15 Bean <bean123ch@gmail.com>
43302
43303 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43304 (lnxboot_img_SOURCES): New variable.
43305 (lnxboot_img_ASFLAGS): Likewise.
43306 (lnxboot_img_LDFLAGS): Likewise.
43307
43308 * boot/i386/pc/lnxboot.S: New file.
43309
6af9db01 433102007-11-24 Pavel Roskin <proski@gnu.org>
43311
43312 * configure.ac: Test if '--build-id=none' is supported by the
43313 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43314 objcopy to generate incorrect binary files (binutils
43315 2.17.50.0.18-1 as shipped by Fedora 8).
43316 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43317 linking, so that build ID doesn't break the test.
43318
7361cfe6 433192007-11-24 Pavel Roskin <proski@gnu.org>
43320
43321 * include/grub/i386/time.h: use "void" in the argument list
43322 of grub_cpu_idle().
43323 * include/grub/powerpc/time.h: Likewise.
43324 * include/grub/sparc64/time.h: Likewise.
43325
1593e10c 433262007-11-18 Christian Franke <franke@computer.org>
43327
43328 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43329 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43330 This fixes the problem that function keys did not work in grub-emu.
43331
3b8db1a8 433322007-11-18 Christian Franke <franke@computer.org>
43333
43334 * disk/host.c (grub_host_open): Remove attribute unused from
43335 name parameter. Add check for "host". This fixes the problem
43336 that grub-emu does not find partitions.
43337
2e29408d 433382007-11-18 Christian Franke <franke@computer.org>
43339
43340 * util/hostfs.c (is_dir): New function.
43341 (grub_hostfs_dir): Handle missing dirent.d_type case.
43342 (grub_hostfs_read): Add missing fseek().
43343 (grub_hostfs_label): Clear label pointer. This fixes a crash
43344 of grub-emu on "ls (host)".
43345
398cd047 433462007-11-18 Christian Franke <franke@computer.org>
43347
43348 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43349 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43350 to 64 bit boundary by default.
43351
c405c391 433522007-11-18 Bean <bean123ch@gmail.com>
43353
43354 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43355 (hexdump_mod_SOURCES): New variable.
43356 (hexdump_mod_CFLAGS): Likewise.
43357 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 43358
c405c391 43359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43360
43361 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43362
43363 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43364
43365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43366
43367 * include/grub/hexdump.h: New file.
43368
43369 * commands/hexdump.c: New file.
43370
5cced7fd 433712007-11-10 Robert Millan <rmh@aybabtu.com>
43372
43373 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43374 in grub_outb() calls.
43375 (beep_on): Likewise.
43376
8b714eb0 433772007-11-10 Christian Franke <franke@computer.org>
43378
43379 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43380 (grub_menu_run): Likewise.
43381
ce0f1839 433822007-11-10 Robert Millan <rmh@aybabtu.com>
43383
43384 * include/grub/i386/efi/machine.h: New file.
43385 * include/grub/i386/linuxbios/machine.h: Likewise.
43386 * include/grub/i386/pc/machine.h: Likewise.
43387 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43388 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43389
43390 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43391 (serial_hw_io_addr): New variable.
43392 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43393 instead of `(unsigned short *) 0x400'.
43394
270c237d 433952007-11-10 Bean <bean123ch@gmail.com>
43396
43397 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43398
a87783bf 433992007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43400
43401 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43402 (vga_mod_SOURCES): Added.
43403 (vga_mod_CFLAGS): Likewise.
43404 (vga_mod_LDFLAGS): Likewise.
43405
43406 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43407 grub_outb() calls.
43408 (set_map_mask): Likewise.
43409 (set_read_map): Likewise.
43410 (set_read_address): Likewise.
43411 (vga_font): Removed variable.
43412 (get_vga_glyph): Removed function.
43413 (invalidate_char): Likewise.
43414 (write_char): Changed to use grub_font_get_glyph() for font
43415 information.
43416 (grub_vga_putchar): Likewise.
43417 (grub_vga_getcharwidth): Likewise.
43418
6433b448 434192007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43420
43421 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43422 flags.
43423 (pxeboot_img_LDFLAGS): Likewise.
43424 (diskboot_img_LDFLAGS): Likewise.
43425 (kernel_img_LDFLAGS): Likewise.
43426
49178511 434272007-11-06 Robert Millan <rmh@aybabtu.com>
43428
43429 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43430 in grub_outb() calls.
43431 (serial_hw_init): Likewise.
43432
53b052de 434332007-11-05 Robert Millan <rmh@aybabtu.com>
43434
43435 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43436 spaces. Skip non-regular files.
43437
5ab33bba 434382007-11-05 Robert Millan <rmh@aybabtu.com>
43439
43440 * kern/disk.c (grub_disk_firmware_fini)
43441 (grub_disk_firmware_is_tainted): New variables.
43442
43443 * include/grub/disk.h (grub_disk_firmware_fini)
43444 (grub_disk_firmware_is_tainted): Likewise.
43445
43446 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43447 (grub_disk_biosdisk_fini): ... to here.
43448 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43449 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43450 is set. Register grub_disk_biosdisk_fini() in
43451 `grub_disk_firmware_fini'.
43452
43453 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43454 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43455 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43456 to finish existing firmware disk interface.
43457
43458 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43459 (ata_mod_SOURCES): New variable.
43460 (ata_mod_CFLAGS): Likewise.
43461 (ata_mod_LDFLAGS): Likewise.
43462
0149ab7c 434632007-11-05 Robert Millan <rmh@aybabtu.com>
43464
43465 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43466 (grub_ata_wait): Reimplement using grub_millisleep().
43467
43468 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43469 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43470
be7ac41e 434712007-11-03 Marco Gerards <marco@gnu.org>
43472
43473 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43474 (CRTC_ADDR_PORT): New macro.
43475 (CRTC_DATA_PORT): Likewise.
43476 (CRTC_CURSOR): Likewise.
43477 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43478 (CRTC_CURSOR_ADDR_LOW): Likewise.
43479 (update_cursor): New function.
43480 (grub_console_real_putchar): Call `update_cursor'.
43481 (grub_console_gotoxy): Likewise.
43482 (grub_console_cls): Set the default color when clearing the
43483 screen.
43484 (grub_console_setcursor): Implemented.
43485
bb06ab2e 434862007-11-03 Marco Gerards <marco@gnu.org>
43487
43488 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43489 become activate.
43490 (grub_ata_pio_write): Likewise.
43491
43492 (grub_atapi_identify): Wait after issuing an ATA command.
43493 (grub_atapi_packet): Likewise.
43494 (grub_ata_identify): Likewise.
43495 (grub_ata_readwrite): Likewise.
43496
cf8f780b 434972007-11-03 Marco Gerards <marco@gnu.org>
43498
43499 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43500 (grub_ata_pio_write): Likewise.
43501 (grub_ata_readwrite): Use `grub_error', instead of
43502 returning `grub_errno'.
43503
ed649e54 435042007-11-03 Marco Gerards <marco@gnu.org>
43505
43506 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43507 grub_ata_pio_write once for every single sector, instead of for
43508 multiple sectors.
43509
ca25d8f0 435102007-10-31 Robert Millan <rmh@aybabtu.com>
43511
43512 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43513
43514 * conf/i386-linuxbios.rmk: New file.
43515
43516 * kern/i386/pc/hardware.c: Likewise.
43517 * term/i386/pc/at_keyboard.c: Likewise.
43518 * term/i386/pc/vga_text.c: Likewise.
43519
43520 * include/grub/i386/linuxbios/boot.h: Likewise.
43521 * include/grub/i386/linuxbios/console.h: Likewise.
43522 * include/grub/i386/linuxbios/init.h: Likewise.
43523 * include/grub/i386/linuxbios/kernel.h: Likewise.
43524 * include/grub/i386/linuxbios/loader.h: Likewise.
43525 * include/grub/i386/linuxbios/memory.h: Likewise.
43526 * include/grub/i386/linuxbios/serial.h: Likewise.
43527 * include/grub/i386/linuxbios/time.h: Likewise.
43528
43529 * kern/i386/linuxbios/init.c: Likewise.
43530 * kern/i386/linuxbios/startup.S: Likewise.
43531 * kern/i386/linuxbios/table.c: Likewise.
43532
e911ecc1 435332007-10-31 Marco Gerards <marco@gnu.org>
43534
43535 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43536 (ata_mod_SOURCES): New variable.
43537 (ata_mod_CFLAGS): Likewise.
43538 (ata_mod_LDFLAGS): Likewise.
43539
43540 * disk/ata.c: New file.
43541
43542 * include/grub/disk.h (grub_disk_dev_id): Add
43543 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43544
7f66d0e0 435452007-10-31 Robert Millan <rmh@aybabtu.com>
43546
43547 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43548 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43549
43550 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43551 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43552
43553 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43554 `<grub/types.h>'.
43555
43556 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43557
5cd7dd46 435582007-10-27 Robert Millan <rmh@aybabtu.com>
43559
3236ca65 43560 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43561
2ebfc90f 435622007-10-22 Robert Millan <rmh@aybabtu.com>
43563
43564 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43565 `"../realmode.S"'.
43566 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43567
73fcb0f3 435682007-10-22 Robert Millan <rmh@aybabtu.com>
43569
43570 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43571 (pkgdata_MODULES): Add `biosdisk.mod'.
43572 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43573 variables.
43574
43575 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43576 (grub_biosdisk_init): Replace with ...
43577 (GRUB_MOD_INIT(biosdisk)): ... this.
43578 (grub_biosdisk_fini): Replace with ...
43579 (GRUB_MOD_FINI(biosdisk)): ... this.
43580
43581 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43582 (grub_machine_init): Remove call to grub_biosdisk_init().
43583 (grub_machine_fini): Remove call to grub_machine_fini().
43584
43585 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43586
3381d274 435872007-10-22 Robert Millan <rmh@aybabtu.com>
43588
43589 * include/grub/time.h: New file.
43590 * include/grub/i386/time.h: Likewise.
43591 * include/grub/powerpc/time.h: Likewise.
43592 * include/grub/sparc64/time.h: Likewise.
43593
43594 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43595 instances to ...
43596 (KERNEL_MACHINE_TIME_HEADER): ... this.
43597 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43598 instances to ...
43599 (KERNEL_MACHINE_TIME_HEADER): ... this.
43600 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43601 instances to ...
43602 (KERNEL_MACHINE_TIME_HEADER): ... this.
43603
43604 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43605 (grub_millisleep): New function.
43606 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43607 (grub_millisleep): New function.
43608 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43609 Remove `grub/machine/time.h' include.
43610 (grub_millisleep): New function.
43611 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43612 Remove `grub/machine/time.h' include.
43613 (grub_millisleep): New function.
43614
43615 * include/grub/misc.h (grub_div_roundup): New function.
43616
43617 * kern/misc.c: Include `<grub/time.h>'.
43618 (grub_millisleep_generic): New function.
43619
43620 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43621 Add `time.h'.
43622 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43623 Add `time.h'.
43624 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43625 `machine/time.h'. Add `time.h'.
43626 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43627
a39a0312 436282007-10-21 Robert Millan <rmh@aybabtu.com>
43629
43630 * include/grub/misc.h (grub_max): New function.
43631
2aad70e2 436322007-10-21 Robert Millan <rmh@aybabtu.com>
43633
43634 * util/misc.c (grub_util_info): Call fflush() before returning.
43635
54b71c4b 436362007-10-20 Robert Millan <rmh@aybabtu.com>
43637
43638 * genmk.rb (Image): Copy `extra_flags' from here ...
43639 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43640
43641 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43642 to `argc' and `args' arguments.
43643
a979f513 436442007-10-17 Robert Millan <rmh@aybabtu.com>
43645
43646 * kern/i386/loader.S: New file.
43647
43648 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43649 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43650 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43651 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43652 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43653 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43654 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43655 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43656 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43657 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43658 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43659 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43660 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43661 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43662
43663 * kern/i386/realmode.S: New file.
43664
43665 * kern/i386/pc/startup.S (protstack): Moved from here ...
43666 * kern/i386/realmode.S (protstack)... to here.
43667 * kern/i386/pc/startup.S (gdt): Moved from here ...
43668 * kern/i386/realmode.S (gdt)... to here.
43669 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43670 * kern/i386/realmode.S (prot_to_real)... to here.
43671
43672 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43673 `kern/i386/realmode.S'.
43674
825fc8fd 436752007-10-17 Robert Millan <rmh@aybabtu.com>
43676
43677 * include/grub/i386/loader.h: New file.
43678
43679 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43680 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43681 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43682 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43683 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43684 * include/grub/i386/loader.h (grub_linux_prot_size)
43685 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43686 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43687 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43688 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43689
43690 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43691
e179b2f4 436922007-10-15 Robert Millan <rmh@aybabtu.com>
43693
43694 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43695 filesystem when dev->disk is unset.
43696 Do probe for filesystem even when dev->disk->has_partitions is set.
43697 In case a filesystem is found, always report it.
43698 In case it isn't, if dev->disk->has_partitions is set, report that
43699 a partition table was found instead of reporting that no filesystem
43700 could be identified.
43701
5db82af6 437022007-10-12 Robert Millan <rmh@aybabtu.com>
43703
43704 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43705 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43706
68f6ac74 43707 * include/grub/types.h (grub_host_to_target16): New macro.
43708 (grub_host_to_target32): Likewise.
43709 (grub_host_to_target64): Likewise.
43710 (grub_target_to_host16): Likewise.
43711 (grub_target_to_host32): Likewise.
43712 (grub_target_to_host64): Likewise.
5db82af6 43713
43714 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43715 Renamed from to ...
43716 (GRUB_MOD_ALIGN): ...this. Update all users.
43717
68f6ac74 43718 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43719 grub_host_to_target32.
43720 Replace grub_be_to_cpu32 with grub_target_to_host32.
43721 (load_modules): Likewise.
43722 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43723 Replace grub_be_to_cpu32 with grub_target_to_host32.
43724 Replace grub_cpu_to_be16 with grub_host_to_target16.
43725 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43726
3cf497cc 437272007-10-12 Robert Millan <rmh@aybabtu.com>
43728
43729 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43730 * util/elf/grub-mkimage.c: ... here.
43731
43732 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43733 `util/powerpc/ieee1275/grub-mkimage.c'.
43734
c8cc3692 437352007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43736
c8cc3692 43737 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43738 and make it easier to figure out.
43739 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43740 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43741 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43742 leave us with less than HEAP_MIN_SIZE total heap.
43743 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43744
5c58b791 437452007-10-03 Robert Millan <rmh@aybabtu.com>
43746
43747 * include/grub/i386/io.h: New file.
43748 * commands/i386/pc/play.c (inb): Removed.
43749 (outb): Removed.
43750 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43751 with grub_outb().
afcd2ef8 43752 * term/i386/pc/serial.c (inb): Removed.
43753 (outb): Removed.
43754 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43755 with grub_outb().
43756 * term/i386/pc/vga.c (inb): Removed.
43757 (outb): Removed.
43758 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43759 with grub_outb().
5c58b791 43760
1a477ed6 437612007-10-02 Robert Millan <rmh@aybabtu.com>
43762
43763 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43765 Reported by Marcin Kurek.
43766
6b5d80fa 437672007-09-07 Robert Millan <rmh@aybabtu.com>
43768
43769 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43770 SmartFirmware version updates (as released by Sven Luther), and avoid
43771 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43772 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43773 known broken.
43774
5618afbf 437752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43776
43777 From Hitoshi Ozeki:
43778 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43779 when merging two regions.
43780
6139dcd9 437812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43782
508e39ee 43783 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43784 * normal/completion.c (grub_normal_do_completion): Likewise.
43785 Reported by Hitoshi Ozeki.
43786
437872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43788
6139dcd9 43789 Do not use devices at boot in chainloading.
f19dbdb7 43790
6139dcd9 43791 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43792 (boot_part_addr): Likewise.
43793 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43794 with BOOT_DRIVE and BOOT_PART_ADDR.
43795 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43796 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43797
38da6516 437982007-08-29 Robert Millan <rmh@aybabtu.com>
43799
43800 Patch from Simon Peter <dn.tlp@gmx.net>:
43801 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43802 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43803 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43804 util/i386/pc/grub-setup.c_DEPENDENCIES.
43805 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43806 util/grub-probe.c_DEPENDENCIES.
43807 * conf/powerpc-ieee1275.rmk: Likewise.
43808
29d0928c 438092007-08-28 Robert Millan <rmh@aybabtu.com>
43810
43811 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43812 to tell grub-mkdevicemap how to name devices.
43813 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43814 feature).
43815
43816 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43817 util/i386/get_disk_name.c.
43818 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43819 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43820 util/ieee1275/get_disk_name.c.
43821
43822 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43823
43824 * DISTLIST: Add util/i386/get_disk_name.c and
43825 util/ieee1275/get_disk_name.c.
43826
43827 * util/grub-mkdevicemap.c: Replace device naming logic with
43828 grub_util_get_disk_name() calls.
43829
5a0d3cca 438302007-08-20 Robert Millan <rmh@aybabtu.com>
43831
43832 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43833 (so that it works for both plural and singular quantities).
43834
8b72db2f 438352007-08-05 Robert Millan <rmh@aybabtu.com>
43836
43837 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43838 so that [xz] isn't taken into account when determining order.
43839
352466bf 438402007-08-02 Marco Gerards <marco@gnu.org>
43841
43842 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43843 `include/multiboot2.h', `include/grub/elfload.h',
43844 `include/multiboot.h', `include/grub/multiboot.h',
43845 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43846 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43847 `kern/elf.c', `loader/multiboot_loader.c',
43848 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43849 `loader/i386/pc/multiboot2.c',
43850 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43851 `util/i386/pc/grub-mkrescue.in'. Remove
43852 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43853 `include/grub/i386/pc/util/biosdisk.h' and
43854 `include/grub/powerpc/ieee1275/multiboot.h'.
43855
8f096014 438562007-08-02 Bean <bean123ch@gmail.com>
43857
43858 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43859 (ntfs_mod_SOURCES): New variable.
43860 (ntfs_mod_CFLAGS): Likewise.
43861 (ntfs_mod_LDFLAGS): Likewise.
43862
43863 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43864 (grub_probe_SOURCES): Likewise.
43865 (grub_emu_SOURCES): Likewise.
43866
43867 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43868 (grub_emu_SOURCES): Likewise.
43869
43870 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43871 (grub_emu_SOURCES): Likewise.
f19dbdb7 43872
8f096014 43873 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43874
43875 * fs/ntfs.c: New file.
43876
9959f7db 438772007-08-02 Bean <bean123ch@gmail.com>
43878
43879 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43880
43881 * file.h (grub_file): Likewise.
43882
43883 * fshelp.h (grub_fshelp_read_file): Likewise.
43884
43885 * util/i386/pc/grub-setup.c (setup): Likewise.
43886 (save_first_sector): Likewise.
43887 (save_blocklists): Likewise.
f19dbdb7 43888
9959f7db 43889 * fs/affs.c (grub_affs_read_file): Likewise.
43890
43891 * fs/ext2.c (grub_ext2_read_file): Likewise.
43892
43893 * fs/fat.c (grub_fat_read_data): Likewise.
43894
43895 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43896
43897 * fs/hfs.c (grub_hfs_read_file): Likewise.
43898
43899 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43900
43901 * fs/jfs.c (grub_jfs_read_file): Likewise.
43902
43903 * fs/minix.c (grub_minix_read_file): Likewise.
43904
43905 * fs/sfs.c (grub_sfs_read_file): Likewise.
43906
43907 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43908
9959f7db 43909 * fs/xfs.c (grub_xfs_read_file): Likewise.
43910
43911 * command/blocklist.c (read_blocklist): Likewise.
43912 (print_blocklist): Likewise.
43913
0a203f83 439142007-08-02 Marco Gerards <marco@gnu.org>
43915
43916 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43917 `util/hostfs.c'.
43918
43919 * disk/host.c: New file.
43920
43921 * util/hostfs.c: Likewise.
43922
43923 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43924 return `GRUB_ERR_BAD_FS'.
43925 * fs/sfs.c (grub_sfs_mount): Likewise.
43926 * fs/xfs.c (grub_xfs_mount): Likewise.
43927
43928 * include/grub/disk.h (enum grub_disk_dev_id): Add
43929 `GRUB_DISK_DEVICE_HOST_ID'.
43930
43931 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43932
e5dfe777 439332007-07-24 Jerone Young <jerone@gmail.com>
43934
f19dbdb7 43935 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43936 modules for compilation.
43937 * conf/powerpc-ieee1275.rmk: Likewise.
43938
43939 * include/multiboot.h: Move multiboot definitions to one file. Rename
43940 many definitions to not get grub specific.
43941 * include/multiboot2.h: Create header with multiboot 2 definitions.
43942 * include/grub/multiboot.h: Header for grub specific function
43943 prototypes and definitions.
43944 * include/grub/multiboot2.h: Likewise.
43945 * include/grub/multiboot_loader.h: Likewise.
43946 * include/grub/i386/pc/multiboot.h: Removed.
43947 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43948
43949 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43950 and 2 to allow for one multiboot and module commands.
43951 * loader/multiboot2.c: Add multiboot2 functionality.
43952 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43953 and definition names.
43954 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43955 2 functions.
43956 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43957 ieee1275 specific multiboot2 code.
43958
43959 * kern/i386/pc/startup.S: Change headers and definition names for
43960 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43961
daf0f0ba 439622007-07-22 Robert Millan <rmh@aybabtu.com>
43963
43964 * geninitheader.sh: Process file specified in first parameter rather
43965 than hardcoding grub_modules_init.lst.
fe6b695a 43966 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43967 than hardcoding grub_modules_init.h.
43968
43969 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43970 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43971 grub_probe_init.[ch] and grub_setup_init.[ch].
43972
43973 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43974 grub_modules_init.h with grub_emu_init.h.
43975 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43976 grub_probe_init.[ch] files.
43977 * conf/i386-efi.rmk: Likewise.
43978 * conf/i386-pc.rmk: Likewise.
43979 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43980 grub_setup_init.[ch] files.
43981
43982 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43983 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43984 to initialize modules rather than a list of hardcoded functions.
43985 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43986 grub_init_all() to initialize modules rather than a list of hardcoded
43987 functions.
43988
54cdc1cc 439892007-07-22 Robert Millan <rmh@aybabtu.com>
43990
43991 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43992 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43993
ad0686cc 439942007-07-22 Robert Millan <rmh@aybabtu.com>
43995
43996 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43997 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43998 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43999 flag when running on SmartFirmware.
44000 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
44001 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
44002 was set.
44003
44004 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44005 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
44006 rather than decreasing it.
44007
44008 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
44009 there's not enough space to do it, fail in the same way as when it
44010 can't be done because there are no partitions.
44011
44012 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
44013 when nvsetenv failed.
44014
969c02ec 440152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44016
44017 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
44018 because this rule is automatically generated.
44019 (grub-mkrescue): Removed for the same reason as above.
44020
5a79f472 440212007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
44022
44023 Migrate to GNU General Public License Version 3.
f19dbdb7 44024
5a79f472 44025 * COPYING: Replaced with the plain text version of GPLv3.
44026
44027 * config.guess: Updated from gnulib.
44028 * config.sub: Likewise.
44029
44030 * geninit.sh: Output a GPLv3 copyright notice.
44031 * geninitheader.sh: Likewise.
44032 * genmodsrc.sh: Likewise.
44033 * gensymlist.sh.in: Likewise.
44034
44035 * boot/i386/pc/boot.S: Upgraded to GPLv3.
44036 * boot/i386/pc/diskboot.S: Likewise.
44037 * boot/i386/pc/pxeboot.S: Likewise.
44038 * commands/blocklist.c: Likewise.
44039 * commands/boot.c: Likewise.
44040 * commands/cat.c: Likewise.
44041 * commands/cmp.c: Likewise.
44042 * commands/configfile.c: Likewise.
44043 * commands/echo.c: Likewise.
44044 * commands/help.c: Likewise.
44045 * commands/ls.c: Likewise.
44046 * commands/search.c: Likewise.
44047 * commands/terminal.c: Likewise.
44048 * commands/test.c: Likewise.
44049 * commands/videotest.c: Likewise.
44050 * commands/i386/cpuid.c: Likewise.
44051 * commands/i386/pc/halt.c: Likewise.
44052 * commands/i386/pc/play.c: Likewise.
44053 * commands/i386/pc/reboot.c: Likewise.
44054 * commands/i386/pc/vbeinfo.c: Likewise.
44055 * commands/i386/pc/vbetest.c: Likewise.
44056 * commands/ieee1275/halt.c: Likewise.
44057 * commands/ieee1275/reboot.c: Likewise.
44058 * commands/ieee1275/suspend.c: Likewise.
44059 * disk/loopback.c: Likewise.
44060 * disk/lvm.c: Likewise.
44061 * disk/raid.c: Likewise.
44062 * disk/efi/efidisk.c: Likewise.
44063 * disk/i386/pc/biosdisk.c: Likewise.
44064 * disk/ieee1275/ofdisk.c: Likewise.
44065 * font/manager.c: Likewise.
44066 * fs/affs.c: Likewise.
44067 * fs/ext2.c: Likewise.
44068 * fs/fat.c: Likewise.
44069 * fs/fshelp.c: Likewise.
44070 * fs/hfs.c: Likewise.
44071 * fs/hfsplus.c: Likewise.
44072 * fs/iso9660.c: Likewise.
44073 * fs/jfs.c: Likewise.
44074 * fs/minix.c: Likewise.
44075 * fs/sfs.c: Likewise.
44076 * fs/ufs.c: Likewise.
44077 * fs/xfs.c: Likewise.
44078 * hello/hello.c: Likewise.
44079 * include/grub/acorn_filecore.h: Likewise.
44080 * include/grub/arg.h: Likewise.
44081 * include/grub/bitmap.h: Likewise.
44082 * include/grub/boot.h: Likewise.
44083 * include/grub/cache.h: Likewise.
44084 * include/grub/device.h: Likewise.
44085 * include/grub/disk.h: Likewise.
44086 * include/grub/dl.h: Likewise.
44087 * include/grub/elfload.h: Likewise.
44088 * include/grub/env.h: Likewise.
44089 * include/grub/err.h: Likewise.
44090 * include/grub/file.h: Likewise.
44091 * include/grub/font.h: Likewise.
44092 * include/grub/fs.h: Likewise.
44093 * include/grub/fshelp.h: Likewise.
44094 * include/grub/gzio.h: Likewise.
44095 * include/grub/hfs.h: Likewise.
44096 * include/grub/kernel.h: Likewise.
44097 * include/grub/loader.h: Likewise.
44098 * include/grub/lvm.h: Likewise.
44099 * include/grub/misc.h: Likewise.
44100 * include/grub/mm.h: Likewise.
44101 * include/grub/net.h: Likewise.
44102 * include/grub/normal.h: Likewise.
44103 * include/grub/parser.h: Likewise.
44104 * include/grub/partition.h: Likewise.
44105 * include/grub/pc_partition.h: Likewise.
44106 * include/grub/raid.h: Likewise.
44107 * include/grub/rescue.h: Likewise.
44108 * include/grub/script.h: Likewise.
44109 * include/grub/setjmp.h: Likewise.
44110 * include/grub/symbol.h: Likewise.
44111 * include/grub/term.h: Likewise.
44112 * include/grub/terminfo.h: Likewise.
44113 * include/grub/tparm.h: Likewise.
44114 * include/grub/types.h: Likewise.
44115 * include/grub/video.h: Likewise.
44116 * include/grub/efi/api.h: Likewise.
44117 * include/grub/efi/chainloader.h: Likewise.
44118 * include/grub/efi/console.h: Likewise.
44119 * include/grub/efi/console_control.h: Likewise.
44120 * include/grub/efi/disk.h: Likewise.
44121 * include/grub/efi/efi.h: Likewise.
44122 * include/grub/efi/pe32.h: Likewise.
44123 * include/grub/efi/time.h: Likewise.
44124 * include/grub/i386/linux.h: Likewise.
44125 * include/grub/i386/setjmp.h: Likewise.
44126 * include/grub/i386/types.h: Likewise.
44127 * include/grub/i386/efi/kernel.h: Likewise.
44128 * include/grub/i386/efi/loader.h: Likewise.
44129 * include/grub/i386/efi/time.h: Likewise.
44130 * include/grub/i386/pc/biosdisk.h: Likewise.
44131 * include/grub/i386/pc/boot.h: Likewise.
44132 * include/grub/i386/pc/chainloader.h: Likewise.
44133 * include/grub/i386/pc/console.h: Likewise.
44134 * include/grub/i386/pc/init.h: Likewise.
44135 * include/grub/i386/pc/kernel.h: Likewise.
44136 * include/grub/i386/pc/loader.h: Likewise.
44137 * include/grub/i386/pc/memory.h: Likewise.
44138 * include/grub/i386/pc/multiboot.h: Likewise.
44139 * include/grub/i386/pc/serial.h: Likewise.
44140 * include/grub/i386/pc/time.h: Likewise.
44141 * include/grub/i386/pc/vbe.h: Likewise.
44142 * include/grub/i386/pc/vbeblit.h: Likewise.
44143 * include/grub/i386/pc/vbefill.h: Likewise.
44144 * include/grub/i386/pc/vbeutil.h: Likewise.
44145 * include/grub/i386/pc/vga.h: Likewise.
44146 * include/grub/ieee1275/ieee1275.h: Likewise.
44147 * include/grub/ieee1275/ofdisk.h: Likewise.
44148 * include/grub/powerpc/libgcc.h: Likewise.
44149 * include/grub/powerpc/setjmp.h: Likewise.
44150 * include/grub/powerpc/types.h: Likewise.
44151 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44152 * include/grub/powerpc/ieee1275/console.h: Likewise.
44153 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44154 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44155 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44156 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44157 * include/grub/powerpc/ieee1275/time.h: Likewise.
44158 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44159 * include/grub/sparc64/libgcc.h: Likewise.
44160 * include/grub/sparc64/setjmp.h: Likewise.
44161 * include/grub/sparc64/types.h: Likewise.
44162 * include/grub/sparc64/ieee1275/console.h: Likewise.
44163 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44164 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44165 * include/grub/sparc64/ieee1275/time.h: Likewise.
44166 * include/grub/util/biosdisk.h: Likewise.
44167 * include/grub/util/getroot.h: Likewise.
44168 * include/grub/util/lvm.h: Likewise.
44169 * include/grub/util/misc.h: Likewise.
44170 * include/grub/util/raid.h: Likewise.
44171 * include/grub/util/resolve.h: Likewise.
44172 * io/gzio.c: Likewise.
44173 * kern/device.c: Likewise.
44174 * kern/disk.c: Likewise.
44175 * kern/dl.c: Likewise.
44176 * kern/elf.c: Likewise.
44177 * kern/env.c: Likewise.
44178 * kern/err.c: Likewise.
44179 * kern/file.c: Likewise.
44180 * kern/fs.c: Likewise.
44181 * kern/loader.c: Likewise.
44182 * kern/main.c: Likewise.
44183 * kern/misc.c: Likewise.
44184 * kern/mm.c: Likewise.
44185 * kern/parser.c: Likewise.
44186 * kern/partition.c: Likewise.
44187 * kern/rescue.c: Likewise.
44188 * kern/term.c: Likewise.
44189 * kern/efi/efi.c: Likewise.
44190 * kern/efi/init.c: Likewise.
44191 * kern/efi/mm.c: Likewise.
44192 * kern/i386/dl.c: Likewise.
44193 * kern/i386/efi/init.c: Likewise.
44194 * kern/i386/efi/startup.S: Likewise.
44195 * kern/i386/pc/init.c: Likewise.
44196 * kern/i386/pc/lzo1x.S: Likewise.
44197 * kern/i386/pc/startup.S: Likewise.
44198 * kern/ieee1275/ieee1275.c: Likewise.
44199 * kern/powerpc/cache.S: Likewise.
44200 * kern/powerpc/dl.c: Likewise.
44201 * kern/powerpc/ieee1275/cmain.c: Likewise.
44202 * kern/powerpc/ieee1275/crt0.S: Likewise.
44203 * kern/powerpc/ieee1275/init.c: Likewise.
44204 * kern/powerpc/ieee1275/openfw.c: Likewise.
44205 * kern/sparc64/cache.S: Likewise.
44206 * kern/sparc64/dl.c: Likewise.
44207 * kern/sparc64/ieee1275/init.c: Likewise.
44208 * kern/sparc64/ieee1275/openfw.c: Likewise.
44209 * loader/efi/chainloader.c: Likewise.
44210 * loader/efi/chainloader_normal.c: Likewise.
44211 * loader/i386/efi/linux.c: Likewise.
44212 * loader/i386/efi/linux_normal.c: Likewise.
44213 * loader/i386/pc/chainloader.c: Likewise.
44214 * loader/i386/pc/chainloader_normal.c: Likewise.
44215 * loader/i386/pc/linux.c: Likewise.
44216 * loader/i386/pc/linux_normal.c: Likewise.
44217 * loader/i386/pc/multiboot.c: Likewise.
44218 * loader/i386/pc/multiboot_normal.c: Likewise.
44219 * loader/powerpc/ieee1275/linux.c: Likewise.
44220 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44221 * normal/arg.c: Likewise.
44222 * normal/cmdline.c: Likewise.
44223 * normal/command.c: Likewise.
44224 * normal/completion.c: Likewise.
44225 * normal/execute.c: Likewise.
44226 * normal/function.c: Likewise.
44227 * normal/lexer.c: Likewise.
44228 * normal/main.c: Likewise.
44229 * normal/menu.c: Likewise.
44230 * normal/menu_entry.c: Likewise.
44231 * normal/misc.c: Likewise.
44232 * normal/parser.y: Likewise.
44233 * normal/script.c: Likewise.
44234 * normal/i386/setjmp.S: Likewise.
44235 * normal/powerpc/setjmp.S: Likewise.
44236 * normal/sparc64/setjmp.S: Likewise.
44237 * partmap/acorn.c: Likewise.
44238 * partmap/amiga.c: Likewise.
44239 * partmap/apple.c: Likewise.
44240 * partmap/gpt.c: Likewise.
44241 * partmap/pc.c: Likewise.
44242 * partmap/sun.c: Likewise.
44243 * term/gfxterm.c: Likewise.
44244 * term/terminfo.c: Likewise.
44245 * term/efi/console.c: Likewise.
44246 * term/i386/pc/console.c: Likewise.
44247 * term/i386/pc/serial.c: Likewise.
44248 * term/i386/pc/vesafb.c: Likewise.
44249 * term/i386/pc/vga.c: Likewise.
44250 * term/ieee1275/ofconsole.c: Likewise.
44251 * util/biosdisk.c: Likewise.
44252 * util/console.c: Likewise.
44253 * util/genmoddep.c: Likewise.
44254 * util/getroot.c: Likewise.
44255 * util/grub-emu.c: Likewise.
44256 * util/grub-mkdevicemap.c: Likewise.
44257 * util/grub-probe.c: Likewise.
44258 * util/lvm.c: Likewise.
44259 * util/misc.c: Likewise.
44260 * util/raid.c: Likewise.
44261 * util/resolve.c: Likewise.
44262 * util/update-grub.in: Likewise.
44263 * util/update-grub_lib.in: Likewise.
44264 * util/grub.d/00_header.in: Likewise.
44265 * util/grub.d/10_hurd.in: Likewise.
44266 * util/grub.d/10_linux.in: Likewise.
44267 * util/i386/efi/grub-install.in: Likewise.
44268 * util/i386/efi/grub-mkimage.c: Likewise.
44269 * util/i386/pc/grub-install.in: Likewise.
44270 * util/i386/pc/grub-mkimage.c: Likewise.
44271 * util/i386/pc/grub-mkrescue.in: Likewise.
44272 * util/i386/pc/grub-setup.c: Likewise.
44273 * util/i386/pc/misc.c: Likewise.
44274 * util/powerpc/ieee1275/grub-install.in: Likewise.
44275 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44276 * util/powerpc/ieee1275/misc.c: Likewise.
44277 * video/bitmap.c: Likewise.
44278 * video/video.c: Likewise.
44279 * video/i386/pc/vbe.c: Likewise.
44280 * video/i386/pc/vbeblit.c: Likewise.
44281 * video/i386/pc/vbefill.c: Likewise.
44282 * video/i386/pc/vbeutil.c: Likewise.
44283 * video/readers/tga.c: Likewise.
44284
3572d015 442852007-07-02 Robert Millan <rmh@aybabtu.com>
44286
44287 * conf/i386-efi.rmk: Replace obsolete reference to
44288 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44289 with util/getroot.c.
44290 * conf/powerpc-ieee1275.rmk: Likewise.
44291 * conf/sparc64-ieee1275.rmk: Likewise.
44292
44293 * util/grub-emu.c (main): Fix unchecked pointer handling.
44294
2c2a681b 442952007-07-02 Robert Millan <rmh@aybabtu.com>
44296
44297 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44298 invocation to fail, in order to support partition-less media.
44299
44300 * util/i386/pc/grub-install.in: Likewise.
44301
44302 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44303 which fs or partmap modules are needed (akin to its sister scripts).
44304
44305 Also use grub-probe to get rid of unportable /proc/mounts check.
44306
44307 Print the same informational message that the other scripts do, before
fe6b695a 44308 exiting.
2c2a681b 44309
6193defe 443102007-06-23 Robert Millan <rmh@aybabtu.com>
44311
fe6b695a 44312 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 44313 a font file can be found and, if so, echo the GRUB path to it.
44314
44315 * util/update-grub.in: Handle multiple terminals depending on user
44316 input, platform availability and font file presence. Propagate
44317 variables of our findings to /etc/grub.d/ children.
44318
44319 * util/grub.d/00_header.in: Handle multiple terminals, based on
44320 environment setup by update-grub.
44321
eface1dc 443222007-06-23 Robert Millan <rmh@aybabtu.com>
44323
ba50d28f 44324 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 44325
bf697e28 443262007-06-21 Robert Millan <rmh@aybabtu.com>
44327
44328 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44329 indicate end of data section in kernel image.
44330 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44331 GRUB_KERNEL_MACHINE_DATA_END.
44332
44333 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44334 space for it.
44335 * kern/i386/efi/startup.S: Likewise.
44336
44337 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44338 during image generation. Implement --prefix option to override this
44339 patch.
44340 * util/i386/efi/grub-mkimage.c: Likewise.
44341
44342 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44343 code to make path relative to its root into a separate function.
44344
44345 * util/i386/pc/grub-install.in: Use newly provided
44346 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44347 pass the result to grub-install --prefix.
44348
baa574b4 443492007-06-13 Robert Millan <rmh@aybabtu.com>
44350
44351 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44352 DEFAULT_DEVICE_MAP.
44353 * util/grub-emu.c: Use above definitions from misc.h instead of
44354 defining them.
44355 * util/grub-mkdevicemap.c: Likewise.
44356 * util/i386/pc/grub-setup.c: Likewise.
44357 * util/grub-probe.c: Likewise.
44358 (probe): Abort with grub_util_error() when either
44359 grub_guess_root_device or grub_util_get_grub_dev fails.
44360
0215dcbf 443612007-06-12 Robert Millan <rmh@aybabtu.com>
44362
44363 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44364 "pager" assignment.
44365 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44366 "pcdata".
44367 * util/grub-probe.c (probe): Likewise for "drive_name".
44368
8af2ab7b 443692007-06-11 Robert Millan <rmh@aybabtu.com>
44370
44371 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44372 not just the cdrom one.
44373
59d31694 443742007-06-11 Robert Millan <rmh@aybabtu.com>
44375
44376 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44377 Add --pkglibdir=DIR option to override pkglibdir.
44378 Mention --image-type=TYPE in help output.
44379 Fix --grub-mkimage (it was a no-op).
fe6b695a 44380 Abort gracefully when no parameter is given.
59d31694 44381
7ee367e4 443822007-06-11 Robert Millan <rmh@aybabtu.com>
44383
44384 * util/i386/pc/grub-mkrescue.in: New file.
44385 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44386 * Makefile.in: Handle bin_SCRIPTS.
44387
29b0ed46 443882007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44389
44390 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44391 list of video modes.
44392
c0f90770 443932007-06-06 Robert Millan <rmh@aybabtu.com>
44394
44395 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44396 file doesn't exist, or if it is in a filesystem grub can't read.
44397
44398 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44399 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44400 header comment to fit in 80 columns when the variables are resolved.
44401
44402 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44403 could be identified by update-grub. Remove redundant check for
fe6b695a 44404 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44405 handles that).
44406
fb36dc26 444072007-06-04 Robert Millan <rmh@aybabtu.com>
44408
44409 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44410
44411 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44412
44413 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44414
0c68c93e 444152007-06-04 Robert Millan <rmh@aybabtu.com>
44416
44417 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44418
44419 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44420 grub_apple_partition_map_fini.
44421
44422 * util/biosdisk.c
44423 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44424 to access >2 TiB disks).
44425
44426 Print disk->total_sectors with %llu instead of %lu, since this
44427 variable is always 64-bit (prevents wrong disk size from being displayed
44428 on either >2 TiB disk or big-endian CPU).
44429
44430 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44431 into a generic case that supports all (sane) partition maps.
44432
44433 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44434 breaks big-endian.
44435
44436 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44437 and grub_apple_partition_map_fini() after that.
44438
0f23eb74 444392007-06-01 Robert Millan <rmh@aybabtu.com>
44440
44441 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44442
44443 * util/grub.d/00_header.in: Only enable gfxterm when
44444 convert_system_path_to_grub_path() succeeds.
44445
42c71976 444462007-05-20 Robert Millan <rmh@aybabtu.com>
44447
44448 * util/update-grub_lib.in: New file.
44449 * DISTLIST: Add update-grub_lib.in.
44450 * conf/common.rmk: Generate update-grub_lib and install it in
44451 $(lib_DATA).
44452 * Makefile.in: Add install routine for $(lib_DATA).
44453
44454 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44455 function provided by update-grub_lib to support arbitrary paths of
44456 unifont.pff.
44457 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44458 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44459
5beb2291 444602007-05-19 Robert Millan <rmh@aybabtu.com>
44461
44462 * commands/i386/cpuid.c: New module.
44463 * DISTLIST: Add it.
44464 * conf/i386-efi.rmk: Enable cpuid.mod.
44465 * conf/i386-pc.rmk: Likewise.
44466
7262eca1 444672007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44468
44469 * kern/disk.c (grub_disk_read): Check return value of
44470 grub_realloc().
44471
260ba823 444722007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44473
44474 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44475 arrays.
44476 * disk/raid.c (grub_raid_open): Likewise.
44477
1ecb6cf2 444782007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44479
44480 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44481 stack instead of on the heap.
44482
44483 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44484 before doing a read on it.
44485
44486 * configure.ac: Only use -fno-stack-protector for the target
44487 environment.
f19dbdb7 44488
21c8cbb1 444892007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44490
44491 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44492 __attribute_ ((unused)) to mode_type argument.
44493
44494 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44495
21c8cbb1 44496 * kern/misc.c (memcmp): Fix prototype.
44497
44498 * include/grub/partition.h [GRUB_UTIL]
44499 (grub_gpt_partition_map_init): Add prototype.
44500 (grub_gpt_partition_map_fini): Likewise.
44501
44502 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44503 at the right place.
44504
44505 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44506 (grub_fat_read_data): Likewise.
44507 (grub_fat_find_dir): Likewise.
44508
44509 * font/manager.c (find_glyph): Make table a const.
44510 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44511
849d55d3 445122007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44513
44514 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44515 code, first search for device in /dev/mapper, then in /dev.
44516 (grub_util_get_grub_dev): New function.
44517 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44518 prototype.
44519 * util/grub-probe.c (probe): Remove check for RAID, call
44520 grub_util_get_grub_dev() instead of
44521 grub_util_biosdisk_get_grub_dev().
44522 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44523 grub_util_biosdisk_get_grub_dev().
44524 * util/i386/pc/grub-setup.c (main): Likewise.
44525
8fff7c2f 445262007-05-16 Robert Millan <rmh@aybabtu.com>
44527
44528 * DISTLIST: Update for the latest changes.
44529 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44530 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44531 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44532 grub/util/biosdisk.h.
44533 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44534 grub/util/biosdisk.h.
44535
48e12b52 445362007-05-16 Robert Millan <rmh@aybabtu.com>
44537
44538 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44539
46b9d128 445402007-05-16 Robert Millan <rmh@aybabtu.com>
44541
44542 * util/i386/efi/grub-install.in: New.
44543 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44544 newly added grub-install.
44545 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44546 include.
44547 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44548 grub/util/biosdisk.h.
44549 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44550 grub/util/biosdisk.h.
44551
2d1a40a9 445522007-05-16 Robert Millan <rmh@aybabtu.com>
44553
44554 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44555 * include/grub/util/biosdisk.h: ... here.
44556 * util/i386/pc/biosdisk.c: Moved to ...
44557 * util/biosdisk.c: ... here.
44558 * util/i386/pc/getroot.c: Moved to ...
44559 * util/getroot.c: ... here.
44560 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44561 * util/grub-mkdevicemap.c: ... here.
44562 * util/i386/pc/grub-probe.c: Moved to ...
44563 * util/grub-probe.c: ... here.
44564
9e26e3bc 445652007-05-15 Robert Millan <rmh@aybabtu.com>
44566
44567 * util/update-grub.in: Remove duplicated line in grub.cfg header
44568 message.
44569
57f96397 445702007-05-13 Robert Millan <rmh@aybabtu.com>
44571
44572 * util/update-grub.in: Fix a few assumptions about the devices holding
44573 /, /boot and /boot/grub being the same.
44574 * util/grub.d/00_header.in: Likewise.
44575 * util/grub.d/10_hurd.in: Likewise.
44576 * util/grub.d/10_linux.in: Likewise.
44577
44578 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44579 patterns. Use that to define the `.old' suffix as older than `'.
44580
44581 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44582
44583 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44584 the grub.cfg header message.
44585
2e610d62 445862007-05-11 Robert Millan <rmh@aybabtu.com>
44587
44588 * util/update-grub.in: Create device.map if it doesn't already exist,
44589 before attempting to run grub-probe.
44590 Check for grub-probe and grub-mkdevicemap with the same code
44591 grub-install is using.
44592 Remove test mode.
44593
3f6a10ef 445942007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44595
44596 * Makefile.in: Add the datarootdir autoconf variable.
44597
02e7b75e 445982007-05-09 Robert Millan <rmh@aybabtu.com>
44599
44600 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44601 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44602
75f396cc 446032007-05-07 Robert Millan <rmh@aybabtu.com>
44604
44605 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44606 determine partition map module.
44607 * util/i386/pc/grub-install.in: Use this feature to decide which
44608 partition module to load, instead of hardcoding pc and gpt.
44609
da65cb36 446102007-05-07 Robert Millan <rmh@aybabtu.com>
44611
44612 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44613 source directory differs from build directory.
44614
b57d6a91 446152007-05-05 Robert Millan <rmh@aybabtu.com>
44616
44617 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44618 initialisation.
44619
509d00f1 446202007-05-05 Robert Millan <rmh@aybabtu.com>
44621
44622 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44623
c48f23ef 446242007-05-05 Robert Millan <rmh@aybabtu.com>
44625
44626 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44627 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44628
20b97658 446292007-05-05 Robert Millan <rmh@aybabtu.com>
44630
44631 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44632 (grub_probe_SOURCES): Likewise.
44633 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44634 GPT and initialize dos_part and bsd_part accordingly.
44635 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44636 install_bsd_part.
44637 (main): Activate gpt module for use during partition identification,
44638 and deactivate it afterwards.
44639 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44640 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44641 partition identification, and deactivate it afterwards.
44642
99123174 446432007-05-05 Robert Millan <rmh@aybabtu.com>
44644
44645 * term/i386/pc/console.c (grub_console_fini): Call
44646 grub_term_set_current() before grub_term_unregister().
44647
ebd97f6e 446482007-05-04 Robert Millan <rmh@aybabtu.com>
44649
44650 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44651 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44652 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44653 and update-grub_DATA.
44654 * conf/common.rmk: Build and install update-grub components.
44655 * conf/common.mk: Regenerate.
44656 * util/update-grub.in: New. Core of update-grub.
44657 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44658 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44659 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44660 * util/grub.d/README: New. Document grub.d directory layout.
44661
b06a264d 446622007-05-01 Robert Millan <rmh@aybabtu.com>
44663
44664 * util/grub-emu.c: Move initialization functions
44665 grub_util_biosdisk_init() and grub_init_all() before
44666 grub_util_biosdisk_get_grub_dev(), which relies on them.
44667
41f0050e 446682007-04-19 Robert Millan <rmh@aybabtu.com>
44669
44670 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44671 it is used later.
44672
04582bb3 446732007-04-18 Jerone Young <jerone@gmail.com>
44674
f19dbdb7 44675 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44676 stanza.
44677
08db4632 446782007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44679
08db4632 44680 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44681 continue on and look for device node with real device name.
44682
801b76be 446832007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44684
fe6b695a 44685 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44686 ability.
44687 * Makefile.in: Add autoconf package transformation code.
44688 * util/i386/pc/grub-install.in: Likewise.
44689 * util/powerpc/ieee1275/grub-install.in: Likewise.
44690
6795c4e1 446912007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44692
44693 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44694 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44695 (EXT2_REVISION): Likewise.
44696 (EXT2_INODE_SIZE): Likewise.
44697 (struct grub_ext2_block_group): Added a missing member
44698 "used_dirs".
44699 (grub_ext2_read_inode): Divide by the inode size in a superblock
44700 instead of 128 to obtain INODES_PER_BLOCK.
44701 Use the macro EXT2_INODE_SIZE instead of directly using
44702 SBLOCK->INODE_SIZE.
44703
d70af616 447042007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44705
44706 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44707 superblock instead of the structure size to compute an
44708 offset. This fixes the problem that GRUB could not read a
44709 filesystem when inode size is different from 128-byte.
44710
3b801603 447112007-03-05 Marco Gerards <marco@gnu.org>
44712
44713 * normal/main.c (read_config_file): When "menu" is not set, create
44714 an initial context.
44715
4785bfe4 447162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44717
44718 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44719 (HEAP_LIMIT): New macro.
44720 (grub_claim_heap): Claim memory up to `heaplimit'.
44721
a0cbb023 447222007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44723
44724 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44725 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44726 (_start): Likewise.
44727 (grub_arch_modules_addr): Return address after `_end'.
44728 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44729 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44730 (add_segments): Calculate `_end' from phdr size and location.
44731 (ALIGN_UP): Moved to ...
44732 * include/grub/misc.h: here.
44733 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44734 New macro.
44735 (GRUB_IEEE1275_MODULE_BASE): Removed.
44736
fd7d8eba 447372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44738
44739 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44740 loop boundary.
44741
9b09e6fc 447422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44743
44744 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44745 All users updated.
44746 (grub_elf64_load_hook_t): Likewise.
44747 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44748 debug output.
44749
3ce27299 447502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44751
44752 * kern/mm.c: Update copyright.
44753 (grub_mm_debug): Correct syntax error.
44754 (grub_mm_dump_free): New function.
44755 (grub_debug_free): Call `grub_free'.
44756 * include/grub/mm.h: Update copyright.
44757 (grub_mm_dump_free): Add declaration.
44758
077d5fee 447592007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44760
44761 * include/grub/ieee1275/ieee1275.h: Update copyright.
44762 * kern/powerpc/ieee1275/init.c: Likewise.
44763 * kern/powerpc/ieee1275/openfw.c: Likewise.
44764
44765 * loader/powerpc/ieee1275/linux.c: Likewise.
44766 * include/grub/elfload.h: Likewise.
44767 * kern/elf.c: Likewise.
44768 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44769 callers.
44770 (grub_elf64_load): Likewise.
44771 (grub_elf32_load_segment): Move to a nested function.
44772 (grub_elf64_load_segment): Likewise.
44773
dc946850 447742007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44775
44776 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44777 prototype.
44778 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44779 (grub_heap_len): Likewise.
44780 (HEAP_SIZE): New macro.
44781 (grub_claim_heap): New function.
44782 (grub_machine_init): Don't claim heap directly. Call
44783 `grub_claim_heap'.
44784 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44785 (grub_available_iterate): New function.
44786
baa2a121 447872007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44788
44789 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44790 * configure.ac: Use it for testing the HOST and TARGET compilers.
44791
4fe9862e 447922006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44793
44794 * Makefile.in (enable_grub_emu): New variable.
44795 * configure.ac (--enable-grub-emu): New option.
44796 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44797 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44798 * conf/i386-pc.rmk: Likewise.
44799 * conf/powerpc-ieee1275.rmk: Likewise.
44800 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44801
a8aa5762 448022006-12-12 Marco Gerards <marco@gnu.org>
44803
44804 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44805
44806 * kern/env.c (grub_env_unset): Don't free the member `value' when
44807 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44808 pointer.
44809
44810 * normal/main.c (current_menu): Removed.
44811 (free_menu): Unset the `menu' environment variable.
44812 (grub_normal_menu_addentry): Make use of the environment variable
44813 `menu', instead of using the global `current_menu'. Allocate
44814 memory for the sourcecode of this entry.
44815 (read_config_file): New argument `nested', changed all callers.
44816 Only in the case of a new context, initialize a new menu. Set the
44817 `menu' environment variable.
44818 (grub_normal_execute): Don't set and unset the environment
44819 variable `menu' here anymore. Only free the menu when leaving the
44820 context.
44821
44822 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44823 leak.
44824
957b3a3e 448252006-12-11 Marco Gerards <marco@gnu.org>
44826
44827 * normal/menu_entry.c (run): Fix off by one bug so the last line
44828 is executed. Move the loader check to outside the loop.
44829
ef875714 448302006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44831
44832 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44833
4e739985 448342006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44835
44836 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44837 the number of sectors. Reported by Andrey Shuvikov
44838 <mr_hyro@yahoo.com>.
f19dbdb7 44839
790707f2 448402006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44841
44842 * kern/disk.c (grub_disk_read): When there is a read error, always
44843 try to read only the necessary data.
f19dbdb7 44844
790707f2 44845 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44846 disk/raid.c.
44847 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44848 prototype.
44849 [GRUB_UTIL] (grub_raid_fini): Likewise.
44850 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44851 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44852 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44853 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44854 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44855 and grub_raid_fini().
f19dbdb7 44856
03e58196 448572006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44858
44859 * include/grub/types.h (__unused): Rename to UNUSED.
44860 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44861 (grub_elf64_size): Likewise.
f19dbdb7 44862
ae4f23bf 448632006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44864
44865 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44866 grub_error_push and grub_error_pop in the error-handling path.
44867 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44868 length.
44869
2166cc83 448702006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44871
44872 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44873 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44875 (kernel_elf_SOURCES): Likewise.
44876 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44877 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44878 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44879 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44880 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44881 (elf_mod_SOURCES): New variable.
44882 (elf_mod_CFLAGS): Likewise.
44883 (elf_mod_LDFLAGS): Likewise.
44884 * include/grub/types.h (__unused): New macro.
44885 * include/grub/elfload.h: New file.
44886 * kern/elf.c: Likewise.
44887 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44888 (ELF32_LOADMASK): New macro.
44889 (ELF64_LOADMASK): Likewise.
44890 (vmlinux): Removed.
44891 (grub_linux_load32): New function.
44892 (grub_linux_load64): Likewise.
44893 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44894 Use grub_elf_t instead of grub_file_t.
44895
a09d5aa5 448962006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44897
44898 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44899 `catch_result' to struct set_color_args.
44900
d976fc51 449012006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44902
44903 * normal/menu.c: Include grub/script.h.
44904 * normal/menu_entry.c: Likewise.
44905 * include/grub/normal.h: Do not include grub/script.h.
44906
67507549 449072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44908
44909 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44910
69203a99 449112006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44912
44913 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44914 disk.
44915 (grub_disk_close): Print debug messages when closing a disk.
44916 (grub_disk_read): Print debug messages when disk read fails.
44917 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44918 filesystem type.
44919 * kern/partition.c: Include misc.h.
44920 (grub_partition_iterate): Print debug messages when detecting
44921 partition type.
44922
e2b8278c 449232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44924
44925 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44926 is negative.
44927 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44928
97b2f2ff 449292006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44930
44931 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44932 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44933
6555d655 449342006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44935
44936 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44937 instead of sizeof(lv). Patch by Michael Guntsche.
44938
4d42b77f 449392006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44940
44941 * disk/lvm.c: Rename VGS to VG_LIST.
44942 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44943 (grub_lvm_open): Likewise.
44944 Thanks to Michael Guntsche for finding this bug.
44945
5d74d927 449462006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44947
44948 * configure.ac (AC_INIT): Bumped to 1.95.
44949
a1bb27e4 449502006-10-14 Robert Millan <rmh@aybabtu.com>
44951
44952 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44953 with "/dev/.static/dev/md".
44954
e0994b8b 449552006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44956
44957 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44958 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44959 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44960 DRIVE_NAME are always freed.
44961
44962 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44963 DOS_PART, as a DOS partition is counted from one instead of zero
44964 now. Reported by Robert Millan.
44965
ddd5cee9 449662006-10-14 Robert Millan <rmh@aybabtu.com>
44967
44968 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44969 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44970 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44971 string returned by grub_guess_root_device.
44972 * util/i386/pc/grub-setup.c: Likewise.
44973 * util/i386/pc/grub-probefs.c: Likewise.
44974
44975 * util/i386/pc/grub-probefs.c: Rename to ...
44976 * util/i386/pc/grub-probe.c: ... this.
44977 * DISTLIST: Remove grub-probefs, add grub-probe.
44978 * conf/i386-efi.rmk: Likewise.
44979 * conf/i386-pc.rmk: Likewise.
44980 * util/i386/pc/grub-install.in: Likewise.
44981
44982 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44983 choose which information we want to print.
44984
2b002173 449852006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44986
44987 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44988 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44989 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44990 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44991 video/readers/tga.c and video/i386/pc/vbeutil.c.
44992
449932006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44994
44995 Added support for RAID and LVM.
f19dbdb7 44996
2b002173 44997 * disk/lvm.c: New file.
44998 * disk/raid.c: Likewise.
44999 * include/grub/lvm.h: Likewise.
f19dbdb7 45000 * include/grub/raid.h: Likewise.
2b002173 45001 * include/grub/util/lvm.h: Likewise.
45002 * include/grub/util/raid.h: Likewise.
45003 * util/lvm.c: Likewise.
45004 * util/raid.c: Likewise.
45005
45006 * include/grub/disk.h (grub_disk_dev_id): Add
45007 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
45008 (grub_disk_get_size): New prototype.
45009 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
45010 returns a partition.
45011 (grub_disk_get_size): New function.
f19dbdb7 45012
2b002173 45013 * kern/i386/pc/init.c (make_install_device): Copy the prefix
45014 verbatim if grub_install_dos_part is -2.
45015
45016 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
45017 and LVM devices.
45018
45019 * util/i386/pc/grub-setup.c (setup): New argument
45020 MUST_EMBED. Force embedding of GRUB when the argument is
45021 true. Close FILE before returning.
45022 (main): Add support for RAID and LVM.
f19dbdb7 45023
2b002173 45024 * conf/common.rmk: Add RAID and LVM modules.
45025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
45026 util/lvm.c.
45027 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
45028
45029 * kern/misc.c (grub_strstr): New function.
45030 * include/grub/misc.h (grub_strstr): New prototype.
45031
050548d0 450322006-10-10 Tristan Gingold <tristan.gingold@bull.net>
45033
45034 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
45035
da849d2d 450362006-10-05 Tristan Gingold <tristan.gingold@bull.net>
45037
45038 * kern/misc.c (grub_strtoull): Guess the base only if not
45039 specified.
45040
97b2f2ff 450412006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 45042
45043 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
45044 PowerMac support.
45045
97b2f2ff 450462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 45047
45048 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
45049
45050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
45051 Remove `flags' argument. All callers changed.
45052 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
45053 (IEEE1275_IHANDLE_INVALID): New variable.
45054 (IEEE1275_CELL_INVALID): New variable.
45055 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
45056 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
45057 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
45058 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
45059 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45060 codes from Open Firmware. All callers updated.
45061 (grub_ieee1275_next_property): Directly return Open Firmware return
45062 code.
45063 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45064 Standardize error checking from `grub_ieee1275_get_property'.
45065 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45066 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45067
97b2f2ff 450682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 45069
45070 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45071 `instance_to_package_args' to `instance_to_path_args'.
45072
45073 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45074 `grub_ieee1275_chosen'.
45075
45076 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45077 `grub_ieee1275_interpret'.
45078
97b2f2ff 450792006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 45080
45081 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45082
97b2f2ff 450832006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 45084
45085 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45086 (__cmpdi): Likewise.
45087
45088 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45089 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45090 `grub_ssize_t'.
45091
02bb8acc 45092 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 45093
45094 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45095 to type `grub_ssize_t'.
45096 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45097
7f9a8531 450982006-09-22 Marco Gerards <marco@gnu.org>
45099
45100 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45101 newlines.
45102
b5ef1102 451032006-09-22 Marco Gerards <marco@gnu.org>
45104
45105 * commands/echo.c: New file.
45106
45107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45108
45109 * conf/common.rmk (echo_mod_SOURCES): New variable.
45110 (echo_mod_CFLAGS): Likewise.
45111 (echo_mod_LDFLAGS): Likewise.
45112
2cff3677 451132006-09-22 Marco Gerards <marco@gnu.org>
45114
45115 * normal/main.c (get_line): Malloc memory instead of using
45116 preallocated memory. Removed the arguments `cmdline' and
45117 `max_len'. Updated all callers.
45118
6ba4688b 451192006-09-22 Marco Gerards <marco@gnu.org>
45120
45121 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45122 (normal_mod_DEPENDENCIES): Likewise.
45123
45124 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45125 (normal_mod_DEPENDENCIES): Likewise.
45126
45127 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45128
e02ac02c 451292006-09-22 Johan Rydberg <jrydberg@gnu.org>
45130
45131 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45132 programs.
45133 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45134 (normal_mod_DEPENDENCIES): Likewise.
45135 * conf/i386-pc.mk: Regenerate.
45136 * conf/i386-efi.mk: Likewise
45137 * conf/common.mk: Likewise.
45138 * conf/powerpc-ieee1275.mk: Likewise.
45139 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45140
8d252e44 451412006-09-22 Robert Millan <rmh@aybabtu.com>
45142
45143 Sync with i386 version.
45144 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45145 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45146
209bf7ac 451472006-09-21 Robert Millan <rmh@aybabtu.com>
45148
45149 Import from GRUB Legacy (lib/device.c):
45150 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45151 (init_device_map) [__linux__]: Add support for I2O devices.
45152
6b146090 451532006-09-14 Marco Gerards <marco@gnu.org>
45154
45155 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45156 `-melf_i386'.
45157
e38600a8 451582006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 45159
45160 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45161 /boot/grub/*.lst.
78fa1790 45162
2952da5d 45163 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 45164
2952da5d 45165 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45166 before adding it to device.map.
45167
01b82a64 451682006-08-15 Johan Rydberg <jrydberg@gnu.org>
45169
fe6b695a 45170 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 45171 compiles a file; using the -MD option.
45172 * conf/common.mk: Regenerate.
45173 * conf/i386-pc.mk: Likewise.
45174 * conf/i386-efi.mk: Likewise.
45175 * conf/powerpc-ieee1275.mk: Likewise.
45176 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 45177
1064790d 451782006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45179
45180 Move the prototypes of grub_setjmp and grub_longjmp to
45181 cpu/setjmp.h, so that each architecture may specify different
45182 attributes.
f19dbdb7 45183
1064790d 45184 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45185 (grub_longjmp): Likewise.
45186 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45187 (grub_longjmp): Likewise.
45188 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45189 (grub_longjmp): Likewise.
45190
45191 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45192 [!GRUB_UTIL] (grub_longjmp): Removed.
45193
29dda3ed 451942006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45195
45196 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45197 "color!" method does not return any value.
45198
ad2a06ed 451992006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45200
45201 * include/grub/bitmap.h: New file.
45202
45203 * include/grub/i386/pc/vbeutil.h: Likewise.
45204
45205 * video/bitmap.c: Likewise.
45206
45207 * video/readers/tga.c: Likewise.
45208
45209 * video/i386/pc/vbeutil.c: Likewise.
45210
45211 * commands/videotest.c: Code cleanup and updated to reflect to new
45212 video API.
45213
45214 * term/gfxterm.c: Likewise.
45215
45216 * video/video.c: Likewise.
45217
45218 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45219 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45220 (bitmap_mod_SOURCES): New entry.
45221 (bitmap_mod_CFLAGS): Likewise.
45222 (bitmap_mod_LDFLAGS): Likewise.
45223 (tga_mod_SOURCES): Likewise.
45224 (tga_mod_CFLAGS): Likewise.
45225 (tga_mod_LDFLAGS): Likewise.
45226
45227 * include/grub/video.h (grub_video_blit_operators): New enum type.
45228 (grub_video_render_target): Changed as forward declaration and moved
45229 actual definition to be video driver specific.
45230 (grub_video_adapter.blit_bitmap): Added blitting operator.
45231 (grub_video_adapter.blit_render_target): Likewise.
45232 (grub_video_blit_bitmap): Likewise.
45233 (grub_video_blit_render_target): Likewise.
45234
45235 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45236 driver specific render target definition.
45237 (grub_video_vbe_map_rgba): Added driver internal helper.
45238 (grub_video_vbe_unmap_color): Updated to use
45239 grub_video_i386_vbeblit_info.
45240 (grub_video_vbe_get_video_ptr): Likewise.
45241
45242 * include/grub/i386/pc/vbeblit.h
45243 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45244 grub_video_i386_vbeblit_info.
45245 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45246 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45247 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45248 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45249 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45250 (grub_video_i386_vbeblit_index_index): Likewise.
45251 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45252 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45253 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45254 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45255 operator.
45256 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45257 operator.
45258
45259 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45260 include/grub/i386/pc/vbeblit.h.
45261
45262 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45263 Updated to use grub_video_i386_vbeblit_info.
45264 (grub_video_i386_vbefill_R8G8B8): Likewise.
45265 (grub_video_i386_vbefill_index): Likewise.
45266 (grub_video_i386_vbefill): Added generic filler.
45267
45268 * video/i386/pc/vbefill.c: Updated to reflect changes on
45269 include/grub/i386/pc/vbefill.h.
45270
45271 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45272 grub_video_i386_vbeblit_info.
45273 (grub_video_vbe_unmap_color): Likewise.
45274 (grub_video_vbe_blit_glyph): Likewise.
45275 (grub_video_vbe_scroll): Likewise.
45276 (grub_video_vbe_draw_pixel): Removed function.
45277 (grub_video_vbe_get_pixel): Likewise.
45278 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45279 updated code to use it.
45280 (common_blitter): Added common blitter for render target and bitmap.
45281 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45282 (grub_video_vbe_blit_render_target): Likewise.
45283
bc8c036d 452842006-07-30 Johan Rydberg <jrydberg@gnu.org>
45285
45286 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45287 is in text mode if there is no console control protocol instance
45288 available.
45289
684a8eff 452902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45291
45292 * include/grub/video.h: Code cleanup.
45293
45294 * include/grub/i386/pc/vbe.h: Likewise.
45295
45296 * video/i386/pc/vbe.c: Likewise.
45297
45298 * video/i386/pc/vbeblit.c: Likewise.
45299
45300 * video/i386/pc/vbefill.c: Likewise.
45301
45302 * video/video.c: Likewise. Also added more comments.
45303
5915059b 453042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45305
45306 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45307 (struct grub_biosdisk_dap): Likewise.
45308
45309 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45310 linkage settings for all functions.
45311
90ce5d56 453122006-07-12 Marco Gerards <marco@gnu.org>
45313
45314 * configure.ac (--enable-mm-debug): Fix typo.
45315
45316 * genkernsyms.sh.in: Use proper quoting for `CC'.
45317
43e7f879 453182006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45319
45320 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45321 (normal_mod_ASFLAGS): Remove "-m32".
45322
4889bdec 453232006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45324
45325 * util/misc.c: Include config.h.
45326 [!HAVE_MEMALIGN]: Do not include malloc.h.
45327 (grub_memalign): Use posix_memalign, if present. Then, use
45328 memalign, if present. Otherwise, emit an error.
45329
45330 * util/grub-emu.c: Do not include malloc.h.
45331
45332 * include/grub/util/misc.h: Include unistd.h. This is required for
45333 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45334 D. Eades III <hde@foobar-qux.org>.
45335
45336 * configure.ac (AC_GNU_SOURCE): Added.
45337 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45338 type.
45339
fd39d4da 453402006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45341
45342 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45343 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45344
b786f3b5 453452006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45346
45347 * include/grub/types.h (grub_host_addr_t): Rename to
45348 grub_target_addr_t.
45349 (grub_host_off_t): Rename to grub_target_off_t.
45350 (grub_host_size_t): Rename to grub_target_size_t.
45351 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45352 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45353
45354 * include/grub/kernel.h (struct grub_module_header): Change type
45355 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45356 (grub_module_info): Likewise.
f19dbdb7 45357
051988bb 453582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45359
45360 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45361 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45362 Velazquez <jesus.velazquez@gmail.com>.
45363
deae281b 453642006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45365
45366 Count partitions from 1 instead of 0 in the string representation
45367 of partitions. Still use 0-based internally.
f19dbdb7 45368
deae281b 45369 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45370 (sun_partition_map_iterate): Use grub_partition_t instead of
45371 struct grub_partition *. Cast DESC->START_CYLINDER to
45372 grub_uint64_t after converting the endian.
45373 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45374 (sun_partition_map_get_name): Add 1 to P->INDEX.
45375
45376 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45377 PCDATA->DOS_PART.
45378 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45379
45380 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45381 zero instead of one.
45382 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45383 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45384
45385 * partmap/apple.c (apple_partition_map_iterate): Change the type
45386 of POS to unsigned.
45387 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45388 (apple_partition_map_get_name): Add 1 into P->INDEX.
45389
45390 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45391 of POS to unsigned.
45392 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45393 calculate the offset of a partition.
45394 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45395 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45396
45397 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45398 SECTOR to grub_disk_addr_t.
45399 (acorn_partition_map_iterate): Likewise.
45400 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45401 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45402 top.
45403 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45404
45405 * kern/i386/pc/init.c (make_install_device): Add 1 into
45406 GRUB_INSTALL_DOS_PART.
45407
45408 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45409 conditional.
45410
524a1e6a 454112006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45412
45413 Clean up the code to support 64-bit addressing in disks and
45414 files. This change is not enough for filesystems yet.
f19dbdb7 45415
524a1e6a 45416 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45417 type of "start" to grub_uint64_t.
45418 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45419 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45420 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45421 convert addresses.
45422
45423 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45424 to grub_disk_addr_t.
45425
45426 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45427 string.
45428
45429 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45430
45431 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45432 to char *.
45433
45434 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45435
45436 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45437
45438 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45439
45440 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45441 to grub_off_t, to detect an error from grub_file_seek.
45442 (grub_multiboot_load_elf32): Likewise.
45443
45444 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45445 maximum unsigned long value when an overflow is detected.
45446 (grub_strtoull): New function.
45447 (grub_divmod64): Likewise.
45448 (grub_lltoa): use grub_divmod64.
45449
45450 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45451 grub_disk_addr_t.
45452 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45453 the pointer to next character. Use grub_strtoull instead of
45454 grub_strtoul.
45455 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45456 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45457 respectively.
45458
fe6b695a 45459 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45460 return value is signed.
45461 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45462 test if OFFSET is less than zero, as OFFSET is unsigned now.
45463
45464 * kern/disk.c (struct grub_disk_cache): Change the type of
45465 "sector" to grub_disk_addr_t.
45466 (grub_disk_cache_get_index): Change the type of SECTOR to
45467 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45468 unsigned after shifting.
45469 (grub_disk_cache_invalidate): Change the type of SECTOR to
45470 grub_disk_addr_t.
45471 (grub_disk_cache_unlock): Likewise.
45472 (grub_disk_cache_store): Likewise.
45473 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45474 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45475 grub_disk_addr_t and grub_uint64_t, respectively.
45476 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45477 body, as the value of OFFSET is tweaked by
45478 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45479 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45480 respectively.
45481 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45482 body, as the value of OFFSET is tweaked by
45483 grub_disk_check_range. Change the types of LEN and N to
45484 grub_size_t.
45485
45486 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45487 and "saved_offset" to grub_off_t.
45488 (test_header): Cast BUF to char *.
45489 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45490 to char *.
45491 (grub_gzio_read): Change the types of OFFSET and SIZE to
45492 grub_off_t and grub_size_t, respectively.
45493
45494 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45495 Removed.
45496 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45497 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45498 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45499 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45500 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45501
45502 * include/grub/types.h (grub_off_t): Unconditionally set to
45503 grub_uint64_t.
45504 (grub_disk_addr_t): Changed to grub_uint64_t.
45505
45506 * include/grub/partition.h (struct grub_partition): Change the
45507 types of "start", "len" and "offset" to grub_disk_addr_t,
45508 grub_uint64_t and grub_disk_addr_t, respectively.
45509 (grub_partition_get_start): Return grub_disk_addr_t.
45510 (grub_partition_get_len): Return grub_uint64_t.
45511
45512 * include/grub/misc.h (grub_strtoull): New prototype.
45513 (grub_divmod64): Likewise.
45514
45515 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45516 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45517 grub_off_t, respectively.
45518 All callers and references changed.
45519
45520 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45521 grub_size_t in "read".
45522 All callers and references changed.
45523
45524 * include/grub/file.h (struct grub_file): Change the types of
45525 "offset" and "size" to grub_off_t and grub_off_t,
45526 respectively. Change the type of SECTOR to grub_disk_addr_t in
45527 "read_hook".
45528 (grub_file_read): Change the type of LEN to grub_size_t.
45529 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45530 grub_off_t.
45531 (grub_file_size): Return grub_off_t.
45532 (grub_file_tell): Likewise.
45533 All callers and references changed.
45534
45535 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45536 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45537 "write".
45538 (struct grub_disk): Change the type of "total_sectors" to
45539 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45540 "read_hook".
524a1e6a 45541 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45542 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45543 (grub_disk_write): Likewise.
45544 All callers and references changed.
45545
45546 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45547 char * for grub_strncmp to silence gcc.
45548 (grub_iso9660_mount): Likewise.
45549 (grub_iso9660_mount): Likewise.
45550 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45551 return statement.
45552 (grub_iso9660_iterate_dir): Likewise.
45553 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45554
45555 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45556 LEN to grub_disk_addr_t and grub_size_t, respectively.
45557
45558 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45559
45560 * fs/jfs.c (grub_jfs_read_file): Likewise.
45561
45562 * fs/minix.c (grub_jfs_read_file): Likewise.
45563
45564 * fs/sfs.c (grub_jfs_read_file): Likewise.
45565
45566 * fs/ufs.c (grub_jfs_read_file): Likewise.
45567
45568 * fs/xfs.c (grub_jfs_read_file): Likewise.
45569
45570 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45571 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45572 respectively.
45573
45574 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45575 BLKNR to -1 instead of returning GRUB_ERRNO.
45576 (grub_ext2_read_file): Change the types of SECTOR and
45577 LEN to grub_disk_addr_t and grub_size_t, respectively.
45578
45579 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45580 LEN to grub_disk_addr_t and grub_size_t, respectively.
45581
45582 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45583 grub_file_read.
45584
45585 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45586 string. Do not cast SECTOR explicitly.
45587
45588 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45589 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45590 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45591 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45592 over 2TB and LBA mode is not supported, raise an error.
45593 (get_safe_sectors): New function.
45594 (grub_biosdisk_read): Use get_safe_sectors.
45595 (grub_biosdisk_write): Likewise.
45596
45597 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45598 (grub_efidisk_write): Likewise.
45599
45600 * disk/loopback.c (delete_loopback): Cosmetic changes.
45601 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45602 correctly.
45603 (grub_loopback_open): Likewise.
45604 (grub_loopback_read): Likewise. Also, change the type of POS to
45605 grub_off_t, and fix the usage of grub_memset.
45606
45607 * commands/i386/pc/play.c: Include grub/machine/time.h.
45608
45609 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45610 print FILE->SIZE.
45611
45612 * commands/configfile.c: Include grub/env.h.
45613
45614 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45615 GRUB_ERRNO directly instead. Change the type of POS to
45616 grub_off_t. Follow the coding standard.
45617
45618 * commands/blocklist.c: Include grub/partition.h.
45619 (grub_cmd_blocklist): Return an error if the underlying device is
45620 not a disk. Take the starting sector of a partition into account,
45621 if a partition is used.
45622
45623 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45624 a length field.
45625 (lba_mode): Support 64-bit addresses.
45626 (chs_mode): Likewise.
45627 (copy_buffer): Adapted to the new offsets of a length field and a
45628 segment field.
45629 (blocklist_default_start): Allocate 64-bit space.
45630
45631 * boot/i386/pc/boot.S (force_lba): Removed.
45632 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45633 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45634 space.
45635 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45636 is useless.
45637 (lba_mode): Refactored to support a 64-bit address. More size
45638 optimization.
45639 (setup_sectors): Likewise.
45640
53af98ad 456412006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45642
45643 * DISTLIST: Added include/grub/i386/linux.h. Removed
45644 include/grub/i386/pc/linux.h
45645
45646 * configure.ac (AC_INIT): Bumped to 1.94.
45647
45648 * config.guess: Updated from gnulib.
45649 * config.sub: Likewise.
45650 * install-sh: Likewise.
45651 * mkinstalldirs: Likewise.
45652
b4c1940a 456532006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45654
45655 * conf/common.rmk (grub_modules_init.lst): Depended on
45656 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45657 MODSRCFILES.
45658
45659 * genmk.rb (PModule::rule): Reverted the previous change.
45660
cfca1cfd 456612006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45662
45663 * conf/common.rmk (grub_modules_init.lst): Depends on
45664 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45665 that the target does not exist before producing.
45666 (grub_modules_init.h): Remove the target before generating.
45667 (grub_emu_init.c): Likewise.
45668
45669 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45670
aa6d7826 456712006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45672
45673 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45674 for the target-specific tests. Make sure that we also have the
45675 up-to-date target variables for those tests.
45676
26c607b9 456772006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45678
45679 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45680 (PModule::rule): Likewise.
45681
0162321a 456822006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45685 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45686 target-specific flags should be prefixed.
45687 (PModule::rule): Likewise.
45688
6c826348 456892006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45690
45691 * configure.ac (CMP): Check if cmp is available explicitly.
45692
b977bf01 456932006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45694
45695 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45696 (target_cpu): New variable.
45697 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45698
b977bf01 45699 * util/i386/pc/grub-install.in (host_cpu): Removed.
45700 (target_cpu): New variable.
45701 (pkglibdir): Use target_cpu instead of host_cpu.
45702
45703 * util/genmoddep.c: Removed.
f19dbdb7 45704
b977bf01 45705 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45706 instead of GRUB_HOST_SIZEOF_VOID_P.
45707 * kern/dl.c: Likewise.
45708
45709 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45710 ...
45711 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45712 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45713 (GRUB_TARGET_SIZEOF_LONG): ... this.
45714 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45715 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45716 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45717 to ...
45718 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45719 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45720 (GRUB_TARGET_SIZEOF_LONG): ... this.
45721 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45722 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45723 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45724 to ...
45725 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45726 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45727 (GRUB_TARGET_SIZEOF_LONG): ... this.
45728 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45729 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45730
45731 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45732 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45733 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45734 instead of GRUB_HOST_SIZEOF_LONG.
45735 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45736 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45737 GRUB_CPU_WORDS_BIGENDIAN.
45738 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45739 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45740 grub_host_ssize_t.
45741
45742 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45743 (genmoddep_SOURCES): Likewise.
45744 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45745 (genmoddep_SOURCES): Likewise.
45746 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45747 (genmoddep_SOURCES): Likewise.
45748 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45749 Likewise.
45750 (genmoddep_SOURCES): Likewise.
45751
45752 * genmoddep.awk: New file.
45753
45754 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45755 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45756 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45757 (PModule::rule): Likewise.
45758 (Program::rule): Likewise.
45759 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45760 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45761 respectively.
45762
45763 * configure.ac: Rewritten intensively to use host and target
45764 instead of build and host, respectively.
45765
45766 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45767 (host_cpu): Removed.
45768 (target_cpu): New variable.
45769 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45770 (BUILD_CC): Removed.
45771 (BUILD_CFLAGS): Likewise.
45772 (BUILD_CPPFLAGS): Likewise.
45773 (TARGET_CC): New variable.
45774 (TARGET_CFLAGS): Likewise.
45775 (TARGET_CPPFLAGS): Likewise.
45776 (TARGET_LDFLAGS): Likewise.
45777 (AWK): Likewise.
45778 (include): Use target_cpu instead of host_cpu.
45779 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45780
b977bf01 45781 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45782
f09771a1 457832006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45784
45785 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45786 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45787 field 'false' to 'exec_on_false'.
45788 (grub_script_create_cmdif): Renamed argument names to reflect above
45789 changes.
45790
45791 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45792
45793 * normal/script.c (grub_script_create_cmdif): Likewise.
45794
118f4fb3 457952006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45796
45797 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45798 top.
45799 (grub_hfsplus_btree_recptr): Likewise.
45800 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45801 FILEBLOCK both to pass a block number and store next block
45802 number.
45803 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45804 overflow file correctly. Specify errors appropriately, because
45805 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45806 grub_hfsplus_btree_recptr to get the pointer to a found key.
45807 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45808 is found.
45809
45810 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45811 linux.mod.
45812 (_linux_mod_SOURCES): New variable.
45813 (_linux_mod_CFLAGS): Likewise.
45814 (_linux_mod_LDFLAGS): Likewise.
45815 (linux_mod_SOURCES): Likewise.
45816 (linux_mod_CFLAGS): Likewise.
45817 (linux_mod_LDFLAGS): Likewise.
45818
45819 * DISTLIST: Added loader/i386/efi/linux.c,
45820 loader/i386/efi/linux_normal.c and
45821 include/grub/i386/efi/loader.h.
45822
45823 * loader/i386/efi/linux.c: New file.
45824 * loader/i386/efi/linux_normal.c: Likewise.
45825 * include/grub/i386/efi/loader.h: Likewise.
45826
89a7d726 458272006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45828
45829 * commands/blocklist.c: New file.
45830
45831 * DISTLIST: Added commands/blocklist.c.
45832
45833 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45834 color for the background, and a darker color for the foreground.
89a7d726 45835 (grub_console_checkkey): Return READ_KEY.
45836 (grub_console_cls): Set the background to
45837 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45838
45839 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45840
45841 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45842 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45843
45844 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45845 prototype.
45846
45847 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45848 BG. The spec is wrong again.
45849
45850 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45851 prototype.
45852 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45853
45854 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45855 commands/blocklist.c.
45856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45857
89a7d726 45858 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45859 (blocklist_mod_SOURCES): New variable.
45860 (blocklist_mod_CFLAGS): Likewise.
45861 (blocklist_mod_LDFLAGS): Likewise.
45862
75c8f258 458632006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45864
45865 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45866 duplication.
45867 (lba_mode): Use %eax more intensively to reduce the code size.
45868
da2eb181 458692006-05-20 Marco Gerards <marco@gnu.org>
45870
45871 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45872
45873 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45874 for `menuentry'.
45875 (script): Accept leading newlines.
45876 (newlines): New rule to describe 0 or more newlines.
45877 (commands): Accept `command' with trailing newline. Fixed the
45878 order in which arguments were passed to `grub_script_add_cmd'.
45879 Accept commands separated by newlines.
45880 (function): Changed to accept newlines.
45881 (menuentry) Rewritten.
45882
45883 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45884 front of the list, instead of to the end.
45885
577b4050 458862006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45887
45888 * util/i386/pc/grub-install.in (bindir): New variable.
45889 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45890 Shaver <lbgwjl@gmail.com>.
45891
0d6e1189 458922006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45893
45894 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45895 grub/machine/linux.h
45896 * loader/i386/pc/linux.c: Likewise.
45897
45898 * include/grub/i386/pc/linux.h: Moved to ...
45899 * include/grub/i386/linux.h: ... here.
45900
45901 * include/grub/i386/linux.h (struct linux_kernel_params): New
45902 struct.
f19dbdb7 45903
31b86e9f 459042006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45905
45906 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45907 checking.
45908 (grub_video_vbe_blit_glyph): Likewise.
45909 (grub_video_vbe_blit_bitmap): Likewise.
45910 (grub_video_vbe_blit_render_target): Likewise.
45911
83b984de 459122006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45913
45914 * configure.ac (--with-platform): Properly quote the square
45915 brackets.
45916
5f0413bd 459172006-05-08 Marco Gerards <marco@gnu.org>
45918
45919 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45920 this...
45921 (kernel_elf_HEADERS): ...to this. Updated all users.
45922 (grubof_symlist.c): Renamed from this...
45923 (kernel_elf_symlist.c): ...to this. Updated all users.
45924 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45925 (grubof_SOURCES): Renamed from this...
45926 (kernel_elf_SOURCES): ...to this.
45927 (grubof_HEADERS): Renamed from this...
45928 (kernel_elf_HEADERS): ...to this.
45929 (grubof_CFLAGS): Renamed from this...
45930 (kernel_elf_CFLAGS): ...to this.
45931 (grubof_ASFLAGS): Renamed from this...
45932 (kernel_elf_ASFLAGS): ...to this.
45933 (grubof_LDFLAGS): Renamed from this...
45934 (kernel_elf_LDFLAGS): ...to this.
45935
45936 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45937 this...
45938 (kernel_elf_HEADERS): ...to this. Updated all users.
45939 (grubof_symlist.c): Renamed from this...
45940 (kernel_elf_symlist.c): ...to this. Updated all users.
45941 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45942 (grubof_SOURCES): Renamed from this...
45943 (kernel_elf_SOURCES): ...to this.
45944 (grubof_HEADERS): Renamed from this...
45945 (kernel_elf_HEADERS): ...to this.
45946 (grubof_CFLAGS): Renamed from this...
45947 (kernel_elf_CFLAGS): ...to this.
45948 (grubof_ASFLAGS): Renamed from this...
45949 (kernel_elf_ASFLAGS): ...to this.
45950 (grubof_LDFLAGS): Renamed from this...
45951 (kernel_elf_LDFLAGS): ...to this.
45952
45953 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45954 `kernel.elf' instead of `grubof'.
45955
05568c2e 459562006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45957
45958 Add --with-platform to configure. Use pkglibdir instead of
45959 pkgdatadir. This is reported by Roger Leigh.
45960
45961 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45962 (host_vendor): Likewise.
45963 (host_os): Likewise.
45964 (pkgdatadir): Likewise.
45965 (platform): New variable.
45966 (pkglibdir): Likewise.
45967 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45968
05568c2e 45969 * util/i386/pc/grub-install.in (datadir): Removed.
45970 (host_vendor): Likewise.
45971 (host_os): Likewise.
45972 (pkgdatadir): Likewise.
45973 (platform): New variable.
45974 (pkglibdir): Likewise.
45975 Use PKGLIBDIR instead of PKGDATADIR.
45976
45977 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45978 instead of GRUB_DATADIR.
45979 (main): Likewise.
45980 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45981 (main): Likewise.
45982 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45983 (main): Likewise.
45984
45985 * configure.ac (--with-platform): New option.
45986 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45987
45988 * Makefile.in: Include a makefile based on PLATFORM instead of
45989 HOST_VENDOR.
45990 (pkgdatadir): Not appended by the machine type.
45991 (pkglibdir): Appended by the machine type.
45992 (host_vendor): Removed.
45993 (platform): New variable.
45994 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45995 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45996 (uninstall): Likewise.
45997
4e93851c 459982006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45999
46000 Use the environment context in the menu. Remove the commands
46001 "default" and "timeout", and use variables instead.
f19dbdb7 46002
4e93851c 46003 * normal/menu.c: Include grub/env.h.
46004 (print_entry): Cast TITLE to silence gcc.
46005 (get_timeout): New function.
46006 (set_timeout): Likewise.
46007 (get_entry_number): Likewise.
46008 (run_menu): Use a default entry, a fallback entry and a timeout
46009 in the environment variables "default", "fallback" and
46010 "timeout". Also, tweak the default entry if it is not within the
46011 current menu entries.
46012 (grub_menu_run): Use a fallback entry in the environment variable
46013 "fallback".
46014
46015 * normal/main.c (read_config_file): Do not initialize
46016 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
46017 NEWMENU->TIMEOUT.
46018 (grub_normal_execute): Use a data slot to store the menu.
46019
46020 * include/grub/normal.h (struct grub_menu): Removed default_entry,
46021 fallback_entry and timeout.
46022 (struct grub_menu_list): Removed.
46023 (grub_menu_list_t): Likewise.
46024 (struct grub_context): Likewise.
46025 (grub_context_t): Likewise.
46026 (grub_context_get): Likewise.
46027 (grub_context_get_current_menu): Likewise.
46028 (grub_context_push_menu): Likewise.
46029 (grub_context_pop_menu): Likewise.
46030 (grub_default_init): Likewise.
46031 (grub_default_fini): Likewise.
46032 (grub_timeout_init): Likewise.
46033 (grub_timeout_fini): Likewise.
46034
46035 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
46036 and timeout.mod.
46037 (normal_mod_SOURCES): Removed normal/context.c.
46038
46039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
46040 commands/default.c, commands/timeout.c and normal/context.c.
46041 (normal_mod_SOURCES): Removed normal/context.c.
46042
46043 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
46044 commands/timeout.c and normal/context.c.
46045 (normal_mod_SOURCES): Removed normal/context.c.
46046
46047 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
46048 commands/default.c, commands/timeout.c and normal/context.c.
46049 (normal_mod_SOURCES): Removed normal/context.c.
46050
46051 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
46052 timeout.mod.
46053 (default_mod_SOURCES): Removed.
46054 (default_mod_CFLAGS): Likewise.
46055 (default_mod_LDFLAGS): Likewise.
46056 (timeout_mod_SOURCES): Removed.
46057 (timeout_mod_CFLAGS): Likewise.
46058 (timeout_mod_LDFLAGS): Likewise.
46059
46060 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46061 normal/context.c.
46062
46063 * commands/default.c: Removed.
46064 * commands/timeout.c: Likewise.
46065 * normal/context.c: Likewise.
46066
1eb9cc1d 460672006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46068
46069 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46070
385bd9c1 460712006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46072
46073 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46074 "next" to "prev" for readability.
46075 (struct grub_env_sorted_var): New struct.
46076 (grub_env_context): Renamed to ...
46077 (initial_context): ... this.
46078 (grub_env_var_context): Renamed to ...
46079 (current_context): ... this.
46080 (grub_env_find): Look only at CURRENT_CONTEXT.
46081 (grub_env_context_open): Rewritten to copy exported variables from
46082 previous context.
46083 (grub_env_context_close): Rewritten according to the new
46084 scheme. Also, add an assertion to prevent the initial context from
46085 removed.
46086 (grub_env_insert): Removed the code for the sorted list.
46087 (grub_env_remove): Likewise.
46088 (grub_env_export): Simply mark the variable with
46089 GRUB_ENV_VAR_GLOBAL.
46090 (grub_env_set): A cosmetic change for naming consistency.
46091 (grub_env_get): Likewise.
46092 (grub_env_unset): Likewise.
46093 (grub_env_iterate): Rewritten to sort variables within this
46094 function.
46095 (grub_register_variable_hook): Fixed for naming consistency. Call
46096 grub_env_find again, only if NAME is not found at the first time.
46097 (mangle_data_slot_name): New function.
46098 (grub_env_set_data_slot): Likewise.
46099 (grub_env_get_data_slot): Likewise.
46100 (grub_env_unset_data_slot): Likewise.
46101
46102 * include/grub/env.h (grub_env_var_type): New enum.
46103 (GRUB_ENV_VAR_LOCAL): New constant.
46104 (GRUB_ENV_VAR_GLOBAL): Likewise.
46105 (GRUB_ENV_VAR_DATA): Likewise.
46106 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46107 "type".
46108 (grub_env_set): Replace VAR with NAME for consistency.
46109 (grub_register_variable_hook): Likewise.
46110 (grub_env_export): Specify the name of the argument.
46111 (grub_env_set_data_slot): New prototype.
46112 (grub_env_get_data_slot): Likewise.
46113 (grub_env_unset_data_slot): Likewise.
46114
7f362539 461152006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46116
46117 Extend the loader so that GRUB can accept a loader which comes
46118 back to GRUB when a loaded image exits. Also, this change adds
46119 support for a chainloader on EFI.
f19dbdb7 46120
7f362539 46121 * term/efi/console.c: Include grub/misc.h.
46122 (grub_console_checkkey): Display a scan code on the top for
46123 debugging. This will be removed once the EFI port gets stable.
46124 Correct the scan code mapping.
46125
46126 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46127 allocate memory from larger regions, in order to reduce the number
46128 of allocated regions. Otherwise, the MacOSX loader panics.
46129 (filter_memory_map): Avoid less than 1MB for compatibility with
46130 other loaders.
46131 (add_memory_regions): Allocate from the tail of a region, if
46132 possible, to avoid allocating a region near to 1MB, for the MacOSX
46133 loader.
46134
46135 * kern/efi/init.c (grub_efi_set_prefix): Specify
46136 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46137
46138 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46139 argument IMAGE_HANDLE and specify it to get a loaded image.
46140 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46141 grub_efi_get_loaded_image.
fe6b695a 46142 (grub_efi_get_filename): Divide the length by the size of
7f362539 46143 grub_efi_char16_t.
46144 (grub_efi_get_device_path): New function.
46145 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46146 the length by the size of grub_efi_char16_t for a file path device
46147 path node.
46148
46149 * kern/loader.c (grub_loader_noreturn): New variable.
46150 (grub_loader_set): Accept a new argument NORETURN. Set
46151 GRUB_LOADER_NORETURN to NORETURN.
46152 All callers changed.
46153 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46154 grub_machine_fini.
46155
46156 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46157 prototype.
46158 (grub_efi_get_loaded_image): Take an argument to specify an image
46159 handle.
46160
46161 * include/grub/loader.h (grub_loader_set): Added one more argument
46162 NORETURN.
46163
46164 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46165 instead of grub_efi_open_protocol.
46166 (grub_efidisk_get_device_name): Likewise.
46167 (grub_efidisk_close): Print a newline.
46168 (grub_efidisk_get_device_handle): Fixed to use
46169 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46170 GRUB_EFI_DEVICE_PATH_TYPE.
46171
46172 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46173 * kern/efi/efi.c (device_path_guid): ... here.
46174
46175 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46176 chain.mod.
46177 (kernel_mod_HEADERS): Added efi/disk.h.
46178 (_chain_mod_SOURCES): New variable.
46179 (_chain_mod_CFLAGS): Likewise.
46180 (_chain_mod_LDFLAGS): Likewise.
46181 (chain_mod_SOURCES): Likewise.
46182 (chain_mod_CFLAGS): Likewise.
46183 (chain_mod_LDFLAGS): Likewise.
46184
46185 * DISTLIST: Added include/grub/efi/chainloader.h,
46186 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46187
46188 * include/grub/efi/chainloader.h: New file.
46189 * loader/efi/chainloader.c: Likewise.
46190 * loader/efi/chainloader_normal.c: Likewise.
46191
c0111d6e 461922006-04-30 Marco Gerards <marco@gnu.org>
46193
46194 * commands/configfile.c (grub_cmd_source): New function.
46195 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46196 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46197
df5341da 461982006-04-30 Marco Gerards <marco@gnu.org>
46199
46200 * normal/execute.c (grub_script_execute_cmd): Change the return
46201 type to `grub_err_t'. Correctly return the error.
46202 (grub_script_execute_cmdline): In case a command line is not a
46203 command or a function, try to interpret it as an assignment.
46204
f85934bd 462052006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46206
46207 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46208 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46209 skip a node whose name is obviously invalid as UTF-16,
46210 i.e. contains a NUL character. Stop the iteration when the last
46211 directory entry is found. Instead of using the return value of
46212 grub_hfsplus_btree_iterate_node, store the value in RET and use
46213 it, because the iterator can be stopped by the last directory
46214 entry.
46215
8f8a2cf8 462162006-04-30 Marco Gerards <marco@gnu.org>
46217
46218 * include/grub/env.h (grub_env_export): New prototype. Reported
46219 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46220
a27e84ce 462212006-04-30 Marco Gerards <marco@gnu.org>
46222
46223 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46224 size of the extents in a catalog file record.
46225
eaef0553 462262006-04-29 Marco Gerards <marco@gnu.org>
46227
46228 * commands/configfile.c (grub_cmd_configfile): Execute the
46229 configfile within its own context.
46230
46231 * include/grub/env.h (grub_env_context_open): New prototype.
46232 (grub_env_context_close): Likewise.
46233
46234 * kern/env.c (grub_env): Removed.
46235 (grub_env_sorted): Likewise.
46236 (grub_env_context): New variable.
46237 (grub_env_var_context): Likewise.
46238 (grub_env_find): Search both the active context and the global
46239 context.
46240 (grub_env_context_open): New function.
46241 (grub_env_context_close): Likewise.
46242 (grub_env_insert): Likewise.
46243 (grub_env_remove): Likewise.
46244 (grub_env_export): Likewise.
46245 (grub_env_set): Changed to use helper functions to avoid code
46246 duplication.
46247 (grub_env_iterate): Rewritten so both the current context and the
46248 global context are being used.
46249
46250 * normal/command.c (export_command): New function.
46251 (grub_command_init): Register the `export' function.
46252
7b455f4d 462532006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46254
46255 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46256 explicitly to suppress gcc's warnings.
46257 * fs/fat.c (grub_fat_find_dir): Likewise.
46258 (grub_fat_label): Likewise.
46259 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46260 (grub_xfs_mount): Likewise.
46261 (grub_xfs_label): Likewise.
46262 * fs/affs.c (grub_affs_mount): Likewise.
46263 (grub_affs_label): Likewise.
46264 (grub_affs_iterate_dir): Likewise.
46265 * fs/sfs.c (grub_sfs_mount): Likewise.
46266 (grub_sfs_iterate_dir): Likewise.
46267 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46268 * fs/hfs.c (grub_hfs_mount): Likewise.
46269 (grub_hfs_cmp_catkeys): Likewise.
46270 (grub_hfs_find_dir): Likewise.
46271 (grub_hfs_dir): Likewise.
46272 (grub_hfs_label): Likewise.
46273 * fs/jfs.c (grub_jfs_mount): Likewise.
46274 (grub_jfs_opendir): Likewise.
46275 (grub_jfs_getent): Likewise.
46276 (grub_jfs_lookup_symlink): Likewise.
46277 (grub_jfs_label): Likewise.
46278 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46279 (grub_hfsplus_iterate_dir): Likewise.
46280 (grub_hfsplus_btree_iterate_node): Made static.
46281
46282 * util/grub-emu.c (prefix): New variable.
46283 (grub_machine_set_prefix): New function.
46284 (main): Do not set the environment variable "prefix" here. Only
46285 set PREFIX, which is used later by grub_machine_set_prefix.
46286
46287 * include/grub/video.h: Do not include grub/symbol.h.
46288 (grub_video_register): Not exported. This symbol is not defined in
46289 the kernel.
46290 (grub_video_unregister): Likewise.
46291 (grub_video_iterate): Likewise.
46292 (grub_video_setup): Likewise.
46293 (grub_video_restore): Likewise.
46294 (grub_video_get_info): Likewise.
46295 (grub_video_get_blit_format): Likewise.
46296 (grub_video_set_palette): Likewise.
46297 (grub_video_get_palette): Likewise.
46298 (grub_video_set_viewport): Likewise.
46299 (grub_video_get_viewport): Likewise.
46300 (grub_video_map_color): Likewise.
46301 (grub_video_map_rgb): Likewise.
46302 (grub_video_map_rgba): Likewise.
46303 (grub_video_fill_rect): Likewise.
46304 (grub_video_blit_glyph): Likewise.
46305 (grub_video_blit_bitmap): Likewise.
46306 (grub_video_blit_render_target): Likewise.
46307 (grub_video_scroll): Likewise.
46308 (grub_video_swap_buffers): Likewise.
46309 (grub_video_create_render_target): Likewise.
46310 (grub_video_delete_render_target): Likewise.
46311 (grub_video_set_active_render_target): Likewise.
46312
46313 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46314 Undefined.
46315 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46316
46317 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46318 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46319 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46320 instead of $(srcdir)/genkernsyms.sh.
46321
46322 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46323 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46324 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46325 instead of $(srcdir)/genkernsyms.sh.
46326
46327 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46328 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46329 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46330 instead of $(srcdir)/genkernsyms.sh.
46331
46332 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46333 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46334 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46335 instead of $(srcdir)/genkernsyms.sh.
46336
46337 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46338 genkernsyms.sh.
46339
46340 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46341 genkernsyms.sh.
46342 (gensymlist.sh): New target.
46343 (genkernsyms.sh): Likewise.
46344
46345 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46346 genkernsyms.sh.in and gensymlist.sh.in.
46347
46348 * genkernsyms.sh: Removed.
46349 * gensymlist.sh: Likewise.
f19dbdb7 46350
7b455f4d 46351 * genkernsyms.sh.in: New file.
46352 * gensymlist.sh.in: Likewise.
46353
1885bb27 463542006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46355
46356 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46357 clobber "prefix", since we may have already set it manually.
46358
71538dff 463592006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46360
46361 * kern/misc.c (abort): New alias for grub_abort.
46362
2965c7cc 463632006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46364
46365 A new machine-specific function "grub_machine_set_prefix" is
46366 defined. This is called after loading modules, so that a prefix
46367 initialization can use modules. Also, this change adds an
46368 intensive debugging feature for the memory manager via the
46369 configure option "--enable-mm-debug".
f19dbdb7 46370
2965c7cc 46371 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46372 PART.LEN.
46373
46374 * kern/sparc64/ieee1275/init.c (abort): Removed.
46375 (grub_stop): Likewise.
46376 (grub_exit): New function.
46377 (grub_set_prefix): Renamed to ...
46378 (grub_machine_set_prefix): ... this.
46379 (grub_machine_init): Do not call grub_set_prefix.
46380
46381 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46382 (grub_machine_set_prefix): ... this.
46383 (grub_machine_init): Do not call grub_set_prefix.
46384
46385 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46386 (grub_machine_init): Do not set the prefix here.
46387
46388 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46389
46390 * kern/efi/init.c: Include grub/mm.h.
46391 (grub_efi_set_prefix): New function.
46392
46393 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46394 (grub_efi_get_filename): New function.
46395 (grub_print_device_path): Renamed to ...
46396 (grub_efi_print_device_path): ... this.
46397
46398 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46399 [MM_DEBUG] (grub_realloc): Likewise.
46400 [MM_DEBUG] (grub_free): Likewise.
46401 [MM_DEBUG] (grub_memalign): Likewise.
46402 [MM_DEBUG] (grub_mm_debug): New variable.
46403 [MM_DEBUG] (grub_debug_malloc): New function.
46404 [MM_DEBUG] (grub_debug_free): New function.
46405 [MM_DEBUG] (grub_debug_realloc): New function.
46406 [MM_DEBUG] (grub_debug_memalign): New function.
46407
46408 * kern/misc.c (grub_abort): Print a newline to distinguish
46409 the message.
46410
46411 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46412 grub_set_root_dev after loading modules. This is necessary when
46413 setting a prefix depends on modules.
46414
46415 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46416 (grub_efi_print_device_path): ... this.
46417 (grub_efi_get_filename): New prototype.
46418 (grub_efi_set_prefix): Likewise.
46419
46420 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46421 and grub/disk.h.
46422 (grub_efidisk_get_device_handle): New prototype.
46423 (grub_efidisk_get_device_name): Likewise.
46424
46425 * include/grub/mm.h: Include config.h.
46426 (MM_DEBUG): Removed.
46427 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46428 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46429 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46430 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46431 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46432 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46433 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46434 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46435 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46436
46437 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46438
46439 * disk/efi/efidisk.c: Include grub/partition.h.
46440 (iterate_child_devices): New function.
46441 (add_device): First, compare only last device path nodes, so that
46442 devices are sorted by the types.
46443 (grub_efidisk_get_device_handle): New function.
46444 (grub_efidisk_get_device_name): Likewise.
46445
46446 * configure.ac (--enable-mm-debug): New option to enable the
46447 memory manager debugging feature. This makes the binary much
46448 bigger, so is disabled by default.
46449
9cacaa17 464502006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46451
46452 Use grub_abort instead of grub_stop, and grub_exit must be
46453 define in each architecture now. Also, this change adds support
46454 for EFI disks.
f19dbdb7 46455
9cacaa17 46456 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46457 (grub_getkey): New function.
46458 (grub_term_get_current): Likewise.
46459
46460 * util/i386/pc/grub-setup.c: Include grub/term.h.
46461 (grub_getkey): New function.
46462 (grub_term_get_current): Likewise.
46463
46464 * util/misc.c (grub_stop): Renamed to ...
46465 (grub_exit): ... this.
46466
46467 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46468 (grub_exit): ... this.
46469 (grub_machine_init): Use grub_abort instead of abort.
46470 (grub_stop): Removed.
46471
46472 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46473 abort.
46474
46475 * kern/i386/pc/startup.S (grub_exit): New function.
46476 (cold_reboot): New label.
46477
46478 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46479 (grub_efi_init): Call grub_efidisk_init.
46480 (grub_efi_fini): Call grub_efidisk_fini.
46481
46482 * kern/efi/efi.c: Include grub/mm.h.
46483 (grub_efi_console_control_guid): Renamed to ...
46484 (console_control_guid): ... this.
46485 (grub_efi_loaded_image_guid): Renamed to ...
46486 (loaded_image_guid): ... this.
46487 (grub_efi_locate_handle): New function.
46488 (grub_efi_open_protocol): Likewise.
46489 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46490 GRUB_EFI_CONSOLE_CONTROL_GUID.
46491 (grub_efi_exit): Removed.
46492 (grub_stop): Likewise.
46493 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46494 (grub_exit): New function.
46495 (grub_print_device_path): Likewise.
46496
46497 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46498 (grub_enter_rescue_mode): Register "exit".
46499
46500 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46501 (grub_abort): New function.
46502
46503 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46504
46505 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46506
46507 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46508
46509 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46510 (grub_print_device_path): New prototype.
46511 (grub_efi_locate_handle): Likewise.
46512 (grub_efi_open_protocol): Likewise.
46513
46514 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46515 * disk/efi/efidisk.c: Likewise.
46516
46517 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46518
46519 * include/grub/efi/console_control.h
46520 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46521
46522 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46523 last 8 bytes as an array.
46524 (GRUB_EFI_DISK_IO_GUID): New macro.
46525 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46526 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46527 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46528 grub_uint8_t.
46529 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46530 (struct grub_efi_device_path): Rename the member "sub_type" to
46531 "subtype".
46532 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46533 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46534 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46535 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46536 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46537 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46538 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46539 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46540 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46541 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46542 (struct grub_efi_pci_device_path): New structure.
46543 (grub_efi_pci_device_path_t): New type.
46544 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46545 (struct grub_efi_pccard_device_path): New structure.
46546 (grub_efi_pccard_device_path_t): New type.
46547 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46548 (struct grub_efi_memory_mapped_device_path): New structure.
46549 (grub_efi_memory_mapped_device_path_t): New type.
46550 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46551 (struct grub_efi_vendor_device_path): New structure.
46552 (grub_efi_vendor_device_path_t): New type.
46553 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46554 (struct grub_efi_controller_device_path): New structure.
46555 (grub_efi_controller_device_path_t): New type.
46556 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46557 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46558 (struct grub_efi_acpi_device_path): New structure.
46559 (grub_efi_acpi_device_path_t): New type.
46560 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46561 (struct grub_efi_expanded_acpi_device_path): New structure.
46562 (grub_efi_expanded_acpi_device_path_t): New type.
46563 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46564 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46565 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46566 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46567 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46568 (struct grub_efi_atapi_device_path): New structure.
46569 (grub_efi_atapi_device_path_t): New type.
46570 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46571 (struct grub_efi_fibre_channel_device_path): New structure.
46572 (grub_efi_fibre_channel_device_path_t): New type.
46573 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46574 (struct grub_efi_1394_device_path): New structure.
46575 (grub_efi_1394_device_path_t): New type.
46576 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46577 (struct grub_efi_usb_device_path): New structure.
46578 (grub_efi_usb_device_path_t): New type.
46579 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46580 (struct grub_efi_usb_class_device_path): New structure.
46581 (grub_efi_usb_class_device_path_t): New type.
46582 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46583 (struct grub_efi_i2o_device_path): New structure.
46584 (grub_efi_i2o_device_path_t): New type.
46585 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46586 (struct grub_efi_mac_address_device_path): New structure.
46587 (grub_efi_mac_address_device_path_t): New type.
46588 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46589 (struct grub_efi_ipv4_device_path): New structure.
46590 (grub_efi_ipv4_device_path_t): New type.
46591 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46592 (struct grub_efi_ipv6_device_path): New structure.
46593 (grub_efi_ipv6_device_path_t): New type.
46594 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46595 (struct grub_efi_infiniband_device_path): New structure.
46596 (grub_efi_infiniband_device_path_t): New type.
46597 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46598 (struct grub_efi_uart_device_path): New structure.
46599 (grub_efi_uart_device_path_t): New type.
46600 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46601 (struct grub_efi_vendor_messaging_device_path): New structure.
46602 (grub_efi_vendor_messaging_device_path_t): New type.
46603 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46604 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46605 (struct grub_efi_hard_drive_device_path): New structure.
46606 (grub_efi_hard_drive_device_path_t): New type.
46607 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46608 (struct grub_efi_cdrom_device_path): New structure.
46609 (grub_efi_cdrom_device_path_t): New type.
46610 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46611 (struct grub_efi_vendor_media_device_path): New structure.
46612 (grub_efi_vendor_media_device_path_t): New type.
46613 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46614 (struct grub_efi_file_path_device_path): New structure.
46615 (grub_efi_file_path_device_path_t): New type.
46616 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46617 (struct grub_efi_protocol_device_path): New structure.
46618 (grub_efi_protocol_device_path_t): New type.
46619 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46620 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46621 (struct grub_efi_bios_device_path): New structure.
46622 (grub_efi_bios_device_path_t): New type.
46623 (struct grub_efi_disk_io): New structure.
46624 (grub_efi_disk_io_t): New type.
46625 (struct grub_efi_block_io_media): New structure.
46626 (grub_efi_block_io_media_t): New type.
46627 (struct grub_efi_block_io): New structure.
46628 (grub_efi_block_io_t): New type.
46629
46630 * include/grub/misc.h (grub_stop): Removed.
46631 (grub_exit): New prototype.
46632 (grub_abort): Likewise.
46633
46634 * include/grub/disk.h (enum grub_disk_dev_id): Added
46635 GRUB_DISK_DEVICE_EFIDISK_ID.
46636
46637 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46638 disk/efi/efidisk.c.
46639 (kernel_syms.lst): Remove the target if an error occurs.
46640
49986a9f 466412006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46642
46643 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46644 as it was simply too buggy.
46645
970d3b8a 466462006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46647
46648 * kern/misc.c (grub_lltoa): New function.
46649 (grub_vsprintf): Added support for the long long suffix,
46650 i.e. "ll".
46651
ff04ec24 466522006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46653
46654 * Makefile.in (LDFLAGS): Add variable.
46655 (LD): Remove variable.
46656 * configure.ac: Add -m32 to LDFLAGS.
46657 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46658 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46659 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46660 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46661 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46662 variables.
46663 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46664 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46665 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46666
37e5e1a4 466672006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46668
46669 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46670 length for unknown glyph.
46671
c352d8dd 466722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46673
2eab1c0d 46674 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46675
2eab1c0d 46676 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46677 completely. Accept one more argument DIR. The caller has changed.
46678
46679 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46680
46681 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46682 (grub_efi_loaded_image_guid): New variable.
46683 (grub_efi_get_loaded_image): New function.
46684 (grub_arch_modules_addr): Likewise.
46685
46686 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46687 prototype.
46688
46689 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46690 (struct grub_efi_loaded_image): New structure.
46691 (grub_efi_loaded_image_t): New type.
46692
466932006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46694
c352d8dd 46695 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46696 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46697 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46698
6d01d6b4 466992006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46700
46701 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46702
976a4ea0 467032006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46704
46705 * DISTLIST: Added include/grub/efi/console.h,
46706 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46707 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46708
46709 * include/grub/efi/console.h: New file.
46710 * include/grub/efi/time.h: Likewise.
46711 * include/grub/i386/efi/kernel.h: Likewise.
46712 * kern/efi/init.c: Likewise.
46713 * kern/efi/mm.c: Likewise.
46714 * term/efi/console.c: Likewise.
f19dbdb7 46715
976a4ea0 46716 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46717 (grub_stop): Removed.
46718 (grub_get_rtc): Likewise.
46719 (grub_machine_init): Simply call grub_efi_init.
46720 (grub_machine_fini): Call grub_efi_fini.
46721
46722 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46723 (grub_efi_output_string): Removed.
46724 (grub_efi_stall): New function.
46725 (grub_stop): Likewise.
46726 (grub_get_rtc): Likewise.
46727
46728 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46729 (grub_efi_stall): New prototype.
46730 (grub_efi_allocate_pages): Likewise.
46731 (grub_efi_free_pages): Likewise.
46732 (grub_efi_get_memory_map): Likewise.
46733 (grub_efi_mm_init): Likewise.
46734 (grub_efi_mm_fini): Likewise.
46735 (grub_efi_init): Likewise.
46736 (grub_efi_fini): Likewise.
46737
46738 * include/grub/i386/efi/time.h: Do not include
46739 grub/symbol.h. Include grub/efi/time.h.
46740 (GRUB_TICKS_PER_SECOND): Removed.
46741 (grub_get_rtc): Likewise.
46742
46743 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46744 Added padding. The EFI spec is buggy.
46745 (GRUB_EFI_BLACK): New macro.
46746 (GRUB_EFI_BLUE): Likewise.
46747 (GRUB_EFI_GREEN): Likewise.
46748 (GRUB_EFI_CYAN): Likewise.
46749 (GRUB_EFI_RED): Likewise.
46750 (GRUB_EFI_MAGENTA): Likewise.
46751 (GRUB_EFI_BROWN): Likewise.
46752 (GRUB_EFI_LIGHTGRAY): Likewise.
46753 (GRUB_EFI_BRIGHT): Likewise.
46754 (GRUB_EFI_DARKGRAY): Likewise.
46755 (GRUB_EFI_LIGHTBLUE): Likewise.
46756 (GRUB_EFI_LIGHTGREEN): Likewise.
46757 (GRUB_EFI_LIGHTCYAN): Likewise.
46758 (GRUB_EFI_LIGHTRED): Likewise.
46759 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46760 (GRUB_EFI_YELLOW): Likewise.
46761 (GRUB_EFI_WHITE): Likewise.
46762 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46763 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46764 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46765 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46766 (GRUB_EFI_BACKGROUND_RED): Likewise.
46767 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46768 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46769 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46770 (GRUB_EFI_TEXT_ATTR): Likewise.
46771
46772 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46773 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46774 (kernel_mod_HEADERS): Added efi/time.h.
46775
83709125 467762006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46777
46778 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46779 include/grub/efi/api.h, include/grub/efi/console_control.h,
46780 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46781 include/grub/i386/efi/time.h, kern/efi/efi.c,
46782 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46783 and util/i386/efi/grub-mkimage.c.
46784
46785 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46786
46787 * genmk.rb (PModule#rule): Do not export symbols if
46788 #{prefix}_EXPORTS is set to "no".
46789
46790 * conf/i386-efi.mk: New file.
46791 * conf/i386-efi.rmk: Likewise.
46792 * include/grub/efi/api.h: Likewise.
46793 * include/grub/efi/console_control.h: Likewise.
46794 * include/grub/efi/efi.h: Likewise.
46795 * include/grub/efi/pe32.h: Likewise.
46796 * include/grub/i386/efi/time.h: Likewise.
46797 * kern/efi/efi.c: Likewise.
46798 * kern/i386/efi/init.c: Likewise.
46799 * kern/i386/efi/startup.S: Likewise.
46800 * util/i386/efi/grub-mkimage.c: Likewise.
46801
468022006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46803
46804 * include/grub/script.h: Include <grub/parser.h> and
46805 "grub_script.tab.h".
46806 (struct grub_lexer_param): New struct.
46807 (struct grub_parser_param): Likewise.
46808 (grub_script_create_arglist): Pass the state in an argument.
46809 (grub_script_add_arglist): Likewise.
46810 (grub_script_create_cmdline): Likewise.
46811 (grub_script_create_cmdblock): Likewise.
46812 (grub_script_create_cmdif): Likewise.
46813 (grub_script_create_cmdmenu): Likewise.
46814 (grub_script_add_cmd): Likewise.
46815 (grub_script_arg_add): Likewise.
46816 (grub_script_lexer_ref): Likewise.
46817 (grub_script_lexer_deref): Likewise.
46818 (grub_script_lexer_record_start): Likewise.
46819 (grub_script_lexer_record_stop): Likewise.
46820 (grub_script_mem_record): Likewise.
46821 (grub_script_mem_record_stop): Likewise.
46822 (grub_script_malloc): Likewise.
46823 (grub_script_yylex): Likewise.
46824 (grub_script_yyparse): Likewise.
46825 (grub_script_yyerror): Likewise.
46826 (grub_script_yylex): Likewise.
46827 (grub_script_lexer_init): Return the state.
46828
46829 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46830 (grub_script_lexer_done): Likewise.
46831 (grub_script_lexer_getline): Likewise.
46832 (grub_script_lexer_refs): Likewise.
46833 (script): Likewise.
46834 (newscript): Likewise.
46835 (record): Likewise.
46836 (recording): Likewise.
46837 (recordpos): Likewise.
46838 (recordlen): Likewise.
46839 (grub_script_lexer_init): Return the state instead of setting
46840 global variables.
46841 (grub_script_lexer_ref): Use the newly added argument for state
46842 instead of globals.
46843 (grub_script_lexer_deref): Likewise.
46844 (grub_script_lexer_record_start): Likewise.
46845 (grub_script_lexer_record_stop): Likewise.
46846 (recordchar): Likewise.
46847 (nextchar): Likewise.
46848 (grub_script_yylex2): Likewise.
46849 (grub_script_yylex): Likewise.
46850 (grub_script_yyerror): Likewise.
46851
46852 * normal/parser.y (func_mem): Removed variable.
46853 (menu_entry): Likewise.
46854 (err): Likewise.
46855 (%lex-param): New parser option.
46856 (%parse-param): Likewise.
46857 (script): Always return the AST.
46858 (argument): Pass the state around.
46859 (arguments): Likewise.
46860 (grubcmd): Likewise.
46861 (commands): Likewise.
46862 (function): Likewise.
46863 (menuentry): Likewise.
46864 (if_statement): Likewise.
46865 (if): Likewise.
46866
46867 * normal/script.c (grub_script_memused): Removed variable.
46868 (grub_script_parsed): Likewise.
46869 (grub_script_malloc): Added a state argument. Use that instead of
46870 global variables.
46871 (grub_script_mem_record): Likewise.
46872 (grub_script_mem_record_stop): Likewise.
46873 (grub_script_arg_add): Likewise.
46874 (grub_script_add_arglist): Likewise.
46875 (grub_script_create_cmdline): Likewise.
46876 (grub_script_create_cmdif): Likewise.
46877 (grub_script_create_cmdmenu): Likewise.
46878 (grub_script_add_cmd): Likewise.
46879 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46880
e2a8c904 468812006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46882
46883 * normal/command.c (grub_command_init): Remove the title command.
46884
46885 * normal/lexer.c (grub_script_yylex): Renamed from this...
46886 (grub_script_yylex2): ... to this.
46887 (grub_script_yylex): New function. Temporary
46888 introduced to filter some tokens.
46889 (grub_script_yyerror): Print a newline.
46890
46891 * normal/main.c (read_config_file): Output information about the
46892 lines that contain errors. Wait for a key after all lines have
46893 been processed. Don't return an empty menu.
46894
46895 * normal/parser.y (func_mem): Don't initialize.
46896 (menu_entry): Likewise.
46897 (err): New variable.
46898 (script): Don't return anything when an error was encountered.
46899 (ws, returns): Removed rules.
46900 (argument): Disabled concatenated variable support.
46901 (arguments): Remove explicit separators.
46902 (grubcmd): Likewise.
46903 (function): Likewise.
46904 (menuentry): Likewise.
46905 (if): Likewise.
46906 (commands): Likewise. Add error handling.
46907
46908 * normal/script.c (grub_script_create_cmdline): If
46909 `grub_script_parsed' is 0, assume the parser encountered an error.
46910
c9a86192 469112006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46912
46913 * configure.ac: Add support for EFI. Fix the typo
46914 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46915
70f3b243 469162006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46917
46918 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46919 foreign multibyte characters should be shown correctly.
46920
65f201ad 469212006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46922
46923 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46924 calculation.
46925 (read_config_file): Made it to close file before returning.
46926
b4b93674 469272006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46928
46929 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46930 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46931 video/i386/pc/vbefill.c.
46932
46933 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46934 video/i386/pc/vbefill.c.
46935
46936 * include/grub/video.h (grub_video_blit_format): New enum.
46937 (grub_video_mode_info): Added new member blit_format.
46938 (grub_video_get_blit_format): New function prototype.
46939
46940 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46941 function prototype.
46942 (grub_video_vbe_map_rgb): Likewise.
46943 (grub_video_vbe_unmap_color): Likewise.
46944
46945 * include/grub/i386/pc/vbeblit.h: New file.
46946
46947 * include/grub/i386/pc/vbefill.h: New file.
46948
46949 * video/video.c (grub_video_get_blit_format): New function.
46950 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46951 (grub_video_vbe_map_rgb): Likewise.
46952 (grub_video_vbe_unmap_color): Likewise.
46953
46954 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46955 optimized fills.
46956 (grub_video_vbe_blit_render_target): Changed to use more optimized
46957 blits.
46958 (grub_video_vbe_setup): Added detection for optimized settings.
46959 (grub_video_vbe_create_render_target): Likewise.
46960
46961 * video/i386/pc/vbeblit.c: New file.
46962
46963 * video/i386/pc/vbefill.c: New file.
46964
c2379b9c 469652006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46966
46967 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46968 here...
46969
46970 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46971 parsing to support both hex and dec ranges. If filename was missing
46972 show usage information.
46973
bd0d7896 469742006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46975
46976 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46977 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46978
46979 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46980 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46981 (video_mod_SOURCES): Added.
46982 (video_mod_CFLAGS): Likewise.
46983 (video_mod_LDFLAGS): Likewise.
46984 (gfxterm_mod_SOURCES): Likewise.
46985 (gfxterm_mod_CFLAGS): Likewise.
46986 (gfxterm_mod_LDFLAGS): Likewise.
46987 (videotest_mod_SOURCES): Likewise.
46988 (videotest_mod_CFLAGS): Likewise.
46989 (videotest_mod_LDFLAGS): Likewise.
46990 (vesafb_mod_SOURCES): Removed.
46991 (vesafb_mod_CFLAGS): Likewise.
46992 (vesafb_mod_LDFLAGS): Likewise.
46993 (vga_mod_SOURCES): Likewise.
46994 (vga_mod_CFLAGS): Likewise.
46995 (vga_mod_LDFLAGS): Likewise.
46996
46997 * commands/videotest.c: New file.
46998
46999 * font/manager.c (fill_with_default_glyph): Modified to use
47000 grub_font_glyph.
47001 (grub_font_get_glyph): Likewise.
47002 (fontmanager): Renamed from this...
47003 (font_manager): ... to this.
47004
47005 * include/grub/font.h (grub_font_glyph): Added new structure.
47006 (grub_font_get_glyph): Modified to use grub_font_glyph.
47007
47008 * include/grub/misc.h (grub_abs): Added as inline function.
47009
47010 * include/grub/video.h: New file.
47011
47012 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
47013 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
47014 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
47015 (grub_vbe_get_controller_info): Renamed from this...
47016 (grub_vbe_bios_get_controller_info): ... to this.
47017 (grub_vbe_get_mode_info): Renamed from this...
47018 (grub_vbe_bios_get_mode_info): ... to this.
47019 (grub_vbe_set_mode): Renamed from this...
47020 (grub_vbe_bios_set_mode): ... to this.
47021 (grub_vbe_get_mode): Renamed from this...
47022 (grub_vbe_bios_get_mode): ... to this.
47023 (grub_vbe_set_memory_window): Renamed from this...
47024 (grub_vbe_bios_set_memory_window): ... to this.
47025 (grub_vbe_get_memory_window): Renamed from this...
47026 (grub_vbe_bios_get_memory_window): ... to this.
47027 (grub_vbe_set_scanline_length): Renamed from this...
47028 (grub_vbe_set_scanline_length): ... to this.
47029 (grub_vbe_get_scanline_length): Renamed from this...
47030 (grub_vbe_bios_get_scanline_length): ... to this.
47031 (grub_vbe_set_display_start): Renamed from this...
47032 (grub_vbe_bios_set_display_start): ... to this.
47033 (grub_vbe_get_display_start): Renamed from this...
47034 (grub_vbe_bios_get_display_start): ... to this.
47035 (grub_vbe_set_palette_data): Renamed from this...
47036 (grub_vbe_bios_set_palette_data): ... to this.
47037 (grub_vbe_set_pixel_rgb): Removed.
47038 (grub_vbe_set_pixel_index): Likewise.
47039
47040 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
47041 from this...
47042 (grub_vbe_bios_get_controller_info): ... to this.
47043 (grub_vbe_get_mode_info): Renamed from this...
47044 (grub_vbe_bios_get_mode_info): ... to this.
47045 (grub_vbe_set_mode): Renamed from this...
47046 (grub_vbe_bios_set_mode): ... to this.
47047 (grub_vbe_get_mode): Renamed from this...
47048 (grub_vbe_bios_get_mode): ... to this.
47049 (grub_vbe_set_memory_window): Renamed from this...
47050 (grub_vbe_bios_set_memory_window): ... to this.
47051 (grub_vbe_get_memory_window): Renamed from this...
47052 (grub_vbe_bios_get_memory_window): ... to this.
47053 (grub_vbe_set_scanline_length): Renamed from this...
47054 (grub_vbe_set_scanline_length): ... to this.
47055 (grub_vbe_get_scanline_length): Renamed from this...
47056 (grub_vbe_bios_get_scanline_length): ... to this.
47057 (grub_vbe_set_display_start): Renamed from this...
47058 (grub_vbe_bios_set_display_start): ... to this.
47059 (grub_vbe_get_display_start): Renamed from this...
47060 (grub_vbe_bios_get_display_start): ... to this.
47061 (grub_vbe_set_palette_data): Renamed from this...
47062 (grub_vbe_bios_set_palette_data): ... to this.
47063 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47064 getting corrupted after calling it. Added more pushes and pops.
47065 (grub_vbe_bios_set_mode): Likewise.
47066 (grub_vbe_bios_get_mode): Likewise.
47067 (grub_vbe_bios_get_memory_window): Likewise.
47068 (grub_vbe_bios_set_scanline_length): Likewise.
47069 (grub_vbe_bios_get_scanline_length): Likewise.
47070 (grub_vbe_bios_get_display_start): Likewise.
47071 (grub_vbe_bios_set_palette_data): Likewise.
47072
47073 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47074 (cl_insert): Likewise.
47075 (cl_delete): Likewise.
47076
47077 * term/gfxterm.c: New file.
47078
47079 * term/i386/pc/vesafb.c: Removed file.
47080
47081 * video/video.c: New file.
47082
47083 * video/i386/pc/vbe.c (real2pm): Added new function.
47084 (grub_video_vbe_draw_pixel): Likewise.
47085 (grub_video_vbe_get_video_ptr): Likewise.
47086 (grub_video_vbe_get_pixel): Likewise
47087 (grub_video_vbe_init): Likewise.
47088 (grub_video_vbe_fini): Likewise.
47089 (grub_video_vbe_setup): Likewise.
47090 (grub_video_vbe_get_info): Likewise.
47091 (grub_video_vbe_set_palette): Likewise.
47092 (grub_video_vbe_get_palette): Likewise.
47093 (grub_video_vbe_set_viewport): Likewise.
47094 (grub_video_vbe_get_viewport): Likewise.
47095 (grub_video_vbe_map_color): Likewise.
47096 (grub_video_vbe_map_rgb): Likewise.
47097 (grub_video_vbe_map_rgba): Likewise.
47098 (grub_video_vbe_unmap_color): Likewise.
47099 (grub_video_vbe_fill_rect): Likewise.
47100 (grub_video_vbe_blit_glyph): Likewise.
47101 (grub_video_vbe_blit_bitmap): Likewise.
47102 (grub_video_vbe_blit_render_target): Likewise.
47103 (grub_video_vbe_scroll): Likewise.
47104 (grub_video_vbe_swap_buffers): Likewise.
47105 (grub_video_vbe_create_render_target): Likewise.
47106 (grub_video_vbe_delete_render_target): Likewise.
47107 (grub_video_vbe_set_active_render_target): Likewise.
47108 (grub_vbe_set_pixel_rgb): Remove function.
47109 (grub_vbe_set_pixel_index): Likewise.
47110 (index_color_mode): Remove static variable.
47111 (active_mode): Likewise.
47112 (framebuffer): Likewise.
47113 (bytes_per_scan_line): Likewise.
47114 (grub_video_vbe_adapter): Added new static variable.
47115 (framebuffer): Likewise.
47116 (render_target): Likewise.
47117 (initial_mode): Likewise.
47118 (mode_in_use): Likewise.
47119 (mode_list): Likewise.
47120
5f97350b 471212006-03-10 Marco Gerards <marco@gnu.org>
47122
47123 * configure.ac (AC_INIT): Bumped to 1.93.
47124
47125 * DISTLIST: Added `include/grub/hfs.h'.
47126
a3c5c6f8 471272006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47128
47129 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47130 18H, which might help the BIOS falling back to next boot media.
47131
6de53d26 471322006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47133
47134 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47135 Poe Chen <poe.poechen@gmail.com>.
47136
77c4a393 471372006-01-17 Marco Gerards <marco@gnu.org>
47138
47139 * include/grub/normal.h: Include <grub/script.h>.
47140 (grub_command_list): Removed struct.
47141 (grub_command_list_t): Removed type.
47142 (grub_menu_entry): Remove members `num' and `command_list'. Add
47143 members `commands' and `sourcecode'.
47144 * include/grub/script.h: Add inclusion guards.
47145 (grub_script_cmd_menuentry): New struct.
47146 (grub_script_execute_menuentry): New prototype.
47147 (grub_script_lexer_record_start): Likewise.
47148 (grub_script_lexer_record_stop): Likewise.
47149 * normal/execute.c (grub_script_execute_menuentry): New function.
47150 * normal/lexer.c (record, recording, recordpos, recordlen): New
47151 variables.
47152 (grub_script_lexer_record_start): New function.
47153 (grub_script_lexer_record_stop): Likewise.
47154 (recordchar): Likewise.
47155 (nextchar): Likewise.
47156 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47157 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47158 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47159 (current_menu): New variable.
47160 (free_menu): Mainly rewritten.
47161 (grub_normal_menu_addentry): New function.
47162 (read_config_file): Rewritten.
47163 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 47164 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 47165 the menu entry.
47166 (run): Mainly rewritten.
47167 * normal/parser.y (menu_entry): New variable.
47168 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47169 (menuentry): New rule.
47170 (command): Add `menuentry'.
47171 (if_statement): Allow additional returns before `fi'.
47172 * normal/script.c (grub_script_create_cmdmenu): New function.
47173
144f1f98 471742006-01-03 Marco Gerards <marco@gnu.org>
47175
47176 * INSTALL: GNU Bison is required.
47177 * configure.ac: Rewritten the test to detect Bison.
47178 * Makefile.in (YACC): New variable. Reported by Xun Sun
47179 <xun.sun.cn@gmail.com>.
47180
af4b2d89 471812006-01-03 Marco Gerards <marco@gnu.org>
47182
47183 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47184 the HFS+ filesystem to filesystem blocks.
47185 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47186 GCC warning is silenced.
47187
15643b71 471882006-01-03 Marco Gerards <marco@gnu.org>
47189
47190 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47191 read from disk from big endian to host byte order.
47192
00905879 471932006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47194
47195 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47196 documentation.
47197 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47198 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47199 embedded HFS+ filesystem.
47200 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47201 (grub_hfs_sblock): Move from here...
47202 * include/grub/hfs.h: To here... New file.
47203 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47204 documentation.
47205 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47206 New macros.
47207 (grub_hfsplus_volheader): Change type of member `magic' to
47208 `grub_uint16_t'.
47209 (grub_hfsplus_data): Add new member `embedded_offset'.
47210 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47211 returned block.
47212 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47213 Calculate the offset.
47214
8899bc3e 472152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47216
47217 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47218 Removed.
47219 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47220
ae8c0277 472212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47222
47223 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47224 ENV->NAME is NULL after allocating ENV->VALUE.
47225
07084456 472262005-12-25 Marco Gerards <marco@gnu.org>
47227
47228 * kern/env.c (grub_env_set): Rewritten the error handling code.
47229
4750f5f1 472302005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47231
47232 * geninit.sh: Made more robust, and more portable.
47233
50214199 472342005-12-25 Marco Gerards <marco@gnu.org>
47235
47236 Add support for Apple HFS+ filesystems.
f19dbdb7 47237
50214199 47238 * fs/hfsplus.c: New file.
47239
47240 * DISTLIST: Added `fs/hfsplus.c'.
47241
47242 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47243 (hfsplus_mod_SOURCES): New variable.
47244 (hfsplus_mod_CFLAGS): Likewise.
47245 (hfsplus_mod_LDFLAGS): Likewise.
47246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47247 (grub_setup_SOURCES): Likewise.
47248 (grub_mkdevicemap_SOURCES): Likewise.
47249 (grub_emu_SOURCES): Likewise.
47250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47251
47252 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47253
47254 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47255
befaed6c 472562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47257
47258 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47259 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47260 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47261 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47262 normal/lexer.c, normal/parser.y, normal/script.c, and
47263 partmap/gpt.c.
47264 Removed kern/sparc64/cache.c.
47265
47266 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47267 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47268 grub_emu_init.c.
47269
47270 * configure.ac (AC_INIT): Bumped to 1.92.
47271
6a124103 472722005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47273
47274 * kern/err.c (grub_error_push): Added new function to support error
47275 stacks.
47276 (grub_error_pop): Likewise.
47277 (grub_error_stack_items): New local variable to support error stacks.
47278 (grub_error_stack_pos): Likewise.
47279 (grub_error_stack_assert): Likewise.
47280 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47281 stack depth.
47282 (grub_print_error): Added support to print errors from error stack.
47283
47284 * include/grub/err.h (grub_error_push): Added function prototype.
47285 (grub_error_pop): Likewise.
47286
be973c1b 472872005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47288
47289 * configure.ac: Accept `powerpc64' as host_cpu.
47290 (amd64): Rename to `biarch32'.
47291
47292 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47293 non-cacheline-aligned addresses.
47294
47295 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47296 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47297 if `size' is non-zero.
47298
b04216ab 472992005-12-03 Marco Gerards <mgerards@xs4all.nl>
47300
47301 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47302 and `cd' to make sure the filename is not prefixed with a
47303 directory name.
47304 (pkgdata_MODULES): Add `gpt.mod'.
47305 (gpt_mod_SOURCES): New variable.
47306 (gpt_mod_CFLAGS): Likewise.
47307 (gpt_mod_LDFLAGS): Likewise.
47308
47309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47310
47311 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47312 New macro.
47313
47314 * partmap/gpt.c: New file.
47315
47316 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47317 GPT partition map is detected.
47318
41730ed9 473192005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47320
47321 * commands/i386/pc/play.c: New file.
47322 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47323 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47324 macros.
f19dbdb7 47325
95dc3643 473262005-11-27 Marco Gerards <mgerards@xs4all.nl>
47327
47328 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47329 ((unused))' to silence gcc warning.
47330
1569ec51 473312005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47332
47333 * configure.ac: Correct `AC_PROG_YACC' test.
47334
9abde152 473352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47336
47337 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47338 check before installing files.
47339
44b83271 473402005-11-22 Mike Small <smallm@panix.com>
47341
47342 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47343 number regex so multidigit numbers are recognized correctly.
47344
473452005-11-22 Mike Small <smallm@panix.com>
47346
47347 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47348 debugging message before attempting to claim memory.
47349 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47350 multiple addresses in case of failure.
47351
9c12956b 473522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47353
47354 * term/tparm.c (get_space): Remove empty `if' statement.
47355
47356 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47357
47358 * kern/parser.c (check_varstate): Rename `state' to 's'.
47359
aeaf81d9 473602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47361
47362 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47363 variable definitions to the beginning of each function. Sort stack
47364 variables by size.
47365 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47366 `buf' argument to `char *'.
47367
79bbb63f 473682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47369
47370 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47371 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47372 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 47373 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47374 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47375 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47376 configfile.mod, search.mod, gzio.mod and test.mod.
47377 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47378 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47379 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47380 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47381 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47382 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47383 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47384 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47385 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47386 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47387 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47388 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47389 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47390 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47391 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47392 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47393 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47394 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47395 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47396 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47397 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47398 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47399 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47400
47401 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47402 `grep --include'.
47403 (pkgdata_MODULES): Add test.mod.
47404
233b1628 474052005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47406
47407 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47408 appending to variables with "+=".
47409 (PModule): Use full pathname to generate *.lst filenames.
47410
47411 * Makefile.in: Fixed list rules moved from genmk.rb.
47412 (.DELETE_ON_ERROR): New special target.
47413 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47414
47415 * conf/i386-pc.rmk: Include conf/common.mk.
47416 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47417 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47418 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47419 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47420 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47421 configfile.mod, search.mod, gzio.mod and test.mod.
47422 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47423 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47424 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47425 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47426 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47427 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47428 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47429 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47430 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47431 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47432 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47433 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47434 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47435 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47436 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47437 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47438 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47439 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47440 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47441 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47442 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47443 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47444 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47445 here...
47446 * conf/common.rmk: ... to here. New file.
47447
47448 * conf/common.mk: New file.
47449
16f820c8 474502005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47451
47452 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47453 (grub_script.tab.c): ... here.
47454
47455 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47456 (grub_script.tab.c): ... here.
47457
47458 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47459 (grub_script.tab.c): ... here.
47460
47461 * normal/command.c (grub_command_find): Fixed a memory leak of
47462 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47463
63ba1554 474642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47465
47466 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47467 "@" which marks the start of a comment on ARM.
47468 (VARIABLE): Likewise.
47469
7f67dc13 474702005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47471
79bbb63f 47472 Add support for Linux/ADFS partition tables.
7f67dc13 47473
47474 * partmap/acorn.c: New file.
47475
47476 * include/grub/acorn_filecore.h: Likewise.
47477
47478 * DISTLIST: Added `partmap/acorn.c' and
47479 `include/grub/acorn_filecore.h'.
f19dbdb7 47480
7f67dc13 47481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47482 `partmap/acorn.c'.
47483 (pkgdata_MODULES): Add `acorn.mod'.
47484 (acorn_mod_SOURCES): New variable.
47485 (acorn_mod_CFLAGS): Likewise.
47486
47487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47488 `partmap/acorn.c'.
47489 (pkgdata_MODULES): Add `acorn.mod'.
47490 (acorn_mod_SOURCES): New variable.
47491 (acorn_mod_CFLAGS): Likewise.
47492
47493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47494 (pkgdata_MODULES): Add `acorn.mod'.
47495 (acorn_mod_SOURCES): New variable.
47496 (acorn_mod_CFLAGS): Likewise.
47497 (acorn_mod_LDFLAGS): Likewise.
47498
47499 * include/types.h (grub_disk_addr_t): New typedef.
47500
6d099807 475012005-11-13 Marco Gerards <mgerards@xs4all.nl>
47502
47503 * geninit.sh: New file.
47504
47505 * geninitheader.sh: Likewise.
47506
47507 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47508 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47509 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47510 * commands/configfile.c (grub_configfile_init)
47511 (grub_configfile_fini): Likewise.
47512 * commands/default.c (grub_default_init, grub_default_fini):
47513 Likewise.
47514 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47515 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47516 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47517 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47518 Likewise.
47519 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47520 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47521 Likewise.
47522 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47523 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47524 Likewise.
47525 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47526 Likewise.
fe6b695a 47527 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47528 Likewise.
47529 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47530 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47531 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47532 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47533 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47534 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47535 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47536 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47537 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47538 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47539 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47540 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47541 * partmap/amiga.c (grub_amiga_partition_map_init)
47542 (grub_amiga_partition_map_fini): Likewise.
47543 * partmap/apple.c (grub_apple_partition_map_init)
47544 (grub_apple_partition_map_fini): Likewise.
47545 * partmap/pc.c (grub_pc_partition_map_init)
47546 (grub_pc_partition_map_fini): Likewise.
47547 * partmap/sun.c (grub_sun_partition_map_init,
47548 grub_sun_partition_map_fini): Likewise.
47549 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47550 Likewise.
47551
47552 * util/grub-emu.c: Include <grub_modules_init.h>.
47553 (main): Don't initialize and de-initialize any modules directly,
47554 use `grub_init_all' and `grub_fini_all' instead.
47555
47556 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47557 `grub_vesafb_mod_init'.
47558 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47559 all users.
47560 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47561 `grub_vga_mod_init'. Updated all users.
47562 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47563
6d099807 47564 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47565 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47566 rules.
47567
47568 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47569 Generate a function to initialize the module in utilities.
47570 Updated all callers.
47571 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47572 initialize the module in utilities. Updated all callers.
47573
9046bcf0 475742005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47575
47576 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47577 escape sequence and a literal ^L to clear the screen.
47578
47579 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47580 when returning from Open Firmware.
47581
d13ea639 475822005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47583
47584 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47585 (grub_ofconsole_height): Likewise.
47586 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47587 manually insert a '\n'.
47588 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47589 `grub_ofconsole_height'. Return early if these are already set.
47590
a8fcf206 475912005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47592
47593 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47594 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47595 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47596 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47597 and `normal/script.c'.
47598 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47599 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47600 (test_mod_SOURCES): New variable.
47601 (test_mod_CFLAGS): Likewise.
47602 (test_mod_LDFLAGS): Likewise.
47603 (pkgdata_MODULES): Add `test.mod'.
47604 (grub_script.tab.c): New rule.
47605 (grub_script.tab.h): Likewise.
47606
b6b32745 476072005-11-07 Marco Gerards <mgerards@xs4all.nl>
47608
47609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47610 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47611 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47612 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47613 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47614 (test_mod_SOURCES): New variable.
47615 (test_mod_CFLAGS): Likewise.
47616 (pkgdata_MODULES): Add `test.mod'.
47617 (grub_script.tab.c): New rule.
47618 (grub_script.tab.h): Likewise.
47619
daac212a 476202005-11-06 Marco Gerards <mgerards@xs4all.nl>
47621
47622 Add initial scripting support.
47623
47624 * commands/test.c: New file.
47625 * include/grub/script.h: Likewise.
47626 * normal/execute.c: Likewise.
47627 * normal/function.c: Likewise.
47628 * normal/lexer.c: Likewise.
47629 * normal/parser.y: Likewise.
47630 * normal/script.c: Likewise.
47631
47632 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47633
daac212a 47634 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47635 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47636 `normal/function.c' and `normal/script.c'.
47637 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47638 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47639 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47640 variables.
daac212a 47641 (pkgdata_MODULES): Add `test.mod'.
47642 (grub_script.tab.c): New rule.
47643 (grub_script.tab.h): Likewise.
47644
47645 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47646
47647 * include/grub/normal.h (grub_test_init): New prototype.
47648 (grub_test_fini): Likewise.
f19dbdb7 47649
daac212a 47650 * normal/command.c: Include <grub/script.h>.
47651 (grub_command_execute): Rewritten.
f19dbdb7 47652
daac212a 47653 * util/grub-emu.c (main): Call `grub_test_init' and
47654 `grub_test_fini'.
47655
77500b2b 476562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47657
47658 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47659 to 0.
47660 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47661 there are no pending characters.
47662
e45deb9e 476632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47664
47665 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47666 `grub_strndup' to drop device arguments. Replace unnecessary
47667 `grub_strndup' with `grub_strdup'.
47668
4ce32619 476692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47670
47671 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47672 `debug' environment variable has been set.
47673
476742005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47675
4ce32619 47676 * Makefile.in (install-local): Use $(DATA).
47677 (uninstall): Likewise.
47678 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47679 (sbin_UTILITIES): ... to here.
47680 (sbin_SCRIPTS): New variable.
47681 (grub_install_SOURCES): New variable.
47682 * util/powerpc/ieee1275/grub-install.in: New file.
47683 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47684 variable.
47685 (add_segments): Call `grub_util_get_path'.
47686
25fe6f03 476872005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47688
47689 From Timothy Baldwin:
47690 * commands/ls.c (grub_ls_list_files): Close FILE with
47691 grub_file_close.
47692 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47693
04ccf3ec 476942005-10-24 Marco Gerards <mgerards@xs4all.nl>
47695
47696 * include/grub/parser.h: New file.
47697
47698 * kern/parser.c: Likewise.
47699
47700 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47701 (grub_setup_SOURCES): Likewise.
47702 (grub_probefs_SOURCES): Likewise.
47703 (grub_emu_SOURCES): Likewise.
47704 (kernel_img_HEADERS): Add `parser.h'.
47705
47706 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47707 (grub_emu_SOURCES): Add `kern/parser.c'.
47708 (grubof_SOURCES): Likewise.
47709
47710 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47711 (grubof_SOURCES): Add `kern/parser.c'.
47712
47713 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47714
47715 * kern/misc.c (grub_split_cmdline): Removed function.
47716
47717 * kern/rescue.c: Include <grub/parser.h>.
47718 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47719 of `grub_split_cmdline'.
47720
47721 * normal/command.c: Include <grub/parser.h>.
47722 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47723 of `grub_split_cmdline'.
47724
47725 * normal/completion.c: Include <grub/parser.h>.
47726 (cmdline_state): New variable.
47727 (iterate_dir): End the filename with a quote depending on the
47728 command line state.
47729 (get_state): new function.
47730 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47731 split the arguments and determine the current argument. When the
47732 argument string is not quoted, escape all spaces.
47733
6d8f4b0e 477342005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47735
47736 * normal/sparc64/setjmp.S: New file.
47737
15cf03ed 477382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47739
47740 * include/grub/sparc64/libgcc.h: New file.
47741 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47742 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47743 normal/sparc64/setjmp.c.
47744
03e8661a 477452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47746
47747 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47748 * kern/sparc64/cache.S: New file.
47749 * kern/sparc64/cache.c: Removed.
47750 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47751 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47752 -mtune=ultrasparc.
47753 (COMMON_LDFLAGS): Add -melf64_sparc.
47754 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47755 (grubof_SOURCES): Use cache.S instead of cache.c.
47756 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47757 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47758 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47759 commented though.
47760 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47761 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47762 (linux_mod_CFLAGS): Commented out.
47763 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47764 out because module isn't built.
47765 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47766 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47767 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47768 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47769 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47770 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47771 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47772 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47773 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47774 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47775 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47776 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47777 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47778 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47779
34eeec8a 477802005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47781
47782 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47783 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47784 longer, because HFS should not be used on PC.
47785
708367a3 477862005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47787
47788 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47789 consistently within the loop.
47790
6fa1251a 477912005-10-15 Marco Gerards <mgerards@xs4all.nl>
47792
47793 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47794 directory can not be read.
47795
4801580b 477962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47797
47798 * configure.ac (AC_INIT): Increase the version number to 1.91.
47799
47800 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47801 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47802 term/i386/pc/serial.c.
47803
219ad426 478042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47805
47806 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47807 file size must be permitted.
47808
47809 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47810 between %ah and %al.
47811
688e5699 478122005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47813
47814 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47815 grub_uint64_t.
47816 Call the hook with a NUL-terminated filename.
47817 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47818 grub_cpu_to_be32.
47819
47820 * kern/term.c (cursor_state): New variable.
47821 (grub_term_set_current): Reset the cursor state on a new
47822 terminal.
47823 (grub_setcursor): Rewritten to use CURSOR_STATE.
47824 (grub_getcursor): New function.
47825
47826 * include/grub/term.h (grub_getcursor): New prototype.
47827
47828 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47829 integers on ARM. Reported by Timothy Baldwin
47830 <T.E.Baldwin99@members.leeds.ac.uk>.
47831
bb34586c 478322005-10-11 Marco Gerards <mgerards@xs4all.nl>
47833
47834 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47835 allocated.
47836 (grub_sfs_dir): Likewise.
47837
9a909877 478382005-10-09 Marco Gerards <mgerards@xs4all.nl>
47839
47840 Add support for the SFS filesystem.
47841
47842 * fs/sfs.c: New file.
47843
47844 * DISTLIST: Added `fs/sfs.c'.
47845
47846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47847 (grub_probefs_SOURCES): Likewise.
47848 (grub_emu_SOURCES): Likewise.
47849 (pkgdata_MODULES): Add `sfs.mod'.
47850 (sfs_mod_SOURCES): New variable.
47851 (sfs_mod_CFLAGS): Likewise.
47852 (sfs_mod_LDFLAGS): Likewise.
47853
47854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47855 (pkgdata_MODULES): Add `sfs.mod'.
47856 (sfs_mod_SOURCES): New variable.
47857 (sfs_mod_CFLAGS): Likewise.
47858
47859 * util/grub-emu.c (main): Call `grub_sfs_init' and
47860 `grub_sfs_fini'.
47861
47862 * include/grub/fs.h (grub_sfs_init): New prototype.
47863 (grub_sfs_fini): Likewise.
47864
57bdbde3 478652005-10-07 Marco Gerards <mgerards@xs4all.nl>
47866
47867 Add support for the AFFS filesystem.
47868
47869 * fs/affs.c: New file.
47870
47871 * DISTLIST: Added `fs/affs.c'.
47872
47873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47874 (grub_probefs_SOURCES): Likewise.
47875 (grub_emu_SOURCES): Likewise.
47876 (pkgdata_MODULES): Add `affs.mod'.
47877 (affs_mod_SOURCES): New variable.
47878 (affs_mod_CFLAGS): Likewise.
47879 (affs_mod_LDFLAGS): Likewise.
47880
47881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47882 (pkgdata_MODULES): Add `affs.mod'.
47883 (affs_mod_SOURCES): New variable.
47884 (affs_mod_CFLAGS): Likewise.
47885
47886 * util/grub-emu.c (main): Call `grub_affs_init' and
47887 `grub_affs_fini'.
47888
47889 * include/grub/fs.h (grub_affs_init): New prototype.
47890 (grub_affs_fini): Likewise.
47891
047b67e0 478922005-10-01 Marco Gerards <mgerards@xs4all.nl>
47893
47894 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47895
59b8208a 478962005-10-01 Marco Gerards <mgerards@xs4all.nl>
47897
47898 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47899 `-m32' to CFLAGS.
47900
47901 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47902 linking.
f19dbdb7 47903
59b8208a 47904 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47905 (COMMON_LDFLAGS): New variable.
47906 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47907 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47908 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47909 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47910 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47911 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47912 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47913 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47914 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47915 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47916 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47917 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47918 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47919 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47920 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47921 variables.
47922 (normal_mod_ASFLAGS): Add `-m32'.
47923
47924 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47925 (grub_host_size_t, grub_host_ssize_t): New types.
47926 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47927 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47928 `GRUB_HOST_SIZEOF_VOID_P'.
47929
47930 * include/grub/kernel.h (struct grub_module_header): Type of
47931 member offset changed to `grub_host_off_t'. Type of member size
47932 changed to `grub_host_size_t'.
47933 (struct grub_module_info): Type of member offset changed to
47934 `grub_host_off_t'. Type of member size changed to
47935 `grub_host_size_t'.
47936
b4093103 479372005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47938
47939 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47940
b4093103 47941 * kern/i386/pc/startup.S (multiboot_header): New label.
47942 (multiboot_entry): Likewise.
47943 (multiboot_trampoline): Likewise.
47944
47945 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47946 Increased to 0x4A0.
47947
47948 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47949 put parentheses after a question mark.
47950 [!GRUB_UTIL] (my_mod): New variable.
47951
47952 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47953
b2499b29 479542005-09-28 Marco Gerards <mgerards@xs4all.nl>
47955
47956 Adds support for the XFS filesystem. Btrees are not supported
47957 yet.
47958
47959 * fs/xfs.c: New file.
47960
47961 * DISTLIST: Added `fs/xfs.c'.
47962
47963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47964 (grub_probefs_SOURCES): Likewise.
47965 (grub_emu_SOURCES): Likewise.
47966 (pkgdata_MODULES): Add `xfs.mod'.
47967 (xfs_mod_SOURCES): New variable.
47968 (xfs_mod_CFLAGS): Likewise.
47969
47970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47971 (pkgdata_MODULES): Add `xfs.mod'.
47972 (xfs_mod_SOURCES): New variable.
47973 (xfs_mod_CFLAGS): Likewise.
47974
47975 * util/grub-emu.c (main): Call `grub_xfs_init' and
47976 `grub_xfs_fini'.
47977
47978 * include/grub/fs.h (grub_xfs_init): New prototype.
47979 (grub_xfs_fini): Likewise.
47980
f19dbdb7 47981
83d37a62 479822005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47983
47984 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47985 color modes, allow greater than 16 colors to be configured as
47986 a default palette.
47987
47d2d65e 479882005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47989
47990 * normal/completion.c (complete_arguments): Add the qualifier
47991 const into OPTIONS.
47992
47993 From Omniflux <omniflux+lists@omniflux.com>:
47994 * include/grub/terminfo.h: New file.
47995 * include/grub/tparm.h: Likewise.
47996 * include/grub/i386/pc/serial.h: Likewise.
47997 * term/terminfo.c: Likewise.
47998 * term/tparm.c: Likewise.
47999 * term/i386/pc/serial.c: Likewise.
48000 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
48001 serial.mod.
48002 (terminfo_mod_SOURCES): New variable.
48003 (terminfo_mod_CFLAGS): Likewise.
48004 (serial_mod_SOURCES): Likewise.
48005 (serial_mod_CFLAGS): Likewise.
48006
48b671ff 480072005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
48008
48009 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
48010 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
48011 and kern/powerpc/ieee1275/cmain.c, respectively.
48012
48013 * boot/powerpc/ieee1275/crt0.S: Moved to ...
48014 * kern/powerpc/ieee1275/crt0.S: ... here.
48015
48016 * boot/powerpc/ieee1275/cmain.c: Moved to ...
48017 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 48018
48b671ff 48019 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
48020 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
48021 instead of boot/powerpc/ieee1275/crt0.S and
48022 boot/powerpc/ieee1275/cmain.c, respectively.
48023
48024 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
48025 sectors. It was not used anyway.
48026
09fc77a7 480272005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48028
48029 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
48030 `unused parameter' warning.
48031
003789c7 480322005-08-30 Hollis Blanchard <hollis@penguinppc.org>
48033
48034 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
48035 function.
48036 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
48037 getcharwidth.
48038
67f44c86 480392005-08-28 Marco Gerards <metgerards@student.han.nl>
48040
48041 * include/grub/normal.h (enum grub_completion_type): Added
48042 `GRUB_COMPLETION_TYPE_ARGUMENT'.
48043
48044 * normal/cmdline.c (print_completion): Handle
48045 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
48046 * normal/menu_entry.c (store_completion): Likewise.
48047
48048 * normal/completion.c (complete_arguments): New function.
48049 (grub_normal_do_completion): Call `complete_arguments' when the
48050 current words start with a dash.
48051
0b5abe02 480522005-08-27 Marco Gerards <metgerards@student.han.nl>
48053
48054 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
48055 `gzio.mod' instead of `io.mod').
48056
d9864ee1 480572005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
48058
48059 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48060 (DISTDIRS): Added io and video.
48061 Rewrite the search routine to make an output consistently.
48062
48063 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48064 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48065 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48066 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48067 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48068 util/powerpc/ieee1275/misc.c.
f19dbdb7 48069
d9864ee1 48070 * include/grub/gzio.h: New file.
48071 * io/gzio.c: Likewise.
f19dbdb7 48072
d9864ee1 48073 * kern/file.c (grub_file_close): Call grub_device_close only if
48074 FILE->DEVICE is not NULL.
48075
48076 * include/grub/mm.h [!NULL] (NULL): New macro.
48077
48078 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48079
48080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48081 (pkgdata_MODULES): Added gzio.mod.
48082 (gzio_mod_SOURCES): New variable.
48083 (gzio_mod_CFLAGS): Likewise.
48084
48085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48086 (pkgdata_MODULES): Added gzio.mod.
48087 (gzio_mod_SOURCES): New variable.
48088 (gzio_mod_CFLAGS): Likewise.
48089
48090 * commands/cat.c: Include grub/gzio.h.
48091 (grub_cmd_cat): Use grub_gzfile_open instead of
48092 grub_file_open.
f19dbdb7 48093
d9864ee1 48094 * commands/cmp.c: Include grub/gzio.h.
48095 (grub_cmd_cmp): Use grub_gzfile_open instead of
48096 grub_file_open.
48097
48098 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48099 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48100 grub_file_open.
48101 (grub_rescue_cmd_module): Likewise.
48102
fa46f4b5 481032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48104
48105 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48106 kern/sparc64/ieee1275/init.c because it contains _start.
48107 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48108
e9211b5d 481092005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48110
48111 * configure.ac: Add support for sparc64 host with ieee1275
48112 firmware.
48113 * configure: Generated from configure.ac.
48114 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48115 instead of int.
48116 (grub_ofdisk_read): Likewise.
48117 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48118 pointers as (void *) to remove a warning.
48119 (grub_ofdisk_close): Likewise.
48120 (grub_ofdisk_read): Likewise.
48121 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48122 returns, so make it return void to remove a warning.
48123 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48124 Corresponding prototype change.
48125 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48126 values, and cast the pointers as (void *) to remove a warning.
48127 (grub_mm_dump): Likewise.
48128 * conf/sparc64-ieee1275.mk: New file.
48129 * conf/sparc64-ieee1275.rmk: Likewise.
48130 * include/grub/sparc64/setjmp.h: Likewise.
48131 * include/grub/sparc64/types.h: Likewise.
48132 * include/grub/sparc64/ieee1275/console.h: Likewise.
48133 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48134 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48135 * include/grub/sparc64/ieee1275/time.h: Likewise.
48136 * kern/sparc64/cache.c: Likewise.
48137 * kern/sparc64/dl.c: Likewise.
48138 * kern/sparc64/ieee1275/init.c: Likewise.
48139 * kern/sparc64/ieee1275/openfw.c: Likewise.
48140
385c6a92 481412005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48142
48143 * util/console.c (grub_ncurses_putchar): If C is greater than
48144 0x7f, set C to a question mark.
48145 (grub_ncurses_getcharwidth): New function.
48146 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48147 getcharwidth.
48148
48149 * normal/menu.c (print_entry): Made aware of Unicode. First,
48150 convert TITLE to UCS-4, and predict the cursor position by
48151 grub_getcharwidth.
48152
48153 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48154 const to SRC.
48155 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48156
16ccb8b1 481572005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48158
48159 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48160 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48161 grub_strcat.
48162
48163 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48164 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48165 grub_strcpy and grub_strlen. Take it into account that a space
48166 character is inserted as a delimiter.
48167
6a85ce79 481682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48169
48170 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 48171 invalid magic in the error.
6a85ce79 48172
48173 * commands/search.c: New file.
f19dbdb7 48174
6a85ce79 48175 * util/grub-emu.c (main): Call grub_search_init and
48176 grub_search_fini.
48177
48178 * kern/rescue.c (grub_rescue_print_disks): Removed.
48179 (grub_rescue_print_devices): New function.
48180 (grub_rescue_cmd_ls): Use grub_device_iterate with
48181 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48182 grub_rescue_print_disks.
48183
48184 * kern/partition.c (grub_partition_iterate): Return the result of
48185 PARTMAP->ITERATE instead of GRUB_ERRNO.
48186
48187 * kern/device.c: Include grub/partition.h.
48188 (grub_device_iterate): New function.
48189
48190 * include/grub/partition.h (grub_partition_iterate): Return int
48191 instead of grub_err_t.
48192
48193 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48194 prototype.
48195 [GRUB_UTIL] (grub_search_fini): Likewise.
48196
48197 * include/grub/device.h (grub_device_iterate): New prototype.
48198
48199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48200 commands/search.c.
48201 (pkgdata_MODULES): Added search.mod.
48202 (search_mod_SOURCES): New variable.
48203 (search_mod_CFLAGS): Likewise.
48204
48205 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48206 (pkgdata_MODULES): Added search.mod.
48207 (search_mod_SOURCES): New variable.
48208 (search_mod_CFLAGS): Likewise.
48209
48210 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48211 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48212 All callers changed.
48213
48214 * DISTLIST: Added commands/search.c.
48215
ef095434 482162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48217
48218 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48219 conversion.
48220 (grub_getcharwidth): New function.
48221
48222 * kern/misc.c (grub_utf8_to_ucs4): New function.
48223
48224 * include/grub/term.h (struct grub_term): Added a new member
48225 "getcharwidth".
48226 (grub_getcharwidth): New prototype.
48227
48228 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48229
48230 * term/i386/pc/console.c (map_char): New function. Segregated from
48231 grub_console_putchar.
48232 (grub_console_putchar): Use map_char.
48233 (grub_console_getcharwidth): New function.
48234 (grub_console_term): Specified grub_console_getcharwidth as
48235 getcharwidth.
48236
48237 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48238 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48239
48240 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48241 GRUB_ERRNO.
48242 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48243 on grub_strtoul completely.
48244 (write_char): Declare local variables in the beginning of the
48245 function.
48246 (grub_vesafb_getcharwidth): New function.
48247 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48248 getcharwidth.
48249
1f0a95e4 482502005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48251
48252 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48253 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48254 commands/i386/pc/vbetest.c.
48255
48256 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48257 call grub_vbe_get_controller_info again, because the returned
48258 information is volatile.
48259 (grub_vbe_set_video_mode): Mostly rewritten.
48260 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48261 grub_vbe_status_t correctly.
48262 (grub_vbe_get_video_mode_info): Likewise.
48263 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48264 several if statements.
48265
48266 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48267 * commands/i386/pc/vbeinfo.c: ... this.
48268
48269 * commands/i386/pc/vbe_test.c: Renamed to ...
48270 * commands/i386/pc/vbetest.c: ... this.
48271
48272 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48273 ...
48274 (grub_cmd_vbeinfo): ... this. Save video modes before
48275 iterating. Skip a video mode, if it is not available, not enough
48276 information is given or it is monochrome. Show the memory
48277 model. Leave the interpretation of MODEVAR to grub_strtoul
48278 completely.
48279 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48280 (GRUB_MOD_FINI): Likewise.
48281
48282 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48283 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48284 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48285 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48286 grub_strtoul completely.
48287 (real2pm): Removed.
48288 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48289 (GRUB_MOD_FINI): Likewise.
48290
48291 * normal/misc.c: Include grub/mm.h.
48292
48293 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48294 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48295 (vbe_list_modes_mod_SOURCES): Removed.
48296 (vbe_list_modes_mod_CFLAGS): Likewise.
48297 (vbe_test_mod_SOURCES): Likewise.
48298 (vbe_test_mod_CFLAGS): Likewise.
48299 (vbeinfo_mod_SOURCES): New variable.
48300 (vbeinfo_mod_CFLAGS): Likewise.
48301 (vbetest_mod_SOURCES): Likewise.
48302 (vbetest_mod_CFLAGS): Likewise.
48303
992ffbbe 483042005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48305
48306 * normal/misc.c: New file.
48307
48308 * DISTLIST: Added normal/misc.c.
f19dbdb7 48309
992ffbbe 48310 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48311 DISK to HOOK. Call HOOK with DISK.
48312 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48313 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48314 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48315
48316 * normal/menu_entry.c (struct screen): Added a new member
48317 "completion_shown".
48318 (completion_buffer): New global variable.
48319 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48320 (store_completion): New function.
48321 (complete): Likewise.
48322 (clear_completions): Likewise.
48323 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48324 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48325 a tab, call complete.
48326
48327 * normal/completion.c (disk_dev): Removed.
48328 (print_simple_completion): Likewise.
48329 (print_partition_completion): Likewise.
48330 (print_func): New global variable.
48331 (add_completion): Do not take the arguments WHAT or PRINT any
48332 longer. Added a new argument TYPE. Instead of printing directly,
48333 call PRINT_FUNC if not NULL.
48334 All callers changed.
48335 (complete_device): Use a local variable DEV instead of
48336 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48337 (grub_normal_do_completion): Take a new argument HOOK. Do not
48338 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48339 empty string, return NULL instead.
48340 All callers changed.
48341
48342 * normal/cmdline.c (print_completion): New function.
48343
48344 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48345 to HOOK.
48346 All callers changed.
48347
48348 * kern/disk.c (grub_print_partinfo): Removed.
48349
48350 * include/grub/partition.h (struct grub_partition_map): Add a new
48351 argument DISK into HOOK of ITERATE.
48352 (grub_partition_iterate): Add a new argument DISK to HOOK.
48353
48354 * include/grub/normal.h (enum grub_completion_type): New enum.
48355 (grub_completion_type_t): New type.
48356 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48357 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48358 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48359 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48360 (grub_normal_do_completion): Added a new argument HOOK.
48361 (grub_normal_print_device_info): New prototype.
48362
48363 * include/grub/disk.h (grub_print_partinfo): Removed.
48364
48365 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48366 (normal_mod_SOURCES): Likewise.
48367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48368 (normal_mod_SOURCES): Likewise.
48369
48370 * commands/ls.c (grub_ls_list_disks): Use
48371 grub_normal_print_device_info instead of grub_print_partinfo. Free
48372 PNAME.
48373 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48374 duplicating the code.
48375
0bd41162 483762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48377
48378 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 48379 follow GCS more precisely.
48380 * commands/i386/pc/vbe_test.c: Likewise.
48381 * include/grub/i386/pc/vbe.h: Likewise.
48382 * term/i386/pc/vesafb.c: Likewise.
48383 * video/i386/pc/vbe.c: Likewise.
0bd41162 48384
6323696a 483852005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48386
48387 * DISTLIST: Added term/i386/pc/vesafb.c
48388 DISTLIST: Added video/i386/pc/vbe.c
48389 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48390 DISTLIST: Added commands/i386/pc/vbe_test.c.
48391 * commands/i386/pc/vbe_list_modes.c: New file.
48392 * commands/i386/pc/vbe_test.c: Likewise.
48393 * term/i386/pc/vesafb.c: Likewise.
48394 * video/i386/pc/vbe.c: Likewise.
48395 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48396 (grub_vbe_probe) Added prototype.
48397 (grub_vbe_set_video_mode) Likewise.
48398 (grub_vbe_get_video_mode) Likewise.
48399 (grub_vbe_get_video_mode_info) Likewise.
48400 (grub_vbe_set_pixel_rgb) Likewise.
48401 (grub_vbe_set_pixel_index) Likewise.
48402 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48403 (pkgdata_MODULES): Added vesafb.mod.
48404 (pkgdata_MODULES): Added vbe_list_modes.mod.
48405 (pkgdata_MODULES): Added vbe_test.mod.
48406 (vbe_mod_SOURCES): Added.
48407 (vbe_mod_CFLAGS): Likewise.
48408 (vesafb_mod_SOURCES): Likewise.
48409 (vesafb_mod_CFLAGS): Likewise.
48410 (vbe_list_modes_mod_SOURCES): Likewise.
48411 (vbe_list_modes_mod_CFLAGS): Likewise.
48412 (vbe_test_mod_SOURCES): Likewise.
48413 (vbe_test_mod_CFLAGS): Likewise.
48414
0a74e62f 484152005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48416
0a74e62f 48417 * normal/command.c (grub_command_execute): If INTERACTIVE is
48418 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48419 CMDLINE. Disable the pager if INTERACTIVE is true.
48420 All callers are changed.
48421
48422 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48423 before reading a config file.
48424 * normal/main.c (read_config_file): Even if a command is not
48425 found, register it if it is within an entry.
48426
48427 * util/grub-emu.c: Include sys/types.h and unistd.h.
48428 (options): Added --hold.
48429 (struct arguments): Added a new member "hold".
48430 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48431 missing.
48432 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48433 cleared by a debugger, if it is not zero.
48434
48435 * include/grub/normal.h (grub_command_execute): Add an argument
48436 INTERACTIVE.
48437
e51f85ae 484382005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48439
48440 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48441
e9c6f39b 484422005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48443
48444 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48445 program with another one, because the old one didn't detect a bug
48446 in gcc-3.4. Always use regparm 2, because the new test is still
48447 not enough for gcc-4.0. Someone must investigate a simple test
48448 case which detects a bug in gcc-4.0.
48449
8de3495c 484502005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48451
48452 * DISTLIST: Added normal/completion.c.
48453
48454 * normal/completion.c: New file.
f19dbdb7 48455
8de3495c 48456 * term/i386/pc/console.c (grub_console_getwh): New function.
48457 (grub_console_term): Assign grub_console_getwh to getwh.
48458
48459 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48460 function is defined in normal/completion.c as
48461 grub_normal_do_completion.
48462 (grub_cmdline_get): Use grub_normal_do_completion instead of
48463 grub_tab_complete.
48464
48465 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48466 returns non-zero, otherwise return 0.
48467 (grub_partition_iterate): First, probe the partition map. Then,
48468 call ITERATE only for this partition map.
48469
48470 * kern/misc.c (grub_strncmp): Rewritten.
48471
48472 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48473 returns non-zero. Otherwise return 0.
48474
48475 * include/grub/partition.h (grub_partition_map_iterate): Return
48476 int instead of void.
48477
48478 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48479
48480 * include/grub/misc.h (grub_strncmp): Change the type of N to
48481 grub_size_t.
48482
48483 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48484 of void.
48485
48486 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48487 unsigned explicitly before comparing it with I.
8de3495c 48488
48489 * kern/main.c (grub_env_write_root): Add the attribute unused into
48490 VAR.
48491
48492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48493 normal/completion.c.
48494 (normal_mod_SOURCES): Likewise.
48495 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48496 (normal_mod_SOURCES): Likewise.
48497
48498 * normal/command.c (grub_iterate_commands): If ITERATE returns
48499 non-zero, return one immediately.
48500
e85e144b 485012005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48502
48503 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48504 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48505 descriptions.
48506 (grub_vbe_get_controller_info): New function.
48507 (grub_vbe_get_mode_info): Likewise.
48508 (grub_vbe_set_mode): Likewise.
48509 (grub_vbe_get_mode): Likewise.
48510 (grub_vbe_set_memory_window): Likewise.
48511 (grub_vbe_get_memory_window): Likewise.
48512 (grub_vbe_set_scanline_length): Likewise.
48513 (grub_vbe_get_scanline_length): Likewise.
48514 (grub_vbe_set_display_start): Likewise.
48515 (grub_vbe_get_display_start): Likewise.
48516 (grub_vbe_set_palette_data): Likewise.
48517 * include/grub/i386/pc/vbe.h: New file.
48518
c46153d2 485192005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48520
48521 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48522 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48523 * DISTLIST: Likewise.
48524 * kern/ieee1275/of.c: Moved to ...
48525 * kern/ieee1275/ieee1275.c: ... here.
48526
0cb90c45 485272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48528
48529 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48530 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48531 Pass 0 as `end' parameter to grub_strtoul().
48532
a19fb360 485332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48534
48535 * include/grub/powerpc/ieee1275/console.h: Do not include
48536 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48537 ifdef.
48538 (grub_console_cur_color): Remove i386-specific prototype.
48539 (grub_console_real_putchar): Likewise.
48540 (grub_console_checkkey): Likewise.
48541 (grub_console_getkey): Likewise.
48542 (grub_console_getxy): Likewise.
48543 (grub_console_gotoxy): Likewise.
48544 (grub_console_cls): Likewise.
48545 (grub_console_setcursor): Likewise.
48546 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48547 Include <grub/machine/console.h>.
48548 * term/ieee1275/ofconsole.c: Likewise.
48549
4ac9bd04 485502005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48551
48552 * Makefile.in (LIBLZO): New variable.
48553
48554 * configure.ac: Check for LZO version 2.
48555
48556 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48557 lzo/lzo1x.h instead of lzo1x.h.
48558
48559 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48560 of -llzo.
48561
48562 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48563 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48564
48565 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48566 copying the data from PARTITION to P.
48567
f4917dfd 485682005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48569
48570 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48571 negative, unload the module.
48572
48573 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48574 map is "pc_partition_map" but not "pc".
48575 (usage): Fix the description. The options are --boot-image and
48576 --core-image but not --boot-file or --core-file.
48577 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48578 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48579 DEFAULT_DIRECTORY.
48580
48581 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48582 --core-file. Specify INSTALL_DEVICE as an argument.
48583
48584 * util/console.c: Include config.h.
48585 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48586 [HAVE_NCURSES_H]: Include ncurses.h.
48587 [HAVE_CURSES_H]: Include curses.h.
48588 [!A_NORMAL] (A_NORMAL): Defined as zero.
48589 [!A_STANDOUT] (A_STANDOUT): Likewise.
48590
48591 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48592 -lncurses.
48593 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48594
48595 * configure.ac: Check for curses libraries and headers.
48596
48597 * Makefile.in (LIBCURSES): New variable.
48598
48599 * genmk.rb (Script::rule): Set the executable bits.
48600
48601 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48602 name of the PC partition map is "pc_partition_map" but not "pc".
48603
0e143073 486042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48605
48606 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48607 (modules): Likewise.
48608 (usage): Added descriptions for --modules and --grub-probefs.
48609 Handle --modules and --grub-probefs. Save the arguments in MODULES
48610 and GRUB_PROBEFS, respectively.
48611 Auto-detect a filesystem module against GRUBDIR. If the result is
48612 empty and modules are not specified explicitly, abort the
48613 installation. Add the result to MODULES.
48614
48615 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48616 disk/powerpc/ieee1275/ofdisk.c,
48617 include/grub/powerpc/ieee1275/init.h and
48618 term/powerpc/ieee1275/ofconsole.c.
48619 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48620 term/ieee1275/ofconsole.c.
48621
48622 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48623
48624 * COPYING: Upgraded to the latest version. Only the address of the
48625 FSF office has changed.
f19dbdb7 48626
efd6e6d5 486272005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48628
48629 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48630 kern/ieee1275.c with kern/ieee1275/of.c.
48631
48632 * kern/ieee1275.c: Moved to ...
48633 * kern/ieee1275/of.c: ... here.
48634
8ceafda2 486352005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48636
48637 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48638 readability.
8ceafda2 48639
48640 * config.guess: Updated to the latest version from gnulib.
48641 * config.sub: Likewise.
48642 * install.sh: Likewise.
48643 * mkinstalldirs: Likewise.
48644
48645 * include/grub/console.h: Removed. This file is arch-specific. Do
48646 not put this in include/grub.
48647
48648 * include/grub/i386/pc/console.h: Resurrected.
48649
48650 * util/console.c: Include grub/machine/console.h instead of
48651 grub/console.h.
48652 * util/grub-emu.c: Likewise.
48653
267f6cd9 486542005-08-04 Marco Gerards <metgerards@student.han.nl>
48655
48656 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48657 hardcoded value.
f19dbdb7 48658
267f6cd9 48659 From Vincent Pelletier <subdino2004@yahoo.fr>
48660 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48661 Redefined to use grub_getwh.
48662 (grub_term): New member named getwh.
48663 (grub_getwh): New prototype.
48664 * kern/term.c (grub_getwh): New function.
48665 * term/i386/pc/console.c (grub_console_getwh): New function.
48666 (grub_console_term): New member `getwh'.
48667 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48668 (grub_vga_term): New member `getwh'.
0b5abe02 48669 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48670 grub_ssize_t.
48671 (grub_ofconsole_getw): New function.
48672 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48673 (grub_ofconsole_term): New field named getwh and new initial
48674 value.
48675
3be7266d 486762005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48677
48678 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48679 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48680 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48681 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48682 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48683 of <grub/machine/ieee1275.h>.
48684 * commands/ieee1275/reboot.c: Likewise.
48685 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48686 * kern/ieee1275.c: ... to here. All users updated. Change all
48687 parameter structs to use new type `grub_ieee1275_cell_t'.
48688 * term/powerpc/ieee1275/ofconsole.c: Move ...
48689 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48690 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48691 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48692 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48693 to return int.
48694 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48695 Remove unused prototypes. All users updated.
48696 * include/grub/powerpc/ieee1275/console.h: Removed.
48697 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48698 `grub_ieee1275_cell_t'.
48699 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48700 Cast comparisons with -1 to the correct type.
48701 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48702 type to match `grub_ieee1275_entry_fn'.
48703
8b5f3938 487042005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48705
48706 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48707
48708 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48709 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48710 partmap/sun.c.
48711 (grub_probefs_SOURCES): New variable.
48712
48713 * util/i386/pc/grub-probefs.c: New file.
48714
48715 * util/i386/pc/grub-setup.c (main): Call
48716 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48717 grub_hfs_init and grub_jfs_init to initialize the system. Call
48718 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48719 grub_pc_partition_map_fini to finish the system.
48720
ea409713 487212005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48722
48723 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48724 function.
48725 (grub_multiboot_load_elf32): Likewise.
48726 (grub_multiboot_is_elf64): Likewise.
48727 (grub_multiboot_load_elf64): Likewise.
48728 (grub_multiboot_load_elf): Likewise.
48729 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48730 an ELF32 or ELF64 file.
48731 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48732
48733 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48734 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48735 NULL before calling FS->LABEL.
48736 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48737 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48738 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48739 before calling FS->LABEL.
48740
141a288b 487412005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48742
48743 * util/i386/pc/grub-install.in (datadir): New variable.
48744 (libdir): Removed.
48745 (pkgdatadir): New variable.
48746 (pkglibdir): Removed.
48747
0d5f8a54 487482005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48749
48750 * DISTLIST: Added util/i386/pc/grub-install.in.
48751
48752 * util/i386/pc/grub-install.in: New file.
48753
48754 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48755 (grub_install_SOURCES): Likewise.
48756
48757 * genmk.rb: Added support for scripts.
48758 (Script): New class.
48759 (scripts): New variable.
48760
48761 * Makefile.in (install-local): Install sbin_SCRIPTS by
48762 INSTALL_SCRIPT.
48763 (uninstall): Remove sbin_SCRIPTS.
48764
48765 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48766 device, try to get a GRUB device by
48767 grub_util_biosdisk_get_grub_dev.
48768 Free DEST_DEV.
48769
48770 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48771 description for --device-map.
48772
5f968e1e 487732005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48774
48775 Change the semantics of variable hooks. They now return strings
48776 instead of error values.
f19dbdb7 48777
5f968e1e 48778 * util/i386/pc/grub-setup.c: Include grub/env.h.
48779 (setup): Use grub_device_set_root instead of grub_env_set.
48780
48781 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48782 grub_env_get instead of grub_device_set_root and
48783 grub_device_get_root, respectively.
48784
48785 * kern/main.c (grub_env_write_root): New function.
48786 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48787 grub_env_set instead of grub_device_set_root.
48788
48789 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48790 many variables.
48791 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48792 rather than calling ENV->WRITE_HOOK afterwards.
48793 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48794 passing a pointer of a pointer.
48795 (grub_register_variable_hook): Change the types of "read_hook" and
48796 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48797 respectively.
48798 Allocate the default empty string on the heap, because this string
48799 may be freed later.
48800
48801 * kern/device.c: Include grub/env.h.
48802 (grub_device_set_root): Removed.
48803 (grub_device_get_root): Likewise.
48804 (grub_device_open): Use grub_env_get instead of
48805 grub_device_get_root.
48806
48807 * include/grub/env.h (grub_env_read_hook_t): New type.
48808 (grub_env_write_hook_t): Likewise.
48809 (grub_env_var): Change the types of "read_hook" and "write_hook"
48810 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48811 (grub_register_variable_hook): Likewise.
48812
48813 * include/grub/device.h (grub_device_set_root): Removed.
48814 (grub_device_set_root): Likewise.
48815
48816 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48817 make sure that DIRNAME terminates with '/', so that
48818 grub_fat_find_dir will fail if PATH is not a directory.
48819
48820 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48821 from DIRNAME.
48822 Use the qualifier auto for print_files and print_files_long.
48823 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48824 as a regular file.
48825 Put a newline only if there is no error.
48826 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48827 used.
48828
896f0afd 488292005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48830
48831 * kern/partition.c (grub_partition_probe): Initialize PART to
48832 NULL. Otherwise, when no partition map is registered, this returns
48833 a garbage.
48834
b28b81b2 488352005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48836
48837 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48838 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48839 valid.
48840
5f3607e0 488412005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48842
48843 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48844 information on each device, if it does not have partitions. Print
48845 "Device" instead of "Disk", because this function is not specific
48846 to disk devices.
48847
48848 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48849 static to ensure that it is put on the memory rather than a
48850 register.
48851
502c87e8 488522005-07-17 Yoshinori Okuji <okuji@enbug.org>
48853
48854 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48855 (grub_cat_init): Likewise.
48856 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48857 (options): Likewise.
48858 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48859 (grub_configfile_init): Likewise.
48860 * font/manager.c (GRUB_MOD_INIT): Likewise.
48861 * commands/help.c (GRUB_MOD_INIT): Likewise.
48862 (grub_help_init): Likewise.
48863 * normal/command.c (grub_command_init): Likewise.
48864 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48865 * disk/loopback.c (grub_loop_init): Likewise.
48866 (GRUB_MOD_INIT): Likewise.
48867 * commands/ls.c (grub_ls_init): Likewise.
48868 (GRUB_MOD_INIT): Likewise.
48869 (options): Likewise.
48870 * commands/boot.c (grub_boot_init): Likewise.
48871 (GRUB_MOD_INIT): Likewise.
48872 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48873 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48874 (GRUB_MOD_INIT): Likewise.
48875 * commands/cmp.c (grub_cmp_init): Likewise.
48876 (GRUB_MOD_INIT): Likewise.
48877
48878 * normal/arg.c: Use <> instead of "" to include header files.
48879 (SHORT_ARG_HELP): New macro.
48880 (SHORT_ARG_USAGE): Likewise.
48881 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48882 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48883 descriptions.
48884 (find_short): Check if C is 'h' or 'u' explicitly.
48885 (grub_arg_show_help): Use space characters instead of tabs. Treat
48886 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48887 are shown with --help and --usage only if they are not used for
48888 the command itself.
48889 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48890 'h' and 'u'.
48891
48892 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48893 const into "longarg". Change the type of "shortarg" to int.
48894
f806d18e 488952005-07-17 Yoshinori Okuji <okuji@enbug.org>
48896
48897 * boot/i386/pc/boot.S (boot_drive_check): New label.
48898
48899 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48900 macro.
48901
48902 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48903 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48904
e293232b 489052005-07-17 Yoshinori Okuji <okuji@enbug.org>
48906
48907 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48908 When turning off Gate A20, skip the check and return immediately,
48909 because this is not fatal usually.
48910
ebedfd00 489112005-07-17 Yoshinori Okuji <okuji@enbug.org>
48912
48913 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48914 be 0x7C00 instead of 0x8000.
48915
48916 * boot/i386/pc/pxeboot.S: Rewritten.
48917
48918 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48919 EXT_C.
48920 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48921 result.
48922
654fc59f 489232005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48924
48925 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48926 robustness. This routine now supports a BIOS call and System
48927 Control Port A to modify the gate A20.
48928
48929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48930 Increased to 0x440.
48931
09f9923f 489322005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48933
48934 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48935 device path and resulting ihandle.
48936 (grub_ofdisk_close): dprintf the ihandle being closed.
48937 (grub_ofdisk_read): dprintf function parameters.
48938 * kern/mm.c (grub_mm_init_region): Likewise.
48939 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48940 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48941 size, and boot arguments.
48942 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48943 before loading into memory.
48944 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48945 before loading into memory.
48946
7ef504d8 489472005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48948
48949 * kern/mm.c: Added much documentation.
48950 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48951 8, set to 5 instead of 8.
48952
e0f050c2 489532005-07-10 Yoshinori Okuji <okuji@enbug.org>
48954
48955 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48956
48957 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48958 (grub_mkdevicemap_SOURCES): New variable.
48959
48960 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48961 lib/device.c of GRUB Legacy.
48962
7224189a 489632005-07-10 Yoshinori Okuji <okuji@enbug.org>
48964
48965 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48966 instead of PATH is NULL.
48967
68c864eb 489682005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48969
48970 * commands/cmp.c (BUFFER_SIZE): New macro.
48971 (grub_cmd_cmp): Close the right file at the right time. Compare
48972 only data just read. Don't report files of different size as
48973 identical. Dynamically allocate buffers. Move variable
48974 declarations at the beginning of function.
48975
e6f3e614 489762005-07-09 Yoshinori Okuji <okuji@enbug.org>
48977
48978 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48979 reverse.
48980
f8f1559a 489812004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48982
48983 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48984 when backspace is pressed at beginning of line.
48985
39c9d41d 489862005-07-03 Yoshinori Okuji <okuji@enbug.org>
48987
48988 * DISTLIST: Added genfslist.sh.
48989
48990 * normal/main.c (fs_module_list): New variable.
48991 (autoload_fs_module): New function.
48992 (read_fs_list): Likewise.
48993 (grub_normal_execute): Call read_fs_list.
48994
48995 * kern/fs.c (grub_fs_autoload_hook): New variable.
48996 (grub_fs_probe): Added support for auto-loading.
48997
48998 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48999 (grub_fs_module_list_t): New type.
49000
49001 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
49002 (grub_fs_autoload_hook): New prototype.
49003
49004 * genfslist.sh: New file.
f19dbdb7 49005
39c9d41d 49006 * genmk.rb: Added a rule to generate a filesystem list.
49007
121c1d83 490082005-06-30 Marco Gerards <metgerards@student.han.nl>
49009
49010 * configure.ac: Fix the test for cross-compiling.
49011
49012 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
49013 define GRUB_UTIL anymore.
49014
49015 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
49016 so this function works on other systems than just big endian.
49017 (load_modules): Likewise.
49018 (add_segments): Likewise.
49019
e75d76e1 490202005-06-23 Hollis Blanchard <hollis@penguinppc.org>
49021
49022 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
49023 contains `l' modifier, get a long from va_arg().
49024
50b5a0a7 490252005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
49026
49027 * kern/mm.c (grub_free): If the next free block which is being
49028 merged is the first free block, set the first block to the block
49029 being freed.
49030 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
49031
89371b20 490322005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49033
49034 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
49035 `grub_ieee1275_chosen'.
49036
168d6e58 490372005-05-08 Hollis Blanchard <hollis@penguinppc.org>
49038
49039 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
49040 (grub_ieee1275_chosen): New variable.
49041 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
49042 `chosen'.
49043 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
49044 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49045 Rename first argument to `phandle' for consistency.
49046 (grub_ieee1275_get_property_length): Likewise.
49047 (grub_ieee1275_next_property): Likewise. Change type of first argument
49048 to grub_ieee1275_phandle_t.
49049 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
49050 Move export next to declaration.
49051 (grub_ieee1275_chosen): New variable.
49052 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
49053 Correct cosmetic typo.
49054 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
49055 `grub_ieee1275_chosen'.
49056 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
49057 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
49058 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
49059 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49060 `grub_ieee1275_chosen'.
49061
ca5baa3f 490622005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49063
49064 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49065 /chosen/bootargs.
49066 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49067 /chosen/bootargs as "variable=value" pairs.
49068
708b345f 490692005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49070
49071 * include/grub/misc.h (grub_dprintf): New macro.
49072 (grub_real_dprintf): New prototype.
49073 (grub_strword): Likewise.
49074 (grub_iswordseparator): Likewise.
49075 * kern/misc.c (grub_real_dprintf): New function.
49076 (grub_strword): Likewise.
49077 (grub_iswordseparator): Likewise.
49078
f4c5e67c 490792005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49080
49081 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49082 (roundup): Remove macro.
49083 (grub_ieee1275_flags): Make static.
49084 (grub_ieee1275_realmode): Remove.
49085 (grub_ieee1275_test_flag): New function.
49086 (grub_ieee1275_set_flag): Likewise.
49087 (find_options): Rename to `grub_ieee1275_find_options'; update
49088 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49089 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49090 (cmain): New prototype.
49091 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49092 `grub_ieee1275_flags' directly.
49093 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49094 machine/biosdisk.h.
49095 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49096 Don't include grub/machine/init.h.
49097 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49098 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49099 Remove prototype.
49100 (grub_ieee1275_realmode): Likewise.
49101 (grub_ieee1275_flag): New enum.
49102 (grub_ieee1275_test_flag): New prototype.
49103 (grub_ieee1275_set_flag): New prototype.
49104 * include/grub/powerpc/ieee1275/init.h: Remove file.
49105 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49106 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49107 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49108 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49109 comment.
49110 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49111 `grub_ieee1275_test_flag'.
49112 (grub_ieee1275_encode_devname): Likewise.
49113
ed16607e 491142005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49115
49116 * include/grub/powerpc/ieee1275/ieee1275.h
49117 (grub_ieee1275_encode_devname): New prototype.
49118 (grub_ieee1275_get_filename): Likewise.
49119 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49120 function.
49121 (grub_set_prefix): Likewise.
49122 (grub_machine_init): Call grub_set_prefix.
49123 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49124 (grub_parse_type): New enum.
49125 (grub_ieee1275_get_devargs): New function.
49126 (grub_ieee1275_get_devname): Likewise.
49127 (grub_ieee1275_parse_args): Likewise.
49128 (grub_ieee1275_get_filename): Likewise.
49129 (grub_ieee1275_encode_devname): Likewise.
49130
be369920 491312005-03-30 Marco Gerards <metgerards@student.han.nl>
49132
49133 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49134 `grub_loader_unset'.
49135
a5ce3a4a 491362005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49137
49138 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49139 instead of grub_ieee1275_interpret.
49140 (grub_halt_init): New function.
49141 (grub_halt_fini): Likewise.
49142 (GRUB_MOD_INIT): Correct message grammar.
49143 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49144 instead of grub_ieee1275_interpret.
49145 (grub_reboot_init): New function.
49146 (grub_reboot_fini): Likewise.
49147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49148 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49149 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49150 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49151 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49152 function.
49153 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49154 Add prototype.
49155 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49156 prototype.
49157 (grub_halt): Likewise.
49158 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49159 (cmain): Remove __attribute__((unused)).
49160 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49161 (grub_heap_len): Likewise.
49162 (grub_machine_fini): New function.
49163 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49164 (grub_halt): Likewise.
49165 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49166 function.
49167 * util/powerpc/ieee1275/misc.c: New file.
49168
0058f771 491692005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49170
49171 * DISTLIST: New file.
49172 * gendistlist.sh: Likewise.
f19dbdb7 49173
0058f771 49174 * Makefile.in (COMMON_DISTFILES): Removed.
49175 (BOOT_DISTFILES): Likewise.
49176 (CONF_DISTFILES): Likewise.
49177 (DISK_DISTFILES): Likewise.
49178 (FS_DISTFILES): Likewise.
49179 (INCLUDE_DISTFILES): Likewise.
49180 (KERN_DISTFILES): Likewise.
49181 (LOADER_DISTFILES): Likewise.
49182 (TERM_DISTFILES): Likewise.
49183 (UTIL_DISTFILES): Likewise.
49184 (DISTFILES): Likewise.
49185 (uninstall): Uninstall files in $(pkgdata_DATA).
49186 (DISTLIST): New target.
49187 (distdir): Use the contents of the file DISTLIST to get a list of
49188 distributed files.
49189
46b3b8a5 491902005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49191
49192 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49193 descriptor. This is ported from GRUB Legacy.
49194
49195 * gencmdlist.sh: Added an extra semicolon to make it work with
49196 old sed versions. Reported by Robert Bihlmeyer
49197 <robbe@orcus.priv.at>.
49198
5822ff87 491992005-03-08 Yoshinori Okuji <okuji@enbug.org>
49200
49201 Automatic loading of commands is supported.
f19dbdb7 49202
5822ff87 49203 * normal/main.c (read_command_list): New function.
49204 (grub_normal_execute): Call read_command_list.
49205
49206 * normal/command.c (grub_register_command): Return zero or CMD.
49207 Allocate CMD->NAME from the heap.
49208 Initialize CMD->MODULE_NAME to zero.
49209 Find the same name as well. If the same command is found and it is
49210 a dummy command, overwrite members. If it is not a dummy command,
49211 return zero.
49212 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49213 (grub_command_find): If a dummy command is found, load a module
49214 and retry to find a command only once.
49215
49216 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49217 make sure that each command is loaded.
49218
49219 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49220 macro.
49221 (struct grub_command): Remove const from the member `name'.
49222 Add a new member `module_name'.
49223 (grub_register_command): Return grub_command_t.
49224
49225 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49226 sure that each command is loaded.
49227
49228 * genmk.rb (PModule::rule): Specify a module name without the
49229 suffix ".mod" to gencmdlist.sh.
49230
7b1f4b57 492312005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49232
49233 * gencmdlist.sh: New file.
f19dbdb7 49234
7b1f4b57 49235 * genmk.rb (PModule::rule): Generate a rule for a command list.
49236 Clean command.lst.
49237 Generate command.lst from $(COMMANDFILES).
49238
49239 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49240 (DATA): Added $(pkgdata_DATA).
49241 (install-local): Install files in $(pkgdata_DATA).
49242
062aaf39 492432005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49244
49245 * term/i386/pc/vga.c (debug_command): Removed.
49246 (GRUB_MOD_INIT): Do not register the command "debug".
49247
49248 From Hollis Blanchard:
49249 * commands/configfile.c: New file.
49250 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49251 commands/configfile.c.
49252 (pkgdata_MODULES): Added configfile.mod.
49253 (configfile_mod_SOURCES): New variable.
49254 (configfile_mod_CFLAGS): Likewise.
49255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49256 commands/configfile.c.
49257 (pkgdata_MODULES): Added configfile.mod.
49258 (configfile_mod_SOURCES): New variable.
49259 (configfile_mod_CFLAGS): Likewise.
49260 * util/grub-emu.c (main): Call grub_configfile_init and
49261 grub_configfile_fini.
49262 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49263 prototype.
49264 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 49265
cee01aa6 492662005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49267
49268 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49269 address.
49270
49271 * commands/help.c (grub_cmd_help): Do not print newlines after
49272 the last command in print_command_help.
49273
93f3a1d8 492742005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49275
49276 * commands/default.h: New file.
49277 * commands/timeout.h: Likewise.
49278 * normal/context.c: Likewise.
f19dbdb7 49279
93f3a1d8 49280 * util/misc.c: Do not include sys/times.h.
49281 Include sys/time.h and grub/machine/time.h.
49282 (grub_get_rtc): Rewritten with gettimeofday.
49283
49284 * util/grub-emu.c (main): Call grub_default_init and
49285 grub_timeout_init before grub_normal_init, and call
49286 grub_timeout_fini and grub_default_fini after grub_main.
49287
49288 * util/console.c (grub_ncurses_checkkey): Return the read
49289 character or -1.
49290
49291 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49292 timeouts.
49293
49294 * normal/main.c (read_config_file): Push MENU. If this fails,
49295 print an error and wait for a user input.
49296 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49297 If a menu is empty or an error occurs, pop MENU.
49298 (grub_normal_execute): Pop and free MENU after grub_menu_run
49299 returns.
49300
49301 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49302
49303 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49304 include time.h.
49305 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49306 without GRUB_UTIL.
49307 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49308 time.h.
49309 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49310 without GRUB_UTIL.
49311
49312 * include/grub/normal.h (struct grub_menu_list): New struct.
49313 (grub_menu_list_t): New type.
49314 (struct grub_context): New struct.
49315 (grub_context_t): New type.
49316 (grub_register_command): Got rid of EXPORT_FUNC.
49317 (grub_unregister_command): Likewise.
49318 (grub_context_get): New prototype.
49319 (grub_context_get_current_menu): Likewise.
49320 (grub_context_push_menu): Likewise.
49321 (grub_context_pop_menu): Likewise.
49322 [GRUB_UTIL] (grub_default_init): Likewise.
49323 [GRUB_UTIL] (grub_default_fini): Likewise.
49324 [GRUB_UTIL] (grub_timeout_init): Likewise.
49325 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49326
49327 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49328 commands/timeout.c and normal/context.c.
49329 (pkgdata_MODULES): Added default.mod and timeout.mod.
49330 (normal_mod_SOURCES): Added normal/context.c.
49331 (default_mod_SOURCES): New variable.
49332 (default_mod_CFLAGS): Likewise.
49333 (timeout_mod_SOURCES): Likewise.
49334 (timeout_mod_CFLAGS): Likewise.
49335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49336 conf/i386-pc.rmk.
49337 (pkgdata_MODULES): Added default.mod and timeout.mod.
49338 (normal_mod_SOURCES): Added normal/context.c.
49339 (default_mod_SOURCES): New variable.
49340 (default_mod_CFLAGS): Likewise.
49341 (timeout_mod_SOURCES): Likewise.
49342 (timeout_mod_CFLAGS): Likewise.
49343
49344 * Makefile.in (all-local): Added $(MKFILES).
49345
4ed2e1dd 493462005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49347
49348 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49349 (grub_emu_SOURCES): Likewise.
49350 (pkgdata_MODULES): Add `sun.mod'.
49351 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49353 `partmap/sun.c'.
49354 (pkgdata_MODULES): Add `sun.mod'.
49355 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49356 * include/grub/partition.h (grub_sun_partition_map_init): New
49357 prototype.
49358 (grub_sun_partition_map_fini): Likewise.
49359 * partmap/sun.c: New file.
49360 * util/grub-emu.c (main): Initialize and de-initialize the sun
49361 partitionmap support.
49362
4d4e372e 493632005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49364
49365 This implements an Emacs-like menu entry editor.
f19dbdb7 49366
4d4e372e 49367 * normal/menu_entry.c: New file.
f19dbdb7 49368
4d4e372e 49369 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49370 characters to ASCII.
49371 (saved_char): New variable.
49372 (grub_ncurses_checkkey): Rewritten completely.
49373 (grub_ncurses_getkey): Likewise.
49374 (grub_ncurses_init): Call raw instead of cbreak.
49375
49376 * normal/menu.c (print_entry): Do not put a space.
49377 (init_page): Renamed to ...
49378 (grub_menu_init_page): ... this. All callers changed.
49379 (edit_menu_entry): Removed.
49380 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49381
49382 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49383
49384 * kern/misc.c (grub_vprintf): Call grub_refresh.
49385
49386 * normal/menu.c (DISP_LEFT): Renamed to ...
49387 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49388 * normal/menu.c (DISP_UP): Renamed to ...
49389 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49390 * normal/menu.c (DISP_RIGHT): Renamed to ...
49391 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49392 * normal/menu.c (DISP_DOWN): Renamed to ...
49393 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49394 * normal/menu.c (DISP_HLINE): Renamed to ...
49395 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49396 * normal/menu.c (DISP_VLINE): Renamed to ...
49397 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49398 * normal/menu.c (DISP_UL): Renamed to ...
49399 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49400 * normal/menu.c (DISP_UR): Renamed to ...
49401 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49402 * normal/menu.c (DISP_LL): Renamed to ...
49403 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49404 * normal/menu.c (DISP_LR): Renamed to ...
49405 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49406 * normal/menu.c (TERM_WIDTH): Renamed to ...
49407 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49408 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49409 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49410 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49411 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49412 * normal/menu.c (TERM_MARGIN): Renamed to ...
49413 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49414 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49415 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49416 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49417 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49418 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49419 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49420 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49421 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49422 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49423 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49424 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49425 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49426 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49427 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49428 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49429 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49430 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49431 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49432 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49433 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49434 All callers changed.
49435
49436 * include/grub/normal.h: New prototype.
49437
49438 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49439 normal/menu_entry.c.
49440 (normal_mod_SOURCES): Likewise.
49441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49442 (normal_mod_SOURCES): Likewise.
49443
e6b92c8a 494442005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49445
49446 * include/grub/normal.h (grub_halt_init): New prototype.
49447 (grub_halt_fini): Likewise.
49448 (grub_reboot_init): Likewise.
49449 (grub_reboot_fini): Likewise.
49450
49451 * util/grub-emu.c: Include signal.h.
49452 (main_env): New global variable.
49453 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49454 catch C-c.
49455 (grub_machine_fini): New function.
49456 (main): Call grub_halt_init and grub_reboot_init before
49457 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49458 Call setjmp with MAIN_ENV to go back afterwards.
49459 Call grub_machine_fini right before return.
49460
49461 * include/grub/util/misc.h: Include setjmp.h.
49462 (main_env): New prototype.
49463
49464 * include/grub/kernel.h (grub_machine_fini): New prototype.
49465 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49466 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49467
49468 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49469 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49470 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49471
e6b92c8a 49472 * util/i386/pc/misc.c: New file.
f19dbdb7 49473
e6b92c8a 49474 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49475 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49476 commands/i386/pc/reboot.c.
49477
c642636f 494782005-02-14 Guillem Jover <guillem@hadrons.org>
49479
49480 * include/grub/dl.h (grub_dl_check_header): New prototype.
49481 (grub_arch_dl_check_header): Change return type to grub_err_t,
49482 remove size parameter and export function. Update all callers.
49483 * kern/dl.c (grub_dl_check_header): New function.
49484 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49485 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49486 are inside the core.
49487 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49488 independent ELF header checks.
49489 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49490 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49491 `grub_dl_check_header' instead of explicit checks. Check for the
49492 ELF type.
49493 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49494 `grub_dl_check_header' instead of explicit checks. Remove arch
49495 specific ELF header checks.
49496
e6b92c8a 49497 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49498 argument SIZE.
49499
5eabe94b 495002005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49501
49502 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49503 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49504
1b14a681 495052005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49506
49507 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49508 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49509 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49510 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49511 * partmap/amiga.c (amiga_partition_map_iterate): Return
49512 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49513 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49514
aca108aa 495152005-02-01 Guillem Jover <guillem@hadrons.org>
49516
49517 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49518 help info.
49519
c9f9c556 495202005-01-31 Marco Gerards <metgerards@student.han.nl>
49521
49522 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49523 Removed prototype.
49524 (grub_rescue_cmd_linux): New prototype.
49525 (grub_rescue_cmd_initrd): Likewise.
49526 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49527 `bi_rec'.
49528 (grub_linux_release_mem): Release the memory for the initrd.
49529 (grub_load_linux): Renamed from this...
49530 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49531 Changed `entry' not to be static. Loop over memory regions to
49532 find another one when the default fails.
49533 (grub_rescue_cmd_initrd): New function.
49534 (grub_linux_init): Remove function.
49535 (grub_linux_fini): Likewise.
49536 (GRUB_MOD_INIT): Register `initrd'.
49537 (GRUB_MOD_FINI): Unregister `initrd'.
49538 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49539 Function removed.
49540 (grub_linux_normal_fini): Likewise.
49541 (GRUB_MOD_INIT): Register `initrd'.
49542 (GRUB_MOD_FINI): Unregister `initrd'.
49543
990cf3aa 495442005-01-31 Marco Gerards <metgerards@student.han.nl>
49545
49546 * commands/help.c: New file.
49547 * normal/arg.c (show_help): Renamed to...
49548 (grub_arg_show_help): ... this.
49549 * commands/i386/pc/halt.c: New file.
49550 * commands/i386/pc/reboot.c: Likewise.
49551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49552 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49553 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49554 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49555 variables.
49556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49557 `commands/help.c'.
49558 (pkgdata_MODULES): Add `help.mod'.
49559 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49560 * grub/i386/pc/init.h (grub_reboot): New prototype.
49561 (grub_halt): Likewise.
49562 * include/grub/normal.h (grub_arg_show_help): New prototype.
49563 (grub_help_init): Likewise.
49564 (grub_help_fini): Likewise.
49565 * util/grub-emu.c (main): Initialize and deinitialize the help
49566 command.
49567
49568 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49569
49570 * normal/command.c (grub_command_init): Fixed the description of
49571 the `set' and `unset' commands.
49572
495732005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49574
49575 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49576 function.
49577 * commands/ieee1275/halt.c: New file.
49578 * commands/ieee1275/reboot.c: Likewise.
49579 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49580 `__attribute__ ((unused))'. Some GCS related fixed.
49581 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49582 (grub_suspend_fini): Likewise.
49583 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49584 and `halt.mod'.
49585 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49586 (halt_mod_CFLAGS): New variables.
49587 * include/grub/powerpc/ieee1275/ieee1275.h
49588 (grub_ieee1275_interpret): New prototype.
49589
1ab09cc7 495902005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49591
49592 * include/grub/misc.h (memmove): New prototype.
49593 (memcpy): Likewise.
49594
8b8cbdb2 495952005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49596
49597 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49598 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49599
e3741a27 496002005-01-22 Marco Gerards <metgerards@student.han.nl>
49601
49602 * kern/misc.c (grub_strndup): Function rewritten.
49603
776bd780 496042005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49605
49606 * normal/menu.c (TERM_WIDTH): Macro redefined.
49607 (TERM_TOP_BORDER_Y): Likewise.
49608 (draw_border): Replaced while-loop by a for-loop. Make the number
49609 of lines consistent with the number of lines displayed in
49610 print_entries. Added a margin below the rectangle.
49611 (print_entry): Make the entry fit in the rectangle.
49612 (print_entries): Display the scroll arrows next to the right
49613 border.
49614
78026bce 496152005-01-21 Marco Gerards <metgerards@student.han.nl>
49616
49617 * fs/minix.c (grub_minix_find_file): Reserve more space for
49618 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49619 `grub_strncpy' to copy `path' into it.
49620
67bbaf0f 496212005-01-21 Marco Gerards <metgerards@student.han.nl>
49622
49623 Add the loopback device, a device via which files can be accessed
49624 as devices.
f19dbdb7 49625
67bbaf0f 49626 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49627 (pkgdata_MODULES): Add loopback.mod.
49628 (loopback_mod_SOURCES): New variable.
49629 (loopback_mod_CFLAGS): Likewise.
49630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49631 `disk/loopback.c'.
49632 (pkgdata_MODULES): Add loopback.mod.
49633 (loopback_mod_SOURCES): New variable.
49634 (loopback_mod_CFLAGS): Likewise.
49635 * disk/loopback.c: new file.
49636 * include/grub/normal.h (grub_loop_init): New prototype.
49637 (grub_loop_fini): New prototype.
49638 * util/grub-emu.c (main): Initialize and de-initialize loopback
49639 support.
49640 * include/grub/disk.h (grub_disk_dev_id): Add
49641 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49642
6f1c18bd 496432005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49644
49645 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49646 function.
49647 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49648 (suspend_mod_SOURCES): New variable.
49649 (suspend_mod_CFLAGS): Likewise.
49650 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49651 New prototype.
49652 * commands/ieee1275/suspend.c: New file.
49653
b38551da 496542005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49655
49656 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49657 ((unused))' to `__attribute__ ((used))'.
b38551da 49658 (GRUB_MOD_FINI): Likewise.
49659 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49660 * genmk.rb (PModule): Assign space to common symbols when linking
49661 modules.
49662
777aff39 496632005-01-20 Marco Gerards <metgerards@student.han.nl>
49664
49665 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49666 `unsigned' arguments to `grub_size_t'.
49667 (grub_malloc): Likewise.
49668 (grub_realloc): Likewise.
49669 (grub_memalign): Likewise.
49670 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49671 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49672 * util/misc.c (grub_malloc): Likewise.
49673 (grub_realloc): Likewise.
49674 * kern/mm.c (get_header_from_pointer): Change the casts to
49675 `unsigned' into a cast to `grub_size_t'.
49676
49677 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49678 point to `currnode' when `currnode' is changed.
49679
49680 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49681 Schottelius <nico-linux@schottelius.org>.
49682
d0ff18e1 496832005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49684
49685 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49686 (note_path): Remove variable.
49687 (GRUB_IEEE1275_NOTE_NAME): New macro.
49688 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49689 (grub_ieee1275_note_hdr): New structure.
49690 (grub_ieee1275_note_desc): Likewise.
49691 (grub_ieee1275_note): Likewise.
49692 (load_note): Remove `dir' argument. All callers updated. Remove
49693 `note_img' and `path'. Do not load a file from `note_path'.
49694 Initialize a struct grub_ieee1275_note and write that to `out'.
49695 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49696
4ca7004c 496972005-01-05 Marco Gerards <metgerards@student.han.nl>
49698
49699 * util/misc.c (grub_util_read_image): Revert last change. It
49700 called `grub_util_read_at', which seeks from the beginning of the
49701 file.
49702
0b412211 497032005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49704
49705 * TODO: Add note about endianness in grub-mkimage.
49706 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49707 section.
49708 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49709 (grub_mkimage_SOURCES): New target.
49710 * include/grub/kernel.h (grub_start_addr): Remove variable.
49711 (grub_end_addr): Likewise.
49712 (grub_total_module_size): Likewise.
49713 (grub_kernel_image_size): Likewise.
49714 (GRUB_MODULE_MAGIC): New constant.
49715 (grub_module_info): New structure.
49716 (grub_arch_modules_addr): New prototype.
49717 (grub_get_end_addr): Remove prototype.
49718 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49719 * include/grub/powerpc/ieee1275/kernel.h: New file.
49720 * include/grub/util/misc.h (grub_util_get_fp_size): New
49721 prototype.
49722 (grub_util_read_at): Likewise.
49723 (grub_util_write_image_at): Likewise.
49724 * kern/main.c (grub_get_end_addr): Remove function.
49725 (grub_load_modules): Call grub_arch_modules_addr instead of using
49726 grub_end_addr. Look for a grub_module_info struct in memory. Use
49727 the grub_module_info fields instead of calling grub_get_end_addr
49728 as loop conditions. Move grub_add_unused_region code here.
49729 (grub_add_unused_region): Remove function.
49730 * kern/i386/pc/init.c: Include grub/cache.h.
49731 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49732 one call to add_mem_region.
49733 (grub_arch_modules_addr): New function.
49734 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49735 (grub_total_module_size): Likewise.
49736 Include grub/machine/kernel.h.
49737 (grub_arch_modules_addr): New function.
49738 * util/grub-emu.c (grub_end_addr): Remove variable.
49739 (grub_total_module_size): Likewise.
49740 (grub_arch_modules_addr): New function.
49741 * util/misc.c: Include unistd.h.
49742 (grub_util_get_fp_size): New function.
49743 (grub_util_read_at): Likewise.
49744 (grub_util_write_image_at): Likewise.
49745 (grub_util_read_image): Call grub_util_read_at.
49746 (grub_util_write_image): Call grub_util_write_image_at.
49747 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49748 additional memory in kernel_img for a struct grub_module_info.
49749 Fill in that grub_module_info.
49750 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49751
458786f8 497522005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49753
49754 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49755 New function.
49756 * include/grub/powerpc/ieee1275/ieee1275.h
49757 (grub_ieee1275_milliseconds): New prototype.
49758 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49759 Change to 1000.
49760 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49761 grub_ieee1275_milliseconds.
49762
ac507d1b 497632005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49764
49765 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49766 variable.
49767 (find_options): New function.
49768 (cmain): Call find_options.
49769 * include/grub/powerpc/ieee1275/ieee1275.h
49770 (grub_ieee1275_realmode): New extern variable.
49771 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49772 grub_map if grub_ieee1275_realmode is false.
49773
6b8fd1c4 497742004-12-29 Marco Gerards <metgerards@student.han.nl>
49775
49776 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49777 lines are inserted and make it work like readline. Reported by
49778 Vincent Pelletier <subdino2004@yahoo.fr>.
49779
8514a1e0 497802004-12-28 Marco Gerards <metgerards@student.han.nl>
49781
49782 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49783
49784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49785 `kern/powerpc/cache.S'.
49786
924b6140 497872004-12-27 Marco Gerards <metgerards@student.han.nl>
49788
49789 * genmk.rb: Handle the `Program' class in the main loop. Written
49790 by Johan Rydberg <jrydberg@gnu.org>.
49791 (Program): New class.
49792 (programs): New variable.
49793 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49794 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49795 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49796 (help_arch): Function removed.
49797 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49798 `powerpc/libgcc.h' and `loader.h'.
49799 (pkgdata_PROGRAMS): New variable.
49800 (sbin_UTILITIES): Variable removed.
49801 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49802 (grubof_SOURCES): Variable re-defined so it only includes the
49803 core functionality.
49804 (grubof_CFLAGS): Remove `-DGRUBOF'.
49805 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49806 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49807 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49808 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49809 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49810 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49811 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49812 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49813 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49814 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49815 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49816 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49817 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49818 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49819 (pc_mod_CFLAGS): New variables.
49820 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49821 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49822 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49823 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49824 Moved from here...
49825 * include/grub/i386/pc/init.h (grub_os_area_addr)
49826 (rub_os_area_size): ... to here.
49827 * include/grub/powerpc/ieee1275/ieee1275.h
49828 (grub_ieee1275_entry_fn): Export symbol.
49829 * include/grub/powerpc/ieee1275/init.h: New file.
49830 * include/grub/powerpc/libgcc.h: Likewise.
49831 * include/grub/cache.h: Likewise.
49832 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49833 <hollis@penguinppc.org>.
49834 * kern/dl.c: Include <grub/cache.h>.
49835 (grub_dl_flush_cache): New function.
49836 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49837 for this module.
49838 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49839 (grub_console_init): Removed prototypes.
49840 (grub_machine_init): Don't initialize the modules anymore.
49841 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49842 static.
49843 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49844 Macro undef removed.
49845 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49846 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49847 relocation `R_PPC_REL32'. Return an error when the relocation is
49848 unknown.
49849 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49850 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49851 * util/misc.c (grub_arch_sync_caches): Likewise.
49852
e4b47e0c 498532004-12-19 Marco Gerards <metgerards@student.han.nl>
49854
49855 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49856 `symlist.c', add `grubof_symlist.c'.
49857 (symlist.c): Variable removed.
49858 (grubof_HEADERS): Variable added.
49859 (grubof_symlist.c): New target.
49860 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49861 `kernel_img_HEADERS'.
49862 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49863 * kern/powerpc/dl.c: New file.
49864 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49865 Function removed.
49866 (grub_arch_dl_relocate_symbols): Likewise.
49867 (grub_register_exported_symbols): Likewise.
49868
4ceb3636 498692004-12-13 Marco Gerards <metgerards@student.han.nl>
49870
49871 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49872 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49873 to fail instead. Reported by Vincent Pelletier
49874 <subdino2004@yahoo.fr>.
49875
49876 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49877 it is not allocated. Reported by Vincent Pelletier
49878 <subdino2004@yahoo.fr>.
49879
49880 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49881 output so the output looks better.
f19dbdb7 49882
3f1578fe 498832004-12-04 Marco Gerards <metgerards@student.han.nl>
49884
49885 Modulize the partition map support and add support for the amiga
49886 partition map.
f19dbdb7 49887
3f1578fe 49888 * commands/ls.c: Include <grub/partition.h> instead of
49889 <grub/machine/partition.h>.
49890 * kern/disk.c: Likewise.
49891 * kern/rescue.c: Likewise.
49892 * loader/i386/pc/chainloader.c: Likewise.
49893 * normal/cmdline.c: Likewise.
49894 * kern/powerpc/ieee1275/init.c: Likewise.
49895 (grub_machine_init): Call `grub_pc_partition_map_init',
49896 `grub_amiga_partition_map_init' and
49897 `grub_apple_partition_map_init'.
49898 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49899 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49900 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49901 `partition.h' and `pc_partition.h'.
49902 (grub_setup_SOURCES): Remove
49903 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49904 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49905 (grub_emu_SOURCES): Likewise.
49906 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49907 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49908 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49910 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49911 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49912 (grubof_SOURCES): Likewise.
49913 * disk/i386/pc/partition.c: File removed.
49914 * disk/powerpc/ieee1275/partition.c: Likewise.
49915 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49916 * include/grub/i386/pc/partition.h: Likewise.
49917 * kern/partition.c: New file.
49918 * partmap/amiga.c: Likewise.
49919 * partmap/apple.c: Likewise.
49920 * partmap/pc.c: Likewise.
49921 * include/grub/partition.h: Likewise..
49922 * include/grub/pc_partition.h: Likewise.
49923 * util/grub-emu.c: Include <grub/partition.h> instead of
49924 <grub/machine/partition.h>.
49925 (main): Call `grub_pc_partition_map_init',
49926 `grub_amiga_partition_map_init' and
49927 `grub_apple_partition_map_init' and deinitialize afterwards.
49928 * util/i386/pc/biosdisk.c: Include `#include
49929 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49930 `<grub/machine/partition.h>'.
49931 * util/i386/pc/grub-setup.c: Likewise.
49932 * util/i386/pc/biosdisk.c: Likewise.
49933 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49934 partition information in case of a PC partition.
49935 * util/i386/pc/grub-setup.c: Include `#include
49936 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49937 `<grub/machine/partition.h>'.
49938 (setup): Only access the PC specific partition information in case
49939 of a PC partition.
49940
0ef4ced9 499412004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49942
0ef4ced9 49943 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49944 (grub_longjmp): Likewise.
49945 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49946 20.
49947 * normal/powerpc/setjmp.S: New file.
49948 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49949 `normal/powerpc/setjmp.S'.
49950 (grubof_CFLAGS): Add `-DGRUBOF'.
49951 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49952 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49953
19950e29 499542004-11-16 Marco Gerards <metgerards@student.han.nl>
49955
49956 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49957 property named `name'. Correctly handle the error returned by
49958 `grub_ieee1275_finddevice' if a device can not be opened.
49959
a2fea427 499602004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49961
49962 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49963 `actual' for negativity.
49964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49965 kern/fshelp.c.
49966
41ea0ea3 499672004-11-01 Marco Gerards <metgerards@student.han.nl>
49968
49969 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49970 (PAGE_OFFSET): New macro.
49971 (CRTC_ADDR_PORT): Likewise.
49972 (CRTC_DATA_PORT): Likewise.
49973 (START_ADDR_HIGH_REGISTER): Likewise.
49974 (START_ADDR_LOW_REGISTER): Likewise.
49975 (GRAPHICS_ADDR_PORT): Likewise.
49976 (GRAPHICS_DATA_PORT): Likewise.
49977 (READ_MAP_REGISTER): Likewise.
49978 (INPUT_STATUS1_REGISTER): Likewise.
49979 (INPUT_STATUS1_VERTR_BIT): Likewise.
49980 (page): New variable.
49981 (wait_vretrace): New function.
49982 (set_read_map): Likewise.
49983 (set_start_address): Likewise.
49984 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49985 the right page.
49986 (check_vga_mem): Take the page into account.
49987 (write_char): Likewise.
49988 (write_cursor): Likewise.
49989 (scroll_up): Likewise. Copy the page to the page that is not
49990 shown and switch between both pages.
49991 (grub_vga_putchar): Fix off by one error.
49992 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49993 account.
49994
ad0bd20b 499952004-11-01 Marco Gerards <metgerards@student.han.nl>
49996
49997 Add support for iso9660 (including rockridge).
f19dbdb7 49998
ad0bd20b 49999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50000 (iso9660_mod_SOURCES): New variable.
50001 (iso9660_mod_CFLAGS): Likewise.
50002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
50003 * include/grub/fs.h (grub_iso9660_init): New prototype.
50004 * util/grub-emu.c (main): Call `grub_iso9660_init'.
50005 * fs/iso9660.c: New file.
50006
50007 * include/grub/misc.h (grub_strncat): New prototype.
50008 * kern/misc.c (grub_strncat): New function.
f19dbdb7 50009
ad0bd20b 50010 * fs/hfs.c (grub_hfs_mount): Translate the error
50011 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
50012 * fs/jfs.c (grub_jfs_mount): Likewise.
50013 * fs/ufs.c (grub_ufs_mount): Likewise.
50014
a5477a59 500152004-10-28 Hollis Blanchard <hollis@penguinppc.org>
50016
50017 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
50018 which initialized BAT registers.
50019 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
50020 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50021 Move from here...
50022 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
50023 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
50024 ... to here.
50025 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
50026 (grub_mapclaim): Likewise.
50027 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
50028 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
50029 hand.
50030
9304c1f8 500312004-10-19 Hollis Blanchard <hollis@penguinppc.org>
50032
50033 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
50034 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
50035 -ffreestanding and -msoft-float.
50036
86f4ae25 500372004-10-15 Hollis Blanchard <hollis@penguinppc.org>
50038
50039 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
50040 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
50041 set in grub_ieee1275_flags.
50042
38912228 500432004-10-14 Hollis Blanchard <hollis@penguinppc.org>
50044
50045 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
50046 prototype.
50047 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
50048 grub_console_init first.
50049 Change the memory range used for grub_ieee1275_claim and
50050 grub_mm_init_region.
50051 Print an error message if the claim fails.
50052 Include <grub/misc.h>.
50053
d1923dc8 500542004-10-13 Hollis Blanchard <hollis@penguinppc.org>
50055
50056 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
50057 Call grub_children_iterate for device nodes of type `scsi',
50058 `ide', or `ata'.
50059 (grub_ofdisk_open): Remove manual device alias resolution.
50060 Fix memory leak when device cannot be opened.
f19dbdb7 50061 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 50062 (grub_children_iterate): New prototype.
50063 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50064 New function.
50065 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50066 Return -1 if args.size was -1.
50067
4512e4f3 500682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50069
50070 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50071 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50072 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50073 Open Firmware's memory for it; claim memory from _start to _end.
50074 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50075 (_end): New extern.
50076 (_start): Zero BSS from __bss_start to _end.
50077 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50078 New extern.
50079 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50080
4d61feb0 500812004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50082
ad0bd20b 50083 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50084 -1 if args.base was -1.
4d61feb0 50085
026fa2f9 500862004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50087
50088 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50089 escape sequence instead of a literal ^L. Also call
50090 grub_ofconsole_gotoxy.
50091
9f2220ef 500922004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50093
50094 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50095 void * arguments to grub_addr_t. All callers updated. Also make
50096 the `result' argument optional.
50097 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50098 All callers updated.
50099
8a572cd7 501002004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50101
50102 * commands/ls.c (grub_ls_list_files): Use the string following the
50103 initial ')', if present, as the filesystem path.
50104 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50105
50106 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50107
18aa81f2 501082004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50109
50110 Make the source code of the menu interface more readable.
f19dbdb7 50111
18aa81f2 50112 * normal/menu.c: Include grub/mm.h.
50113 (TERM_WIDTH): New macro.
50114 (TERM_HEIGHT): Likewise.
50115 (TERM_INFO_HEIGHT): Likewise.
50116 (TERM_MARGIN): Likewise.
50117 (TERM_SCROLL_WIDTH): Likewise.
50118 (TERM_TOP_BORDER_Y): Likewise.
50119 (TERM_LEFT_BORDER_X): Likewise.
50120 (TERM_BORDER_WIDTH): Likewise.
50121 (TERM_MESSAGE_HEIGHT): Likewise.
50122 (TERM_BORDER_HEIGHT): Likewise.
50123 (TERM_NUM_ENTRIES): Likewise.
50124 (TERM_FIRST_ENTRY_Y): Likewise.
50125 (TERM_ENTRY_WIDTH): Likewise.
50126 (TERM_CURSOR_X): Likewise.
50127 (draw_border): Use macros instead of magic numbers.
50128 (print_entry): Likewise.
50129 (print_entries): Likewise.
50130 (run_menu): Likewise. Also, handle the key 'e'.
50131 (run_menu_entry): Ignore empty command lines.
50132 (print_message): Added a new argument EDIT. If EDIT is true,
50133 print a different message.
50134 (init_page): Likewise.
50135 (edit_menu_entry): New function. Not implemented yet.
50136
b47efe30 501372004-09-17 Marco Gerards <metgerards@student.han.nl>
50138
50139 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50140 can be loaded from normal mode.
f19dbdb7 50141
b47efe30 50142 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50143 `multiboot.mod'.
50144 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50145 (multiboot_mod_CFLAGS): New variables.
50146 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 50147 * loader/i386/pc/multiboot_normal.c: Likewise.
50148
b47efe30 50149 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50150 attribute `unused'.
f19dbdb7 50151
b47efe30 50152 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50153 `fdiro' to read the mode information from instead of `diro'.
50154
50155 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50156 looking up a symlink.
50157
50158 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50159 macro.
50160 * normal/command.c (grub_command_execute): Don't parse the
50161 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50162 flags of the command.
50163
50164 * normal/menu.c (grub_menu_run): Fix typo.
50165
da75ac71 501662004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50167
50168 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50169
50170 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50171 `y + 1' instead of `y - 1'.
50172
50173 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 50174
062b24c2 501752004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50176
50177 From Hollis Blanchard <hollis@penguinppc.org>:
50178 * kern/misc.c (memmove): New alias for grub_memmove.
50179 (memcmp): New alias for grub_memcmp.
50180 (memset): New alias for grub_memset.
f19dbdb7 50181 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 50182 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 50183 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 50184 (grub_ieee1275_get_property): Likewise.
f19dbdb7 50185
8ddad845 501862004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50187
50188 Added normal mode command `chainloader' as module chain.mod, which
50189 depends on normal.mod and _chain.mod.
f19dbdb7 50190
8ddad845 50191 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50192 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50193 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50194 Deleted prototype.
50195 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50196 but arguments parsing moved to ...
50197 (grub_chainloader_cmd): ... here. New function.
50198 * include/grub/i386/pc/chainloader.h: New file.
50199 * loader/i386/pc/chainloader_normal.c: Likewise.
50200
2c1f4ce3 502012004-09-11 Marco Gerards <metgerards@student.han.nl>
50202
50203 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50204 (grub_mkimage_LDFLAGS): Likewise.
50205 (grub_emu_SOURCES): Likewise.
50206 (kernel_img_HEADERS): Added fshelp.h.
50207 * fs/ext2.c: Include <grub/fshelp.h>.
50208 (FILETYPE_REG): New macro.
50209 (FILETYPE_INO_REG): Likewise.
50210 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50211 Changed all users.
50212 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50213 all users.
50214 (grub_fshelp_node): New struct.
50215 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50216 to a pointer.
50217 (grub_ext2_get_file_block): Removed function.
50218 (grub_ext2_read_block): New function.
50219 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50220 This function was written.
50221 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50222 (grub_ext2_find_file): Removed function.
50223 (grub_ext2_read_symlink): New function.
50224 (grub_ext2_iterate_dir): Likewise.
50225 (grub_ext2_open): Rewritten.
50226 (grub_ext2_dir): Rewritten.
50227 * include/grub/fshelp.h: New file.
50228 * fs/fshelp.c: Likewise.
50229
3c52136a 502302004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50231
50232 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50233 (print_message): Add a missing newline.
50234 (run_menu): Added timeout support.
50235 (run_menu_entry): New local function.
50236 (grub_menu_run): Added support for booting.
50237
50238 * kern/loader.c (grub_loader_is_loaded): New function.
50239
50240 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50241 (grub_get_rtc): Exported.
50242
50243 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50244 (grub_get_rtc): Exported.
50245
50246 * include/grub/normal.h (struct grub_command_list): Remove
50247 constant from the member `command'.
50248
50249 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50250
50251 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50252
50253 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50254
aa033560 502552004-08-28 Marco Gerards <metgerards@student.han.nl>
50256
50257 Add support for the JFS filesystem.
50258
50259 * fs/jfs.c: New file.
50260 * include/grub/fs.h (grub_jfs_init): New prototype.
50261 (grub_jfs_fini): New prototype.
50262 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50263 (grub_emu_SOURCES): Likewise.
50264 (pkgdata_MODULES): Add jfs.mod.
50265 (jfs_mod_SOURCES): New variable.
50266 (jfs_mod_CFLAGS): Likewise.
50267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50268 (grubof_SOURCES): Likewise.
50269 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50270
50271 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50272 endian to the host endian.
50273 (grub_fat_utf16_to_utf8): Move function from there...
50274 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 50275 the endianness of the source string anymore.
aa033560 50276 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50277
94bc45af 502782004-08-24 Marco Gerards <metgerards@student.han.nl>
50279
50280 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50281 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50282 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50283 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 50284
94bc45af 50285 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50286 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50287 for `node_found' and `it_dir'.
50288 (grub_hfs_dir): Add prototype for `dir_hook'.
50289
50290 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50291 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50292 and `indir32' to silence a gcc warning.
50293
50294 * include/grub/fs.h (grub_hfs_init): New prototype.
50295 (grub_hfs_fini): Likewise.
f19dbdb7 50296
50297
97543f08 502982004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50299
50300 Each disk device has its own id now. This is useful to make use
50301 of multiple disk devices.
f19dbdb7 50302
97543f08 50303 * include/grub/disk.h (grub_disk_dev_id): New enum.
50304 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50305 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50306
50307 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50308 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50309
50310 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50311 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50312
50313 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50314 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50315
50316 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50317 "id" which is used by the cache manager.
50318
50319 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50320 of just "GRUB".
50321
64372eb4 503222004-08-18 Marco Gerards <metgerards@student.han.nl>
50323
50324 * fs/hfs.c: New file.
50325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50326 (grub_emu_SOURCES): Likewise.
50327 (pkgdata_MODULES): Add hfs.mod.
50328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50329 (grubof_SOURCES): Likewise.
50330 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50331
50332 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50333 * kern/misc.c (grub_strncasecmp): Add function.
50334
cc61b58f 503352004-08-14 Marco Gerards <metgerards@student.han.nl>
50336
50337 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50338 with parentheses.
50339
50340 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50341 (grub_ext2_dir): In case the directory entry type is unknown, read
50342 it from the inode.
50343
0ef123f6 503442004-08-02 Peter Bruin <pjbruin@dds.nl>
50345
50346 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50347 grub_load_linux instead of grub_rescue_cmd_linux as second
50348 argument of grub_rescue_register_command.
50349
50350 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50351
a447c5df 503522004-07-27 Marco Gerards <metgerards@student.han.nl>
50353
50354 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50355 function.
50356 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50357 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50358 `loader/powerpc/ieee1275/linux.c',
50359 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50360 * include/grub/powerpc/ieee1275/ieee1275.h
50361 (grub_ieee1275_release): New prototype.
50362 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50363 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50364 normal, boot, linux and linux_normal.
50365 * loader/powerpc/ieee1275/linux.c: New file.
50366 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50367
5a9e3546 503682004-07-12 Marco Gerards <metgerards@student.han.nl>
50369
50370 * normal/arg.c (grub_arg_parse): Correct error handling after
50371 reallocating the argumentlist (check if `argl' is not null instead
50372 of checking if `args' is not null).
50373 * kern/mm.c (grub_realloc): Return the same pointer when using the
50374 same region, instead of returning the header address.
50375
e15199cb 503762004-07-11 Marco Gerards <metgerards@student.han.nl>
50377
50378 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50379 one block instead of two when looking for the initial partition.
50380 (grub_partition_probe): Initialize the local variable `p' with 0.
50381 Use base 10 for the grub_strtoul call.
50382 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50383 need for one local variable.
50384 (grub_strtoul): Don't add the new value to `num', instead of that
50385 just assign it.
50386
020616c2 503872004-07-11 Marco Gerards <metgerards@student.han.nl>
50388
50389 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50390 (pxeboot_img_SOURCES): New variable.
50391 (pxeboot_img_ASFLAGS): Likewise.
50392 (pxeboot_img_LDFLAGS): Likewise.
50393 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50394 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50395 <lode_leroy@hotmail.com>.
50396
6c51eb64 503972004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50398
50399 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50400 there was no input.
50401
cfb12aff 504022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50403
50404 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50405 the history buffer logic.
50406
6eabba74 504072004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50408
50409 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50410 (FILETYPE_INO_SYMLINK): New macros.
50411 (grub_ext2_find_file): Check if the node is a directory using the
50412 inode stat information instead of using the filetype in the
50413 dirent. Exclude the first character of an absolute symlink.
50414 (grub_ext2_dir): Mask out the filetype part of the mode member of
50415 the inode.
50416
66e19ef8 504172004-05-24 Marco Gerards <metgerards@student.han.nl>
50418
50419 Add support for UFS version 1 and 2. Add support for the minix
50420 filesystem version 1 and 2, both the variants with 14 and 30 long
50421 filenames.
f19dbdb7 50422
66e19ef8 50423 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50424 fs/minix.c.
50425 (grub_emu_SOURCES): Likewise.
50426 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50427 (ufs_mod_SOURCES): New variable.
50428 (ufs_mod_CFLAGS): Likewise.
50429 (minix_mod_SOURCES): Likewise.
50430 (minix_mod_CFLAGS): Likewise.
50431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50432 fs/minix.c.
50433 (grubof_SOURCES): Likewise.
50434 * fs/ufs.c: New file.
50435 * fs/minix.c: New file.
50436 * include/grub/fs.h (grub_ufs_init): New prototype.
50437 (grub_ufs_fini): Likewise.
50438 (grub_minix_init): Likewise.
50439 (grub_minix_fini): Likewise.
50440 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50441 minix fs.
50442
cc2e748a 504432004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50444
50445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50446 commands/ls.c, commands/terminal.c, commands/boot.c,
50447 commands/cmp.c and commands/cat.c.
50448 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50449
50450 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50451 "env.h"
50452
4b13b216 504532004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50454
50455 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50456 and grub_, respectively. Because the conversion is trivial and
50457 mechanical, I omit the details here. Please refer to the CVS
50458 if you need more information.
50459
6a142551 504602004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50461
50462 * include/pupa: Renamed to ...
50463 * include/grub: ... this.
50464 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50465 * util/i386/pc/grub-mkimage.c: ... this.
50466 * util/i386/pc/pupa-setup.c: Renamed to ...
50467 * util/i386/pc/grub-setup.c: ... this.
50468 * util/pupa-emu.c: Renamed to ...
50469 * util/grub-emu.c: ... this.
50470
e56cdf21 504712004-03-29 Marco Gerards <metgerards@student.han.nl>
50472
50473 Add support for the newworld apple macintosh (PPC). This has been
50474 tested on the powerbook 2000 only. It only adds support for
50475 generic ieee1275 functions, console and disk support. This should
50476 be easy to port to other architectures with support for Open
50477 Firmware.
f19dbdb7 50478
e56cdf21 50479 * configure.ac: Accept the powerpc as host_cpu. In the case of
50480 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50481 specific tests are only executed while building for the i386.
50482 Inverse test for crosscompile.
50483 * genmk.rb (Utility): Allow assembler files.
50484 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50485 * conf/powerpc-ieee1275.rmk: New file.
50486 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50487 * disk/powerpc/ieee1275/partition.c: Likewise.
50488 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50489 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50490 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50491 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50492 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50493 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50494 * include/pupa/powerpc/ieee1275/loader.h
50495 * include/pupa/powerpc/setjmp.h: Likewise.
50496 * include/pupa/powerpc/types.h: Likewise.
50497 * kern/powerpc/ieee1275/init.c: Likewise.
50498 * kern/powerpc/ieee1275/openfw.c: Likewise.
50499 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50500
50501 These files were written by Johan Rydberg
50502 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50503
e56cdf21 50504 * boot/powerpc/ieee1275/cmain.c: New file.
50505 * boot/powerpc/ieee1275/crt0.S: Likewise.
50506 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50507 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50508
8c8cc205 505092004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50510
50511 * Makefile.in: Update copyright.
50512 * genmodsrc.sh: Likewise.
50513 * gensymlist.sh: Likewise.
50514 * term/i386/pc/vga.c: Indent correctly.
50515
50516 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50517 bugreporting address.
50518 * util/i386/pc/pupa-setup.c (usage): Likewise,
50519 (main): Call pupa_ext2_init and pupa_ext2_fini.
50520
f19dbdb7 50521 * fs/fat.c (log2): Renamed to ...
8c8cc205 50522 (fat_log2): ... this.
50523 All callers changed.
50524 * kern/misc.c (memcpy): Alias to pupa_memmove.
50525 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50526 lvalue cast.
50527 * util/console.c (pupa_ncurses_fini): Return 0.
50528
50529 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50530 Move fail label here.
50531 [__GNU__]: Don't warn when using stat.
50532 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50533 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50534 long int. Use strtol instead of strtoul.
f19dbdb7 50535
db1771cf 505362004-03-14 Marco Gerards <metgerards@student.han.nl>
50537
50538 * commands/boot.c: New file.
50539 * commands/cat.c: Likewise.
50540 * commands/cmp.c: Likewise.
50541 * commands/ls.c: Likewise.
50542 * commands/terminal.c: Likewise.
50543 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50544 (pupa_register_command): Changed interface to match the new
50545 argument parser.
50546 (pupa_command_execute): Changed (almost rewritten) so it uses
50547 pupa_split_command. Added support for setting variables using the
50548 syntax `foo=bar'.
50549 (rescue_command): Changed to work with the new argument parser.
50550 (terminal_command): Moved from here to commands/terminal.c.
50551 (set_command): New function.
50552 (unset_command): New function.
50553 (insmod_command): New function.
50554 (rmmod_command): New function.
50555 (lsmod_command): New function.
50556 (pupa_command_init): Don't initialize the command terminal
50557 anymore. Initialize the commands set, unset, insmod, rmmod and
50558 lsmod.
50559 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50560 (kernel_img_HEADERS): Add arg.h and env.h.
50561 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50562 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50563 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50564 normal/arg.c.
50565 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50566 terminal.mod.
50567 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50568 (boot_mod_SOURCES): New variable.
50569 (terminal_mod_SOURCES): Likewise.
50570 (ls_mod_SOURCES): Likewise.
50571 (cmp_mod_SOURCES): Likewise.
50572 (cat_mod_SOURCES): Likewise.
50573
50574 * normal/arg.c: New file.
50575 * kern/env.c: Likewise.
50576 * include/pupa/arg.h: Likewise.
50577 * include/pupa/env.h: Likewise.
50578 * font/manager.c (font_command): Changed to match argument parsing
50579 interface changes.
50580 (PUPA_MOD_INIT): Likewise.
50581 * hello/hello.c (pupa_cmd_hello): Likewise.
50582 (PUPA_MOD_INIT): Likewise.
50583 * include/pupa/disk.h: Include <pupa/device.h>.
50584 (pupa_print_partinfo): New prototype.
50585 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50586 (pupa_dl_get_prefix): Likewise.
50587 * include/pupa/misc.h: Include <pupa/err.h>.
50588 (pupa_isgraph): New prototype.
50589 (pupa_isdigit): Likewise.
50590 (pupa_split_cmdline): Likewise.
50591 * include/pupa/normal.h: Include <pupa/arg.h>.
50592 (pupa_command): Changed the prototype of the member `func' to
50593 match the argument parsing interface. Added member `options'.
50594 (pupa_register_command): Updated to match function.
50595 (pupa_arg_parse): New prototype.
50596 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50597 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50598 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50599 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50600 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50601 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50602 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50603 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50604 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50605 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50606 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50607 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50608 * kern/disk.c: Include <pupa/file.h>.
50609 (pupa_print_partinfo): New function.
50610 * kern/dl.c: Include <pupa/env.h>.
50611 (pupa_dl_dir): Variable removed.
50612 (pupa_dl_load): Use the environment variable `prefix' instead of
50613 the variable pupa_dl_dir.
50614 (pupa_dl_set_prefix): Function removed.
50615 (pupa_dl_get_prefix): Likewise.
50616 * kern/i386/pc/init.c: Include <pupa/env.h>.
50617 (pupa_machine_init): Use the environment variable `prefix' instead of
50618 using pupa_dl_set_prefix to set the prefix.
50619 * kern/main.c: Include <pupa/env.h>.
50620 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50621 using pupa_dl_get_prefix to get the prefix.
50622 * kern/misc.c: Include <pupa/env.h>.
50623 (pupa_isdigit): New function.
50624 (pupa_isgraph): Likewise.
50625 (pupa_ftoa): Likewise.
50626 (pupa_vsprintf): Added support for printing values of the type
50627 `double'. Make it possible to format variable output when using
50628 formatting like `%1.2%f'.
50629 (pupa_split_cmdline): New function.
50630 * kern/rescue.c: Include <pupa/env.h>.
50631 (next_word): Removed function.
50632 (pupa_rescue_cmd_prefix): Likewise.
50633 (pupa_rescue_cmd_set): New function.
50634 (pupa_rescue_cmd_unset): New function.
50635 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50636 split the command line instead of splitting it here. Added
50637 support for setting variables using the syntax `foo=bar'. Don't
50638 initialize the prefix command anymore. Initialized the set and
50639 unset commands.
50640 * normal/cmdline.c: Include <pupa/env.h>.
50641 (pupa_tab_complete): Added prototypes for print_simple_completion,
50642 print_partition_completion, add_completion, iterate_commands,
50643 iterate_dev, iterate_part and iterate_dir. Moved code to print
50644 partition information from here to kern/disk.c.
fe6b695a 50645 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50646 * normal/main.c: Include <pupa/env.h>.
50647 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50648 instead of using pupa_dl_get_prefix to get the prefix.
50649 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50650 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50651 warning.
50652 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50653 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50654 ((unused))' to silence a gcc warning.
50655 (pupa_vga_setcolor): Likewise.
50656 (debug_command): Changed to match argument parsing
50657 interface changes.
50658 * util/pupa-emu.c: Include <pupa/env.h>.
50659 (options): Added 0's for unused fields to silence a gcc warning.
50660 (argp): Likewise.
50661 (main): Use the environment variable `prefix' instead of using
50662 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50663 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50664 and terminal.
50665
50666 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50667 * util/misc.c: Include <malloc.h>.
50668 (pupa_malloc): Rewritten so errors are correctly reported.
50669 (pupa_realloc): Likewise.
50670 (pupa_memalign): Likewise.
50671 (pupa_mm_init_region): Declare unused variables with
50672 `__attribute__ ((unused))' to silence a gcc warning.
50673 * normal/i386/setjmp.S: Remove tab at the end of the file to
50674 silence a gcc warning.
50675 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50676 variables with `__attribute__ ((unused))' to silence a gcc
50677 warning.
50678 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50679 local variable i unsigned to silence a gcc warning.
50680
50681 * kern/term.c: Include <pupa/misc.h>.
50682 (pupa_more_lines): New variable.
50683 (pupa_more): Likewise.
50684 (pupa_putcode): When the pager is active pause at the end of every
50685 screen.
50686 (pupa_set_more): New function.
50687 * include/pupa/term.h (pupa_set_more): New prototype.
50688
50689
3b1139cb 506902004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50691
50692 Now this project is GRUB 2 rather than PUPA. The location of
50693 the CVS repository was moved to GRUB's.
f19dbdb7 50694
3b1139cb 50695 * configure.ac: Use bug-grub as the reporting address.
50696 Use GRUB instead of PUPA.
50697 Change the version number to 1.90.
50698
8367695c 506992004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50700
50701 * genkernsyms.sh: Updated copyright information.
50702 * genmk.rb: Likewise.
50703 * genmodsrc.sh: Likewise.
50704 * gensymlist.sh: Likewise.
50705 * boot/i386/pc/boot.S: Likewise.
50706 * boot/i386/pc/diskboot.S: Likewise.
50707 * disk/i386/pc/biosdisk.c: Likewise.
50708 * disk/i386/pc/partition.c: Likewise.
50709 * font/manager.c: Likewise.
50710 * fs/ext2.c: Likewise.
50711 * fs/fat.c: Likewise.
50712 * include/pupa/boot.h: Likewise.
50713 * include/pupa/device.h: Likewise.
50714 * include/pupa/disk.h: Likewise.
50715 * include/pupa/dl.h: Likewise.
50716 * include/pupa/elf.h: Likewise.
50717 * include/pupa/err.h: Likewise.
50718 * include/pupa/file.h: Likewise.
50719 * include/pupa/font.h: Likewise.
50720 * include/pupa/fs.h: Likewise.
50721 * include/pupa/kernel.h: Likewise.
50722 * include/pupa/loader.h: Likewise.
50723 * include/pupa/misc.h: Likewise.
50724 * include/pupa/mm.h: Likewise.
50725 * include/pupa/net.h: Likewise.
50726 * include/pupa/normal.h: Likewise.
50727 * include/pupa/rescue.h: Likewise.
50728 * include/pupa/setjmp.h: Likewise.
50729 * include/pupa/symbol.h: Likewise.
50730 * include/pupa/term.h: Likewise.
50731 * include/pupa/types.h: Likewise.
50732 * include/pupa/i386/setjmp.h: Likewise.
50733 * include/pupa/i386/types.h: Likewise.
50734 * include/pupa/i386/pc/biosdisk.h: Likewise.
50735 * include/pupa/i386/pc/boot.h: Likewise.
50736 * include/pupa/i386/pc/console.h: Likewise.
50737 * include/pupa/i386/pc/init.h: Likewise.
50738 * include/pupa/i386/pc/kernel.h: Likewise.
50739 * include/pupa/i386/pc/linux.h: Likewise.
50740 * include/pupa/i386/pc/loader.h: Likewise.
50741 * include/pupa/i386/pc/memory.h: Likewise.
50742 * include/pupa/i386/pc/multiboot.h: Likewise.
50743 * include/pupa/i386/pc/partition.h: Likewise.
50744 * include/pupa/i386/pc/time.h: Likewise.
50745 * include/pupa/i386/pc/vga.h: Likewise.
50746 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50747 * include/pupa/util/getroot.h: Likewise.
50748 * include/pupa/util/misc.h: Likewise.
50749 * include/pupa/util/resolve.h: Likewise.
50750 * kern/device.c: Likewise.
50751 * kern/disk.c: Likewise.
50752 * kern/dl.c: Likewise.
50753 * kern/err.c: Likewise.
50754 * kern/file.c: Likewise.
50755 * kern/fs.c: Likewise.
50756 * kern/loader.c: Likewise.
50757 * kern/main.c: Likewise.
50758 * kern/misc.c: Likewise.
50759 * kern/mm.c: Likewise.
50760 * kern/rescue.c: Likewise.
50761 * kern/term.c: Likewise.
50762 * kern/i386/dl.c: Likewise.
50763 * kern/i386/pc/init.c: Likewise.
50764 * kern/i386/pc/lzo1x.S: Likewise.
50765 * kern/i386/pc/startup.S: Likewise.
50766 * loader/i386/pc/chainloader.c: Likewise.
50767 * loader/i386/pc/linux.c: Likewise.
50768 * loader/i386/pc/multiboot.c: Likewise.
50769 * normal/cmdline.c: Likewise.
50770 * normal/command.c: Likewise.
50771 * normal/main.c: Likewise.
50772 * normal/menu.c: Likewise.
50773 * normal/i386/setjmp.S: Likewise.
50774 * term/i386/pc/console.c: Likewise.
50775 * term/i386/pc/vga.c: Likewise.
50776 * util/console.c: Likewise.
50777 * util/genmoddep.c: Likewise.
50778 * util/misc.c: Likewise.
50779 * util/pupa-emu.c: Likewise.
50780 * util/resolve.c: Likewise.
50781 * util/unifont2pff.rb: Likewise.
50782 * util/i386/pc/biosdisk.c: Likewise.
50783 * util/i386/pc/getroot.c: Likewise.
50784 * util/i386/pc/pupa-mkimage.c: Likewise.
50785 * util/i386/pc/pupa-setup.c: Likewise.
50786
e6eced71 507872004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50788
50789 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50790 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50791 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50792 reading and reset it after reading.
50793 (pupa_ext2_close): Return PUPA_ERR_NONE.
50794
50795 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50796 Correct value.
50797 (struct linux_kernel_header): Add kernel_version and
50798 initrd_addr_max.
50799 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50800 pupa_file_read succeeds.
50801 (pupa_rescue_cmd_initrd): Implement.
50802
5aded270 508032003-12-03 Marco Gerards <metgerards@student.han.nl>
50804
50805 * fs/ext2.c (pupa_ext2_label): New function.
50806 (pupa_ext2_fs): Added label.
50807 * fs/fat.c (pupa_fat_label): New function.
50808 (pupa_fat_fs): Added label.
50809 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50810
50811 * kern/misc.c (pupa_strndup): New function.
50812 * include/pupa/misc.h (pupa_strndup): New prototype.
50813
50814 * include/pupa/normal.h: Include <pupa/err.h>.
50815 (pupa_set_history): New prototype.
50816 (pupa_iterate_commands): New prototype.
50817 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50818 <pupa/disk.h>, <pupa/file.h>.
50819 (hist_size): New variable.
50820 (hist_lines): Likewise.
50821 (hist_end): Likewise.
50822 (hist_used): Likewise.
50823 (pupa_set_history): New function.
50824 (pupa_history_get): Likewise.
50825 (pupa_history_add): Likewise.
50826 (pupa_history_replace): Likewise.
50827 (pupa_tab_complete): Likewise.
50828 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50829 completion shows partitionnames while completing partitions, this
50830 feature was suggested by Jeff Bailey.
50831 * normal/command.c (pupa_iterate_commands): New function.
50832 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50833 (pupa_normal_init): Initialize history buffer.
50834 (PUPA_MOD_INIT): Likewise.
50835 (pupa_normal_fini): Free the history buffer.
50836 (PUPA_MOD_FINI): Likewise.
50837
50838 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50839 key.
50840
50841 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50842 * configure.ac [i386]: Check for regparam bug.
50843 (NESTED_FUNC_ATTR) [! i386]: Defined.
50844
1f7315a3 508452003-11-17 Marco Gerards <metgerards@student.han.nl>
50846
50847 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50848 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50849 (pupa_emu_SOURCES): New variable.
50850 (pupa_emu_LDFLAGS): Likewise.
50851 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50852 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50853 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50854 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50855 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50856 (pupa_jmp_buf): New typedef.
50857 (pupa_setjmp) [PUPA_UTIL]: New macro.
50858 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50859 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50860 (pupa_refresh): New prototype.
50861 * include/pupa/util/getroot.h: New file.
50862 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50863 it.
50864 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50865 (pupa_rescue_cmd_cat): Likewise.
50866 (pupa_rescue_cmd_ls): Likewise.
50867 (pupa_rescue_cmd_testload): Likewise.
50868 (pupa_rescue_cmd_lsmod): Likewise.
50869 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50870 * normal/menu.c (run_menu): Likewise.
50871 * kern/term.c (pupa_cls): Likewise.
50872 (pupa_refresh): New function.
50873 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50874 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50875 * util/console.c: New file.
f19dbdb7 50876
1f7315a3 50877 * util/i386/pc/getroot.c: New file.
50878 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50879 (pupa_putchar): New function.
50880 (pupa_refresh): Likewise.
50881 (xgetcwd): Function moved to ...
50882 (strip_extra_slashes): Likewise.
50883 (get_prefix): Likewise.
f19dbdb7 50884 * util/i386/pc/getroot.c: ... here.
1f7315a3 50885 (find_root_device): Function moved and renamed to...
50886 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50887 Changed all callers.
50888 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50889 and renamed to...
50890 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50891 Changed all callers.
50892 * util/misc.c (pupa_memalign): New function.
50893 (pupa_mm_init_region): Likewise.
50894 (pupa_register_exported_symbols): Likewise.
50895 (pupa_putchar): Function removed.
50896 * util/pupa-emu.c: New file.
50897
9a5c1ade 508982003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50899
50900 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50901 (_multiboot_mod_SOURCES): New variable.
50902 (_multiboot_mod_CFLAGS): Likewise.
50903 * loader/i386/pc/multiboot.c: New file.
50904 * include/pupa/i386/pc/multiboot.h: Likewise.
50905 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50906 (pupa_multiboot_real_boot): New function.
50907 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50908 (pupa_multiboot_real_boot): New prototype.
50909 (pupa_rescue_cmd_multiboot): Likewise
50910 (pupa_rescue_cmd_module): Likewise.
50911
50912 * kern/loader.c (pupa_loader_set): Continue when
50913 pupa_loader_unload_func() fails.
50914 (pupa_loader_unset): New function.
50915 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50916
50917 * kern/misc.c (pupa_stpcpy): New function.
50918 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50919
8e72a9c0 509202003-11-12 Marco Gerards <metgerards@student.han.nl>
50921
50922 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50923 for available extensions.
50924
50925 * include/pupa/i386/pc/time.h: New file.
50926 * kern/disk.c: Include <pupa/machine/time.h>.
50927 (PUPA_CACHE_TIMEOUT): New macro.
50928 (pupa_last_time): New variable.
50929 (pupa_disk_open): Flush the cache when there was a timeout.
50930 (pupa_disk_close): Reset the timer.
50931 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50932 pupa_currticks.
50933 * util/misc.c: Include <sys/times.h>
50934 (pupa_get_rtc): New function.
50935
c4adbd32 509362003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50937
50938 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50939 as blocks.
50940 (pupa_ext2_get_file_block): Use blocks member.
50941
50942 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50943 first block. Return -1 instead of pupa_errno on error.
50944
bfd30f06 509452003-10-27 Marco Gerards <metgerards@student.han.nl>
50946
50947 * README: In the pupa-mkimage example use _chain instead of chain
50948 and ext2 instead of fat.
50949 * TODO: Replace ext2fs with jfs as an example. Add an item for
50950 adding journal playback for ext2fs.
50951 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50952 (pkgdata_MODULES): Added ext2.mod.
50953 (ext2_mod_SOURCES): New variable.
50954 (ext2_mod_CFLAGS): Likewise.
50955 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50956 * include/pupa/misc.h (pupa_strncpy): New prototype.
50957 (pupa_strcat): Likewise.
50958 (pupa_strncmp): Likewise.
50959 * kern/misc.c (pupa_strcat): Enable function.
50960 (pupa_strncpy): New function.
50961 (pupa_strncmp): Likewise.
50962 * fs/ext2.c: New file.
f19dbdb7 50963
bfd30f06 50964 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50965 when the read failed before retrying.
50966 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50967 (_FILE_OFFSET_BITS): Likewise.
50968 * configure.ac: Added AC_SYS_LARGEFILE.
50969
98d15063 509702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50971
50972 * genmk.rb (PModule#rule): Make sure to get only symbol names
50973 from the output of nm.
59cad637 50974 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50975
18d9c7cd 509762003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50977
50978 I forgot to check in these changes for a long time. This adds
50979 incomplete support for VGA console, and this is still very
50980 buggy. Also, a lot of consideration is required for I18N,
50981 UNICODE, and VGA font issues. Therefore, assume that this is
50982 such that "better than nothing".
f19dbdb7 50983
18d9c7cd 50984 * font/manager.c: New file.
50985 * include/pupa/font.h: Likewise.
50986 * include/pupa/i386/pc/vga.h: Likewise.
50987 * term/i386/pc/vga.c: Likewise.
50988 * util/unifont2pff.rb: Likewise.
50989
50990 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50991 (pkgdata_MODULES): Added vga.mod and font.mod.
50992 (vga_mod_SOURCES): New variables.
50993 (vga_mod_CFLAGS): Likewise.
50994 (font_mod_SOURCES): Likewise.
50995 (font_mod_CFLAGS): Likewise.
50996
50997 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50998
50999 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 51000 (struct pupa_term): Added init and fini.
18d9c7cd 51001 Changed the argument of putchar to pupa_uint32_t.
51002
51003 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
51004 (pupa_console_real_putchar): New prototype.
51005 (pupa_console_putchar): Removed.
51006 (pupa_console_checkkey): Exported.
51007 (pupa_console_getkey): Likewise.
51008
51009 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
51010 characters.
51011
51012 * kern/term.c (pupa_term_set_current): Rewritten.
51013 (pupa_putchar): Likewise.
51014 (pupa_putcode): New function.
51015
51016 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
51017 (pupa_console_real_putchar): ... this.
51018 (pupa_vga_set_mode): New function.
51019 (pupa_vga_get_font): Likewise.
51020
51021 * normal/command.c: Include pupa/term.h.
51022 (terminal_command): New function.
51023 (pupa_command_init): Register the command "terminal".
51024
51025 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
51026 (DISP_UP): Likewise.
51027 (DISP_RIGHT): Likewise.
51028 (DISP_DOWN): Likewise.
51029 (DISP_HLINE): Likewise.
51030 (DISP_VLINE): Likewise.
51031 (DISP_UL): Likewise.
51032 (DISP_UR): Likewise.
51033 (DISP_LL): Likewise.
51034 (DISP_LR): Likewise.
51035
51036 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 51037
977329f5 510382003-02-08 NIIBE Yutaka <gniibe@m17n.org>
51039
51040 * util/resolve.c (pupa_util_resolve_dependencies): BUG
51041 FIX. Reverse the path_list.
51042
51043 * include/pupa/normal.h: Export pupa_register_command and
51044 pupa_unregister_command.
51045
51046 * hello/hello.c (pupa_cmd_hello): New module.
51047 * conf/i386-pc.rmk: Added hello.mod.
51048
1f5ab428 510492003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
51050
51051 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 51052
1f5ab428 51053 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
51054 (compress_kernel): New variable.
51055 (generate_image): Heavily modified to support compressing a
51056 large part of the core image.
51057
51058 * util/misc.c (pupa_util_read_image): Fix a file descriptor
51059 leak.
51060 (pupa_util_load_image): New function.
51061
51062 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51063 (pupa_compressed_size): New variable.
51064 (codestart): Enable Gate A20 here.
51065 Decompress the compressed part of the core image.
51066 Rearrange the code to put functions and variables which are
51067 required for initialization in the non-compressed part.
51068 Include lzo1x.S.
51069
51070 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51071 here.
51072
51073 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51074
f19dbdb7 51075 * include/pupa/i386/pc/kernel.h
1f5ab428 51076 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51077 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51078 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51079 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51080 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51081
51082 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51083
51084 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51085 (Utility#rule): Likewise.
51086
51087 * configure.ac: Check if LZO is available.
51088
ce5bf700 510892003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51090
51091 * include/pupa/normal.h: New file.
51092 * include/pupa/setjmp.h: Likewise.
51093 * include/pupa/i386/setjmp.h: Likewise.
51094 * normal/cmdline.c: Likewise.
51095 * normal/command.c: Likewise.
51096 * normal/main.c: Likewise.
51097 * normal/menu.c: Likewise.
51098 * normal/i386/setjmp.S: Likewise.
f19dbdb7 51099
ce5bf700 51100 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51101 (pupa_rescue_cmd_initrd): Likewise.
51102
51103 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51104 Likewise.
51105
51106 * kern/i386/pc/startup.S (translation_table): New variable.
51107 (translate_keycode): New function.
51108 (pupa_console_getkey): Call translate_keycode.
51109
51110 * kern/rescue.c (attempt_normal_mode): New function.
51111 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51112 it failed, print a message.
51113
51114 * kern/mm.c (pupa_real_malloc): Print more information when a
51115 free magic is broken.
51116 (pupa_free): If the first free header is not free actually, set
51117 it to P.
51118
51119 * kern/main.c (pupa_load_normal_mode): Just load the module
51120 "normal".
51121 (pupa_main): Don't print the message
51122 "Entering into rescue mode..." here.
51123
51124 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51125 Declared.
51126 (pupa_rescue_cmd_initrd): Likewise.
51127 (pupa_rescue_cmd_initrd): Likewise.
51128
51129 * include/pupa/symbol.h (FUNCTION): Specify the type.
51130 (VARIABLE): Likewise.
51131
51132 * include/pupa/err.h (pupa_err_t): Added
51133 PUPA_ERR_UNKNOWN_COMMAND.
51134
51135 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51136 (pupa_dl_get_prefix): Likewise.
51137
51138 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51139 Added _chain.mod and _linux.mod instead of chain.mod and
51140 linux.mod.
51141 (chain_mod_SOURCES): Renamed to ...
51142 (_chain_mod_SOURCES): ... this.
51143 (chain_mod_CFLAGS): Renamed to ...
51144 (_chain_mod_CFLAGS): ... this.
51145 (linux_mod_SOURCES): Renamed to ...
51146 (_linux_mod_SOURCES): ... this.
51147 (linux_mod_CFLAGS): Renamed to ...
51148 (_linux_mod_CFLAGS): ... this.
51149 (normal_mod_SOURCES): New variable.
51150 (normal_mod_CFLAGS): Likewise.
51151 (normal_mod_ASFLAGS): Likewise.
51152
511532003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51154
51155 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51156 possible.
51157
fe6b695a 51158 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 51159 recursively.
51160 (pupa_dl_unref): Unrefer depending modules recursively.
51161 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51162 a module is unloaded before one depending on that module is
51163 unloaded.
51164 (pupa_dl_unload): Unload depending modules explicitly,
51165 if possible.
51166
c04da074 511672003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51168
51169 * include/pupa/i386/pc/linux.h: New file.
51170 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 51171
c04da074 51172 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51173 Removed.
51174 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51175 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51176 of PUPA_CHAINLOADER_BOOT_SECTOR.
51177
51178 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51179 (pupa_linux_prot_size): New variable.
51180 (pupa_linux_tmp_addr): Likewise.
51181 (pupa_linux_real_addr): Likewise.
51182 (pupa_linux_boot_zimage): New function.
51183 (pupa_linux_boot_bzimage): Likewise.
51184
51185 * kern/i386/pc/init.c (struct mem_region): New structure.
51186 (MAX_REGIONS): New macro.
51187 (mem_regions): New variable.
51188 (num_regions): Likewise.
51189 (pupa_os_area_addr): Likewise.
51190 (pupa_os_area_size): Likewise.
51191 (pupa_lower_mem): Likewise.
51192 (pupa_upper_mem): Likewise.
51193 (add_mem_region): New function.
51194 (compact_mem_regions): Likewise.
51195 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51196 the size of the conventional memory and that of so-called upper
51197 memory (before the first memory hole).
51198 Instead of adding each found region to free memory, use
51199 add_mem_region and add them after removing overlaps.
51200 Also, add only 1/4 of the upper memory to free memory. The rest
51201 is used for loading OS images. Maybe this is ad hoc, but this
51202 makes it much easier to relocate OS images when booting.
51203
51204 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51205 (pupa_enter_rescue_mode): Don't register initrd and module.
51206
51207 * kern/mm.c: Include pupa/dl.h.
51208
51209 * kern/main.c: Include pupa/file.h and pupa/device.h.
51210
51211 * kern/loader.c (pupa_loader_load_module_func): Removed.
51212 (pupa_loader_load_module): Likewise.
51213
51214 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51215 ``.o''.
51216
51217 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51218 (pupa_linux_tmp_addr): Likewise.
51219 (pupa_linux_real_addr): Likewise.
51220 (pupa_linux_boot_zimage): Likewise.
51221 (pupa_linux_boot_bzimage): Likewise.
51222
51223 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51224 (pupa_upper_mem): Likewise.
51225 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51226 module is too dangerous.
51227
51228 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51229 (pupa_os_area_size): Likewise.
51230 (pupa_loader_set): Remove the first argument. Loader doesn't
51231 manage modules or initrd any longer.
51232 (pupa_loader_load_module): Removed.
51233
51234 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51235 (linux_mod_SOURCES): New variable.
51236 (linux_mod_CFLAGS): Likewise.
51237
a13f9237 512382003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51239
51240 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51241 the length of a blocklist correctly.
51242
51243 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51244 Use ioctl only if the OS file is a block device.
51245 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51246 not very useful for normal files.
51247
51248 * kern/main.c (pupa_set_root_dev): New function.
51249 (pupa_load_normal_mode): Likewise.
51250 (pupa_main): Call those above.
51251
51252 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51253 pupa_uint16_t.
51254
51255 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51256
a5ffe966 512572003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51258
51259 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51260 (setup): Configure the installed partition information and the
51261 dl prefix.
51262
51263 * loader/i386/pc/chainloader.c (my_mod): New variable.
51264 (pupa_chainloader_unload): New function.
51265 (pupa_rescue_cmd_chainloader): Refer itself.
51266 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51267
51268 * kern/i386/pc/startup.S (install_partition): Removed.
51269 (version_string): Likewise.
51270 (config_file): Likewise.
51271 (pupa_install_dos_part): New variable.
51272 (pupa_install_bsd_part): Likewise.
51273 (pupa_prefix): Likewise.
51274 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51275
51276 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51277 and pupa/misc.h.
51278 (make_install_device): New function.
51279 (pupa_machine_init): Set the dl prefix.
51280
51281 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51282 (buf): Renamed to ...
51283 (linebuf): ... this.
51284 (pupa_rescue_cmd_prefix): New function.
51285 (pupa_rescue_cmd_insmod): Likewise.
51286 (pupa_rescue_cmd_rmmod): Likewise.
51287 (pupa_rescue_cmd_lsmod): Likewise.
51288 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51289 rmmod and lsmod.
51290
51291 * kern/mm.c (pupa_memalign): If failed even after invalidating
51292 disk caches, unload unneeded modules and retry.
51293
51294 * kern/misc.c (pupa_memmove): New function.
51295 (pupa_memcpy): Removed.
51296 (pupa_strcpy): New function.
51297 (pupa_itoa): Made static.
51298
51299 * kern/dl.c (pupa_dl_iterate): New function.
51300 (pupa_dl_ref): Likewise.
51301 (pupa_dl_unref): Likewise.
51302 (pupa_dl_unload): Return if succeeded or not.
51303 (pupa_dl_unload_unneeded): New function.
51304 (pupa_dl_unload_all): Likewise.
51305 (pupa_dl_init): Renamed to ...
51306 (pupa_dl_set_prefix): ... this.
51307 (pupa_dl_get_prefix): New function.
51308
51309 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51310 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51311 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51312 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51313 (pupa_install_dos_part): Declared.
51314 (pupa_install_bsd_part): Likewise.
51315 (pupa_prefix): Likewise.
51316 (pupa_boot_drive): Likewise.
51317
51318 * include/pupa/types.h: Fix a typo.
51319
51320 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51321 pupa_memmove.
51322 (pupa_memmove): Declared.
51323 (pupa_strcpy): Likewise.
51324
51325 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51326 pupa_mod_init takes one argument, its own module.
51327 (pupa_dl_unload_unneeded): Declared.
51328 (pupa_dl_unload_all): Likewise.
51329 (pupa_dl_ref): Likewise.
51330 (pupa_dl_unref): Likewise.
51331 (pupa_dl_iterate): Likewise.
51332 (pupa_dl_init): Renamed to ...
51333 (pupa_dl_set_prefix): ... this.
51334 (pupa_dl_get_prefix): Declared.
51335
51336 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 51337 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 51338 unloaded.
51339 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51340 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51341
51342 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51343 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51344
012d7999 513452003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51346
51347 * util/i386/pc/pupa-setup.c (setup): Define the internal
51348 function find_first_partition_start at the top level, because GCC
51349 3.0.x cannot compile internal functions in deeper scopes
51350 correctly.
51351 (find_root_device): Use lstat instead of stat.
51352 Don't follow symbolic links.
51353 Fix the path-constructing code.
51354
51355 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51356 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51357 by a BLKGETSIZE ioctl first, because block devices don't fill
51358 the member st_mode of the structure stat on Linux.
51359 [__linux__] (linux_find_partition): Use a temporary buffer
51360 REAL_DEV for the working space. Copy it to DEV before returning.
51361 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51362 buffer cache consistent.
51363 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51364 strncmp. The previous value was merely wrong.
51365 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51366
51367 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51368 FAT size is 12. The previous value was merely wrong.
51369
51370 * kern/main.c (pupa_main): Don't split the starting message from
51371 newlines.
51372
51373 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51374 LF, because BIOS goes crazy about character attributes in this
51375 case.
51376
1cc73a62 513772003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51378
51379 * include/i386/pc/util/biosdisk.h: New file.
51380 * util/i386/pc/biosdisk.c: Likewise.
51381 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 51382
1cc73a62 51383 * Makefile.in (INCLUDE_DISTFILES): Added
51384 include/pupa/i386/pc/util/biosdisk.h.
51385 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51386 directory util/i386/pc.
51387 (install-local): Added a rule for sbin_UTILITIES.
51388 (uninstall): Likewise.
51389
51390 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51391
51392 * util/misc.c (xrealloc): New function.
51393 (pupa_malloc): Likewise.
51394 (pupa_free): Likewise.
51395 (pupa_realloc): Likewise.
51396 (pupa_stop): Likewise.
51397 (pupa_putchar): Likewise.
51398
51399 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51400
51401 * include/pupa/util/misc.h (xrealloc): Declared.
51402
51403 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51404 macro.
51405 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51406 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51407
51408 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51409 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51410
51411 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51412 way should be implemented.
51413 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51414
51415 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51416 the size of NAME for safety.
51417 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51418 0x88.
51419
51420 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51421 (pupa_setup_SOURCES): Likewise.
51422
51423 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51424
08b70fe8 514252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51426
51427 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51428 bunch of pushl's from pusha, because this destroys the return
51429 value.
51430
62ddcc8f 514312002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51432
51433 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51434 This means that any missing prototypes could be fatal. Also, you
51435 must take care when writing assembly code. See the comments at
51436 the beginning of startup.S, for more details.
f19dbdb7 51437
62ddcc8f 51438 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51439 compilation mechanism.
51440 (pupa_chainloader_real_boot): Likewise.
51441 (pupa_biosdisk_rw_int13_extensions): Likewise.
51442 (pupa_biosdisk_rw_standard): Likewise.
51443 (pupa_biosdisk_check_int13_extensions): Likewise.
51444 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51445 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51446 (pupa_get_memsize): Likewise.
51447 (pupa_get_mmap_entry): Likewise.
51448 (pupa_console_putchar): Likewise.
51449 (pupa_console_setcursor): Likewise.
51450 (pupa_getrtsecs): Use pushl instead of push.
51451
51452 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51453 memory instead of the stack for a mmap entry, because some
51454 BIOSes may ignore the maximum size and overflow.
51455
51456 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51457
51458 * genmk.rb (PModule#rule): Compile automatically generated
51459 sources with module-specific CFLAGS as well as other sources.
51460
9962ed99 514612002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51462
51463 * configure.ac: Check ld.
51464 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51465 respectively, before checking endianness and sizes.
51466
51467 * Makefile.in (LD): New variable.
f19dbdb7 51468
abdfc3c5 514692002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51470
51471 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51472
6a161fa9 514732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51474
51475 * Changelog: New file.
51476