]> git.proxmox.com Git - grub2.git/blame - ChangeLog
ARC disk write support.
[grub2.git] / ChangeLog
CommitLineData
fc36d603
VS
12012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 ARC disk write support.
4
5 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6 (reopen): New argument writable. All users updated.
7 Handle required access mode.
8 (grub_arcdisk_write): Implement.
9 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10 (grub_arc_firmware_vector): Make buffer to write a const buffer.
11
e06c2e7a
VS
122012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
15 (read_sblock): Don't attempt to read superblocks outside the disk size.
16
ff447958
VS
172012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
20 first superblock to find the second one when possible.
21
9e88df39
VS
222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * util/grub-install.in: Fix an ARC bug.
25 Print a warning if no platform-specific setup is available.
26
bb26e4ff
VS
272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Use static allocation rather than scratch pointer in reed_solomon.
30 It decreases its size significantly and avoids a variable in .text.
31
32 * grub-core/lib/reed_solomon.c (scratch): Removed.
33 (chosenstat): New const or static array.
34 (sigma): Likewise.
35 (errpot): Likewise.
36 (errpos): Likewise.
37 (sy): Likewise.
38 (mstat): Likewise.
39 (errvals): Likewise.
40 (eqstat): Likewise.
41 (pol_evaluate): Replace x with log_x argument. All users updated.
42 (syndroms): Removed.
43 (gauss_solve): Use statically allocated arrays.
44 (rs_recover): Likewise.
45 Calculate syndroms directly.
46 (decode_block): Use statically allocated arrays.
47 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
48 (main) [TEST]: Allow -DTEST -DSTANDALONE.
49
2e13ede5
VS
502012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Eliminate fixed limit on reed solomon decoder length.
53
54 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
55 rather than hardcoding the address.
56 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
57 no_reed_solomon_length.
58 Move gate_a20 to no-reed-solomon part.
59 Don't force a particular size of no reed-solomon part.
60 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
61 Removed.
62 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
63 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
64
f8a9ab12
VS
652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/commands/wildcard.c (match_files): Handle filenames
68 without explicit device.
69 (wildcard_expand): Don't add explicit device if not already present.
70 * tests/grub_script_echo1.in: Add a new expansion test.
71
87edb894
VS
722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Replace single-linked with double-linked lists. It results in more
75 compact and more efficient code.
76
77 * grub-core/kern/list.c (grub_list_push): Moved from here ...
78 * include/grub/list.h (grub_list_push): ... to here. Set prev.
79 (grub_list_remove): Moved from here ...
80 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
81 (grub_prio_list_insert): Set prev.
82 * include/grub/list.h (grub_list): Add prev. All users updated.
83
48b391e9
VS
842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Handle newer autotools. Add some missing quotes while on it.
87
88 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
89 (pkglib_DATA): Move grub-mkconfig_lib from here ...
90 (pkgdata_DATA): ... here.
91 * Makefile.util.def (update-grub_lib): Removed.
92 * conf/Makefile.common (pkglib_DATA): Removed.
93 (pkglib_SCRIPTS): Likewise.
94 (pkgdata_DATA): New variable.
95 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
96 needed.
97 Add missing quotes.
98 Remove unused variable while on it.
99 * tests/util/grub-shell.in: Likewise.
100 * util/grub-install.in: Likewise.
101 * util/grub-mkconfig.in: Likewise.
102 * util/grub-mknetdir.in: Likewise.
103 * util/grub-mkrescue.in: Likewise.
104 * util/grub-mkstandalone.in: Likewise.
105 * util/grub.d/00_header.in: Likewise.
106 * util/grub.d/10_hurd.in: Likewise.
107 * util/grub.d/10_illumos.in: Likewise.
108 * util/grub.d/10_kfreebsd.in: Likewise.
109 * util/grub.d/10_linux.in: Likewise.
110 * util/grub.d/10_netbsd.in: Likewise.
111 * util/grub.d/10_windows.in: Likewise.
112 * util/grub.d/20_linux_xen.in: Likewise.
113 * util/grub.d/30_os-prober.in: Likewise.
114 * util/update-grub_lib.in: Removed.
115
1162012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
117
118 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
119 a workaround for intel problem.
120
66832792
PRP
1212012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
1222012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1232012-01-23 pfsmorigo
124
125 * util/grub-install.in: Support dd'in into PreP partition.
126 * util/grub-probe.c (probe): Support discovering partition type.
127 (main): Support -t msdos_parttype.
128
7816a17e
VS
1292012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
132 infinite recursion using counter.
133 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
134 init to skip it if the magic check fails.
135 (dec_stream_header): Init s->crc32.
136
8f9d3a8c
ZB
1372012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1382012-01-22 Zachary Bedell <pendorbound@gmail.com>
1392012-01-22 Richard Laager <rlaager@wiktel.com>
140
141 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
142 All users updated.
143 (find_bestub): Determine correct size.
144 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
145 (scan_disk): Align the size down.
146 Call check pool before find_bestub to have ashift.
147
b055dd32
VS
1482012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
151 dprintf in no-malloc zone.
152
d779e9bd
ML
1532012-01-22 Mario Limonciello <mario_limonciello@dell.com>
154
155 * configure.ac: Add back in test for limits.h.
156
b508af69
VS
1572012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Support 4K-sector NTFS.
160
161 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
162 (grub_ntfs_data): Remove blocksize.
163 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
164 Remove data argument. All users updated.
165
dad9c8b5
VS
1662012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
169 being in .text to avoid dprel references.
170 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
171 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
172 (grub_arch_highmemsize): Likewise.
173 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
174 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
175 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
176
d43a777e
VS
1772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
180
181 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
182 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
183
34e4208f
VS
1842012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
187 GRUB_UTIL.
188 (grub_set_datetime_cmos): Likewise.
189
3ec0fc1c
VS
1902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Make XZ compression parameters dependent on target and not host CPU.
193
194 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
195 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
196
22489834
VS
1972012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
200 set but not used variable.
201
8502fbca
VS
2022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
205 created when no uuid support is compiled into mkfs.reiser.
206
76df2068
VS
2072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
210 (utf8_to_macroman): Do the opposite.
211 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
212
64e3f8f6
VS
2132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * configure.ac: Refise build qemu_mips w/o unifont.
216
9c271078
VS
2172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Eliminate grub_min/grub_max prone to overflow usage.
220
221 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
222 (poll_nonroot_hub): Likewise.
223 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
224 (grub_affs_label): Likewise.
225 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
226 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
227 (grub_hfs_label): Likewise.
228 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
229 * grub-core/fs/zfs/zfs.c (MIN): Remove.
230 (zap_leaf_array_equal): Use grub_size. Remove MIN.
231 (zap_leaf_array_get): Likewise.
232 (dnode_get_path): Likewise.
233 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
234 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
235 * grub-core/script/execute.c (grub_script_break): Likewise.
236 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
237 grub_max.
238 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
239 * include/grub/misc.h (grub_min): Removed.
240 (grub_max): Likewise.
241
80662dbc
VS
2422012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
243
244 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
245 direct.inode = 0.
246
e6da1467
VS
2472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
250
b1ac4cb1
VS
2512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
254
b4bf7c3b
VS
2552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
258 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
259
8ee1101a
VS
2602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
263 rather than a hack for grub_strncasemap.
264
2652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Support multiple initrds
268 Note: part of this was accidently committed in r3739.
269
270 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
271 initrd.
272 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
273 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
274 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
275 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
276 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
277
4d1e2bc9
VS
2782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
281 disks with unknown size.
282 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
283
75b49ebe
VS
2842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
285
286 Remove defines pertaining to arbitrary limits not affecting GRUB
287 anymore.
288
289 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
290 (EXT2_MAX_SYMLINKCNT): Likewise.
291 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
292 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
293 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
294 (GRUB_PXE_MAX_BLKSIZE): Likewise.
295 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
296 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
297 (DN_MAX_OBJECT_SHIFT): Likewise.
298 (DN_MAX_OFFSET_SHIFT): Likewise.
299 (DN_MAX_OBJECT): Likewise.
300 (DNODES_PER_LEVEL_SHIFT): Likewise.
301 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
302 (SPA_MAXBLOCKSIZE): Likewise.
303 (SPA_BLOCKSIZES): Likewise.
304 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
305 (MZAP_MAX_BLKSZ): Likewise.
306
74a1dce7
VS
3072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
310 handle NULL appropriately.
311 Remove MIN.
312
30c7d3ce
VS
3132012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
314
315 Fix efiemu.
316
317 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
318 cpu/types.h.
319 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
320 * configure.ac: Fix efiemu check.
321
3c76ea0c
VS
3222012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
325 grub_probe.
326 Reported by: adamwill
327
7e532280
SG
3282012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
329
330 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
331
30492374
VS
3322012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
333
334 Fix handling of wide characters in gfxterm.
335
336 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
337 (clear_char): Likewise.
338 (paint_char): Skip code == NULL chars.
339 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
340
e70cb72f
VS
3412012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/normal/charset.c: Move comment to right place.
344
5c827cf9
VS
3452012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
348 (GRUB_AFFS_FLAG_FFS): Put back where it was.
349 (grub_affs_mount): Revert the correct version checking.
350
53603892
VS
3512012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * docs/grub.texi (Unicode): Mention several other unsupported features.
354
ff094b9b
VS
3552011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
358 case statements as compile-time one.
359 (direct_read): Prevent spurious warnings.
360 (grub_squash_read_data): Likewise.
361
c029da8a
VS
3622011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Various squash4 fixes and LZO and XZ support.
365
366 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
367 Add xzembed source files.
368 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
369 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
370 (grub_squash_inode): New subtype long_dir.
371 (SQUASH_TYPE_LONG_DIR): New inode type.
372 (COMPRESSION): New enum.
373 (XZBUFSIZ): New const.
374 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
375 (read_chunk): Use data->decompress.
376 (zlib_decompress): New function.
377 (lzo_decompress): Likewise.
378 (xz_decompress): Likewise.
379 (squash_mount): Set new data fields.
380 (grub_squash_iterate_dir): Handle long dir.
381 (squash_unmount): Free xzdec and xzbuf.
382 (grub_squash_open): Check ino type.
383 (direct_read): Stylistic fixes. Use data->decompress.
384 (grub_squash_read_data): Likewise.
385 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
386 (get_byte): Likewise.
387 (grub_zlib_disk_read): Removed.
388 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
389 (GRUB_POSIX_BOOL_DEFINED): New define.
390 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
391 * grub-core/lib/xzembed/xz.h: Addmissing includes.
392 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
393 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
394
7a45a539
VS
3952011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Don't override more informative errors.
398
399 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
400 * grub-core/font/font.c (open_section): Likewise.
401 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
402 filename. Don't override errors.
403 (grub_cmd_openbsd_ramdisk): Don't override errors.
404 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
405 (grub_cmd_initrd): Likewise.
406 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
407 (grub_cmd_initrd): Likewise.
408 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
409 (grub_cmd_linux): Likewise.
410 (grub_cmd_initrd): Likewise.
411 (grub_cmd_payload): Likewise.
412 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
413 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
414 (grub_cmd_module): Likewise.
415 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
416 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
417 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
418 (grub_cmd_xnu_mkext): Likewise.
419 (grub_cmd_xnu_ramdisk): Likewise.
420 (grub_xnu_check_os_bundle_required): Likewise.
421 (grub_xnu_load_kext_from_dir): Likewise.
422 (grub_cmd_xnu_kextdir): Likewise.
423 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
424
b2d004db
VS
4252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
428 as 1024 in block size field. Found on one of my test images.
429 Small optimisation while on it.
430
ec000eac
VS
4312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
434 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
435 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
436 performance fixes while on it.
437 (grub_sfs_close): Fix memory leak while on it.
438 (grub_sfs_label): Convert Latin1 to UTF-8.
439
f50e1165
VS
4402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
443 space to avoid overflows.
444 (grub_hfs_label): Convert from macroman to UTF-8.
445
2ae254de
VS
4462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
449
0108f491
VS
4502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
453
f45f5f89
VS
4542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * unicode: Import Unicode 6.0 data.
457
4d8c4765
VS
4582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
459
63fa8ef9
VS
460 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
461 outside of range.
462
4632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
466
467 * include/grub/charset.h (grub_getend): New function.
468 * grub-core/script/function.c (grub_script_function_find): Use
469 grub_getend.
470 * grub-core/normal/completion.c (add_completion): Likewise.
471
f3cb4a4e
VS
4722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
475 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
476 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
477 (GRUB_UNICODE_TAG_END): Likewise.
478 (GRUB_UNICODE_LAST_VALID): Likewise.
479
5da8dbc5
VS
4802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
483 len and make it smaller. All users updated.
484 * util/import_unicode.py: Put length and not end character.
485 Check length.
486
8569f13d
VS
4872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Make better Unicode-compliant and unify some UTF-8 code pathes.
490
491 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
492 valid character.
493 (grub_is_valid_utf8): Use grub_utf8_process.
494 Check resulting code range.
495 (grub_utf8_to_ucs4): Use grub_utf8_process.
496 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
497 valid character.
498
cc4fddf5
VS
4992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
502
bbc47747
VS
5032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * docs/grub.texi (Filesystems): Mention AFS.
506
f63d6bf4
VS
5072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * docs/grub.texi (Filesystems): Clarify restrictions.
510 (Regexp): Mention non-Unicode regexp behaviour.
511 (Other): Mention non-Unicode matching behaviour.
512
74bbf0db
VS
5132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
514
f63d6bf4 515 Make HFS implementation use MacRoman.
74bbf0db
VS
516
517 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
518 (macroman): New const array.
519 (macroman_to_utf8): New function.
520 (utf8_to_macroman): Likewise.
521 (grub_hfs_find_dir): Use utf8_to_macroman.
522 (grub_hfs_dir): Use macroman_to_utf8.
523 Set case_insensitive.
524
4ea0316e
VS
5252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
528
d3c13cbd
VS
5292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Integrate hints into autogeneration scripts.
532
533 * docs/grub.texi (Filesystems): Add a hostdisk example.
534 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
535 (grub-probe): Add ofpath.
536 * gentpl.py: Remove group nosparc64.
537 * grub-core/commands/search.c (cache_entry): New struct.
538 (cache): New var.
539 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
540 * grub-core/commands/search_wrap.c (options): Add platform-specific
541 hint options.
542 (grub_cmd_search): Handle platform-specific hints.
543 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
544 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
545 (grub_util_biosdisk_data): Likewise.
546 (grub_util_biosdisk_open): Set device_map.
547 (read_device_map): Handle "" as indication of no map.
548 Set device_map.
549 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
550 (grub_util_biosdisk_get_compatibility_hint): New function.
551 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
552 * include/grub/emu/hostdisk.h
553 (grub_util_biosdisk_get_compatibility_hint): New proto.
554 * util/grub-install.in: Don't call grub-mkdevicemap.
555 Add platform-specific hint to load.cfg.
556 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
557 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
558 hints. Set root preliminary to compatibility hint, not to OS name.
559 * util/grub-probe.c (PRINT_*): Add hints.
560 (print): Make static.
561 (escape_of_path): New function.
562 (guess_bios_drive): Likewise.
563 (guess_efi_drive): Likewise.
564 (guess_baremetal_drive): Likewise.
565 (print_full_name): Likewise.
566 (probe): Handle hints.
567 (main): Likewise.
568 * util/ieee1275/devicemap.c: Removed.
569 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
570 updated.
571 (grub_util_devname_to_ofpath): Return NULL on failure.
572
573 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
574 resource leak.
575 * util/getroot.c (grub_util_pull_device): Fix memory leak.
576
577 * po/POTFILES.in: Regenerated.
578
579 Allow purely long options
580
581 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
582 (SHORT_ARG_USAGE): Likewise.
583 (grub_arg_show_help): Compare opt with help_options.
584 (parse_option): Receive opt as argument. If makes big simplificatons.
585 All users updated
586
00ce2df3
VS
5872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
590 Restructure to avoid warning.
591
e77e325f
VS
5922011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * util/grub-install.in: Account for possible escaped comma in device
595 name.
596
165099ea
VS
5972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
600 channel.
601
ce4a999d
VS
6022011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
605 allocation and zero-setting.
606 (grub_ieee1275_get_devname): Check that alias is complete.
607
379586ad
VS
6082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
611 unaligned segments.
612
9197b0ad
VS
6132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
616 prefix.
617 (grub_ofdisk_open): Check and discard ieee1275 prefix.
618 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
619 Add ieee1275 prefix.
620
edddb7f9
VS
6212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * docs/grub.texi (Filesystems): Update.
624
a1a8b1b9
VS
6252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
626
627 Support odc, newc and bigendian cpio formats.
628
629 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
630 * grub-core/Makefile.core.def (newc): New module.
631 (odc): Likewise.
632 (cpio_be): Likewise.
633 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
634 (MAGIC): Likewise.
635 (MAGIC2): Likewise.
636 (head) [MODE_ODC]: Adapt for the format.
637 (head) [MODE_NEWC]: Likewise.
638 (head) [!MODE_*]: Write fields of interest as arrays.
639 (MAGIC_USTAR): Removed.
640 (read_number) [MODE_NEWC]: Change to hex.
641 (read_number) [!MODE_*]: Parse binary arrays.
642 (grub_cpio_find_file): Factor out the code for better structure and
643 always use read_number.
644 (grub_cpio_mount): Use MAGIC and MAGIC2.
645 (grub_cpio_dir): Exit on first hook non-0 return.
646 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
647 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
648 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
649 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
650 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
651 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
652 * grub-core/fs/newc.c: New file.
653 * grub-core/fs/odc.c: Likewise.
654 * grub-core/fs/cpio_be.c: Likewise.
655
58eba9ee
VS
6562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
657
658 Fix handling of tar numbers occupying the whole field.
659
660 * grub-core/fs/cpio.c (read_number): New function.
661 (grub_cpio_find_file): Use read_number instead of strtoull.
662
a54a0e12
VS
6632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
666 occupying the whole field size.
667
a6120aca
LA
6682011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
669
670 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
671
a93964ce
VS
6722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
675
3ea1ca46
SG
6762011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
677
678 * grub-core/Makefile.core.def (lzma_decompress): Add missing
679 TARGET_IMG_LDFLAGS.
680
b87f7ef2
VS
6812011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * util/getroot.c (ESCAPED_PATH_MAX): New define.
684 (mountinfo_entry): Increase the field size to take escaping into
685 account.
686 (find_root_device_from_libzfs): Add one byte to size of strings for
687 security.
688
62092395
VS
6892011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
692 an assert.
693 * util/grub-setup.c (setup): Likewise.
694
1f0b1a77
VS
6952011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
698 _LzmaDecodeA.
699
8eba9997
VS
7002011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * docs/grub.texi (Internationalisation): New section.
703
dd0c91e9
VS
7042011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * docs/grub.texi (Loopback booting): New section.
707
7082011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
709
710 * util/grub-mkstandalone.in: Fix minor typo errors.
711
198e150a
VS
7122011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
713
714 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
715
716 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
717 net/icmp.c and net/icmp6.c.
718 (http): New module.
719 (priority_queue): Likewise.
720 * grub-core/io/bufio.c: Rewritten.
721 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
722 TYPE_WITH_CONFIGFILE_OPTION.
723 (legacy_commands): Add bootp and dhcp.
724 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
725 (grub_legacy_parse): Likewise.
726 * grub-core/lib/priority_queue.c: New file.
727 * grub-core/net/arp.c: Add missing license header.
728 (arp_find_entry): Removed.
729 (arp_find_entry): Likewise.
730 (grub_net_arp_resolve): Rename to ...
731 (grub_net_arp_send_request): ...this.
732 (grub_net_arp_receive): New card argument.
733 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
734 Set router and DNS server.
735 (grub_net_configure_by_dhcp_ack): Handle routing information.
736 (grub_cmd_bootp): Set checksum.
737 (grub_bootp_init): Remove net_dhcp.
738 * grub-core/net/dns.c: New file.
739 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
740 completion.
741 (get_card_packet): Handle allocation.
742 (grub_efinet_findcards): Set mtu.
743 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
744 (get_card_packet): Handle allocation.
745 (emucard): Set mtu.
746 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
747 (GRUB_MOD_INIT): Set mtu.
748 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
749 mtu.
750 (get_card_packet): Handle allocation.
751 (grub_ofnet_findcards): Set mtu.
752 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
753 assert.
754 (grub_net_recv_ethernet_packet): Handle IPv6.
755 * grub-core/net/http.c: New file.
756 * grub-core/net/icmp.c: Likewise.
757 * grub-core/net/icmp6.c: Likewise.
758 * grub-core/net/ip.c (ip6addr): New type.
759 (ip6hdr): Likewise.
760 (reassemble): Likewise.
761 (cmp): New function.
762 (reassembles): New variable.
763 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
764 (id): New variable.
765 (send_fragmented): New function.
766 (grub_net_send_ip_packet): Rename to ...
767 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
768 Handle non-UDP.
769 (grub_net_recv_ip_packets): Rename to ...
770 (handle_dgram): ... this. Check checksum. Handle non-UDP.
771 (free_rsm): New function.
772 (free_old_fragments): Likewise.
773 (grub_net_recv_ip4_packets): New function.
774 (grub_net_send_ip6_packet): Likewise.
775 (grub_net_send_ip_packet): Likewise.
776 (grub_net_recv_ip6_packets): Likewise.
777 (grub_net_recv_ip_packets): Likewise.
778 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
779 (LINK_LAYER_CACHE_SIZE): New const.
780 (link_layer_find_entry): New function.
781 (grub_net_link_layer_add_address): Likewise.
782 (grub_net_link_layer_resolve_check): Likewise.
783 (grub_net_link_layer_resolve): Likewise.
784 (grub_net_ipv6_get_slaac): Likewise.
785 (grub_net_ipv6_get_link_local): Likewise.
786 (grub_cmd_ipv6_autoconf): Likewise.
787 (parse_ip): Handle one number representation.
788 (parse_ip6): New functoion.
789 (match_net): Handle IPv6.
790 (grub_net_resolve_address): Handle IPv6 and DNS.
791 (grub_net_resolve_net_address): Handle IPv6.
792 (route_cmp): New function.
793 (grub_net_route_address): Find best route.
794 (grub_net_addr_to_str): Handle IPv6.
795 (grub_net_addr_cmp): New function.
796 (grub_net_add_addr): Register local route.
797 (print_net_address): Handle net address.
798 (grub_net_poll_cards): Retransmit TCP.
799 (grub_net_poll_cards_idle_real): Likewise.
800 (have_ahead): New function.
801 (grub_net_seek_real): Use underlying seek.
802 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
803 * grub-core/net/tcp.c: New file.
804 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
805 (cmp): New function.
806 (ack): Likewise.
807 (tftp_receive): Handle unordered input.
808 (destroy_pq): New function.
809 (tftp_close): Close pq.
810 * grub-core/net/udp.c: Put missing license header.
811 (grub_net_udp_socket): New function.
812 (udp_socket_register): Likewise.
813 (grub_net_udp_close): Likewise.
814 (grub_net_recv_udp_packet): Check checksum.
815 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
816 * include/grub/misc.h (grub_memchr): New function.
817 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
818 (grub_net_card_driver): Return buf in recv.
819 (grub_net_slaac_mac_list): New struct.
820 (grub_network_level_protocol_id): Add ipv6.
821 (grub_net_network_level_addr): Likewise.
822 (grub_net_network_level_net_addr): Likewise.
823 (grub_net_app_protocol): Add seek.
824 (grub_net_socket): Removed.
825 (grub_net_sockets): Likewise.
826 (grub_net_socket_register): Likewise.
827 (grub_net_socket_unregister): Likewise.
828 (FOR_NET_SOCKETS): Likewise.
829 (grub_net_add_addr): Add const.
830 (GRUB_NET_BOOTP_*): New enum.
831 (grub_net_addr_cmp): New proto.
832 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
833 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
834 (grub_net_hwaddr_to_str): NEw proto.
835 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
836 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
837 (grub_dns_init): New proto.
838 (grub_dns_fini): Likewise.
839 (grub_net_tcp_retransmit): Likewise.
840 (grub_net_link_layer_add_address): Likewise.
841 (grub_net_link_layer_resolve_check): Likewise.
842 (grub_net_link_layer_resolve): Likewise.
843 (grub_net_dns_lookup): Likewise.
844 (grub_net_add_dns_server): Likewise.
845 (grub_net_remove_dns_server): Likewise.
846 (GRUB_NET_TRIES): New const.
847 (GRUB_NET_INTERVAL): Likewise.
848 * include/grub/net/arp.h: Mostly rewritten.
849 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
850 * include/grub/net/ip.h: Mostly rewritten.
851 * include/grub/net/netbuff.h: Indent.
852 * include/grub/net/tcp.h: New file.
853 * include/grub/net/udp.h: Mostly rewritten.
854 * include/grub/priority_queue.h: New file.
855 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
856 (grub_swap_bytes64_compile_time): Likewise.
857 (grub_cpu_to_be16_compile_time): Likewise.
858 (grub_cpu_to_be32_compile_time): Likewise.
859 (grub_cpu_to_be64_compile_time): Likewise.
860 (grub_be_to_cpu64_compile_time): Likewise.
861
215c1800
VS
8622011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
865 UINT_TO_PTR with cast.
866
c17e546c
VS
8672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
870 don't use them.
871
ff6b18b6
VS
8722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
875 already there.
876
70ffcc93
VS
8772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
880 confusing ipxe.
881
e5f4d260
VS
8822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
885 Add missing const attribute.
886 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
887 Likewise.
888 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
889 Likewise.
890
8e54b4b7
VS
8912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
894 misaligned access.
895 (serpent_setkey): Likewise.
896 (serpent_encrypt_internal): Likewise.
897 (serpent_decrypt_internal): Likewise.
898 (serpent_encrypt): Don't put an alignment-increasing cast.
899 (serpent_decrypt): Likewise.
900 (serpent_test): Likewise.
901
813c0a2b
VS
9022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
905
f2b60fbd
VS
9062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
907
908 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
909
910 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
911 grub_addr_t casts.
912 (PTR_TO_UINT64): Likewise.
913 (PTR_TO_UINT32): Likewise.
914
5ef5c511
VS
9152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * util/grub-mkimage.c (generate_image): Decrease the higher limit
918 because of stack.
919 * util/grub-setup.c (setup): Don't add redundancy past the higher load
920 limit.
921
c476e6df
VS
9222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
925 text_width > available width a bit more gracefully.
926
384ad7cc
VS
9272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
930 current address calculation.
931
96f8caf8
VS
9322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
935 stack.
936 (encode_block): Likewise.
937
276b7a8b
VS
9382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
941 certainety.
942
e3fd394a
VS
9432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
946 non-RS part to avoid RS messing with GDT.
947 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
948 Increase to suit in realmode routines.
949
9502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/kern/i386/realmode.S: Increase alignment.
953 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
954
ee9c2e7a
VS
9552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
958 be deterministic.
959 (syndroms): Compute 0 syndrom.
960 (rs_recover): Use 0 syndrom.
961
7a7f7cc9
VS
9622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
965
a14b16d1
VS
9662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
969 brackets.
970
9f59e9fc
VS
9712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
972
ca1b552c
VS
973 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
974 account.
975 (get_top_pad): Likewise.
976 (get_right_pad): Likewise.
977 (get_bottom_pad): Likewise.
978
9792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 982
e739d698
VS
9832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
986 attribute as the structure isn't guaranteed to be properly aligned.
987 (grub_efi_pci_device_path): Likewise.
988 (grub_efi_pccard_device_path): Likewise.
989 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
990 specify the size of `memory_type'.
991 (grub_efi_vendor_device_path): Likewise.
992 (grub_efi_controller_device_path): Likewise.
993 (grub_efi_acpi_device_path): Likewise.
994 (grub_efi_expanded_acpi_device_path): Likewise.
995 (grub_efi_atapi_device_path): Likewise.
996 (grub_efi_scsi_device_path): Likewise.
997 (grub_efi_fibre_channel_device_path): Likewise.
998 (grub_efi_1394_device_path): Likewise.
999 (grub_efi_usb_device_path): Likewise.
1000 (grub_efi_usb_class_device_path): Likewise.
1001 (grub_efi_i2o_device_path): Likewise.
1002 (grub_efi_mac_address_device_path): Likewise.
1003 (grub_efi_ipv4_device_path): Likewise.
1004 (grub_efi_ipv6_device_path): Likewise.
1005 (grub_efi_infiniband_device_path): Likewise.
1006 (grub_efi_uart_device_path): Likewise.
1007 (grub_efi_vendor_messaging_device_path): Likewise.
1008 (grub_efi_hard_drive_device_path): Likewise.
1009 (grub_efi_cdrom_device_path): Likewise.
1010 (grub_efi_vendor_media_device_path): Likewise.
1011 (grub_efi_file_path_device_path): Likewise.
1012 (grub_efi_protocol_device_path): Likewise.
1013 (grub_efi_piwg_device_path): Likewise.
1014 (grub_efi_bios_device_path): Likewise.
1015
cb8f88ea
VS
10162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1019 (grub_ucs4_to_utf8_alloc): Likewise.
1020 (grub_ucs4_to_utf8): Likewise.
1021 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1022 (grub_ucs4_to_utf8_alloc): Likewise.
1023
309e5352
VS
10242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 AFFS never uses unicode.
1027
1028 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1029 (grub_latin1_to_utf8): New inline function.
1030 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1031
e7987e1b
VS
10322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1035 overflow.
1036
efc2616e
VS
10372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1040 (grub_squash_dirent_header): Likewise.
1041 (read_chunk): Don't double swap.
1042 (grub_squash_iterate_dir): Fix swap sizes.
1043
3c349f5a
VS
10442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1047
b453412d
VS
10482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1051 (grub_hfs_iterate_dir): Likewise.
1052
12e9d4d1
VS
10532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Fix video on platforms where unaligned access is forbidden.
1056 Make several optimisations while on it.
1057
1058 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1059 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1060 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1061 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1062 Disable.
1063 (grub_video_fbblit_replace_16bit_1bit):
1064 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1065 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1066 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1067 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1068 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1069 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1070 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1071 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1072 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1073 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1074 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1075 (grub_video_fbblit_replace_index_RGB888): Likewise.
1076 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1077 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1078 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1079 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1080 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1081 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1082 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1083 Disable.
1084 (grub_video_fbblit_blend_XXX565_1bit):
1085 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1086 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1087 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1088 void *.
1089 * grub-core/video/fb/video_fb.c (common_blitter)
1090 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1091 (grub_video_fb_create_render_target_from_pointer)
1092 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1093 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1094 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1095 definition.
1096 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1097
ace96609
VS
10982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1101 HH22 and HM10 relocations.
1102
fd261d73
VS
11032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1106
e59b7857
VS
11072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1110 allocation succeeded.
1111
9b4baaa4
VS
11122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1115 argument a u8 pointer. All users updated.
1116 Handle unaligned buffers.
1117
dc713193
VS
11182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1121 add_part to workaround compiler bug.
1122
30dd48c2
VS
11232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1126
0c6087a8
VS
11272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1130 Reserve alignment invariants.
1131 (grub_multiboot_load): Likewise.
1132 (retrieve_video_parameters): Likewise.
1133 (grub_multiboot_make_mbi): Likewise.
1134
c2e77777
VS
11352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1138 incorrect pointer.
1139
b70b6d11
VS
11402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1143 (grub_pata_pio_write): Likewise.
1144
02a2bf83
VS
11452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Add noreturn attributes and remove unreachable code.
1148
1149 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1150 code.
1151 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1152 code. Mark as noreturn.
1153 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1154 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1155 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1156 unreachable code.
1157 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1158 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1159 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1160 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1161 * include/grub/kernel.h (grub_main): Mark as noreturn.
1162 * include/grub/reader.h (grub_rescue_run): Likewise.
1163
2019d09e
VS
11642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1167 redundant declaration.
1168
d1c501ee
VS
11692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1172 redundant declaration.
1173 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1174
61664420
VS
11752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1178 to ensure alignment.
1179 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1180 alignment. Ensure tmp alignment.
1181 (grub_cmd_hdparm): Ensure buf alignment.
1182 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1183 to ensure alignment.
1184 (grub_ata_dumpinfo): Ensure text alignment.
1185 (grub_atapi_identify): Preserve alignment invariant.
1186 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1187
0d51ee20
VS
11882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1191 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1192 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1193 * include/grub/misc.h (grub_reboot)
1194 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1195 (grub_halt) [__mips__]: Likewise.
1196
753ef8c1
VS
11972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1200 Remove redundant declaration.
1201 (grub_mmap_get_post64): Likewise.
1202 (grub_mmap_get_upper): Likewise.
1203 (grub_mmap_get_lower): Likewise.
1204
85c85365
VS
12052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1208 uint32_t * to ensure alignment.
1209 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1210
a23f2cc4
VS
12112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1212
93018f64
VS
1213 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1214 uint16_t * to ensure alignment.
1215 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1216 alignment.
1217
12182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1221 to ensure alignment.
1222 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1223
58acccd6
VS
12242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1227 Handle unaligned pointers.
1228 (u32at): Likewise.
1229 (u64at): Likewise.
1230 (fixup): Use byte access instead of v16at.
1231 (find_attr): Fix imporper usage of v32at.
1232 (read_data): Likewise.
1233 (list_file): Handle byte-swapping and unaligned strings.
1234 (grub_ntfs_label): Likewise.
1235
9b05cad7
VS
12362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1239 as it's not necessarily aligned.
1240
b3950b84
VS
12412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1244 redundant declaration.
1245 (grub_serial_init): Likewise.
1246 (grub_terminfo_init): Likewise.
1247
fcd232b7
VS
12482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1251 function.
1252 (ZAP_HASH_IDX): Likewise.
1253 (ZAP_LEAF_HASH_SHIFT): Likewise.
1254 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1255 (LEAF_HASH): Likewise.
1256 (ZAP_LEAF_NUMCHUNKS): Likewise.
1257 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1258 alignment invariants. Return pointer. All users updated.
1259 (ZAP_LEAF_ENTRY): Make into inline function.
1260 (NBBY): Removed.
1261 (xor): LIkewise.
1262 (xor_out): Use grub_crypto_xor.
1263 (dnode_get_path): Use grub_get_unaligned.
1264 (nvlist_find_value): Likewise.
1265 (grub_zfs_nvlist_lookup_uint64): Likewise.
1266 (grub_zfs_nvlist_lookup_string): Likewise.
1267 (get_nvlist_size): Likewise.
1268 (grub_zfs_open): Likewise.
1269 (fill_fs_info): Likewise.
1270 (grub_zfs_dir): Likewise.
1271 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1272 alignment invariants.
1273 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1274 necessarily aligned.
1275
f138623a
VS
12762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1279
564840dc
VS
12802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1283 arithmetic to conserve alignment invariants.
1284
9b40df20
VS
12852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1288 redundant declaration.
1289 (grub_efiemu_mm_obtain_request): Likewise.
1290 (grub_efiemu_prepare): Likewise.
1291
d1c930f9
VS
12922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1295 to match types.
1296
4c5f3056
VS
12972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1300 case of aunaligned recptr.
1301 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1302 alignment.
1303 (grub_hfsplus_btree_search): Handle unaligned index.
1304
728cba91
VS
13052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1308 to get freetag and skip.
1309
eb561f31
VS
13102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1313 array.
1314 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1315 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1316
20993fbb
VS
13172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1320 name for checksum and fix allocation algorithm.
1321
1f313b94
VS
13222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * include/grub/types.h (grub_properly_aligned_t): New type.
1325 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1326 (grub_get_unaligned16): Add explicit casts.
1327 (grub_get_unaligned32): Likewise.
1328 (grub_get_unaligned64): Likewise.
1329 (grub_set_unaligned16): New function.
1330 (grub_set_unaligned32): Likewise.
1331
47ae27ec
VS
13322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1335
78c2cd1c
VS
13362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1339 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1340 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1341
53072f9b
VS
13422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1345 conditionals.
1346
055dc239
VS
13472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1350 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1351
496bd074
VS
13522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Unify and improve RAID and crypto xor.
1355
1356 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1357 changed to grub_crypto_xor
1358 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1359 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1360 Use bigger types when possible.
1361
ef6e4335
VS
13622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * grub-core/disk/raid.c (scan_devices): Fix condition.
1365
5d048bf2
VS
13662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1369 Make name a const ptr.
1370
ee533335
VS
13712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1374 first argument a const pointer.
1375 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1376 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1377 proto.
1378 (grub_children_iterate): Likewise.
1379 (grub_machine_mmap_iterate): Remove redundant declaration.
1380
cc8f3668
VS
13812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1384 (grub_cmd_acpi) [!x86]: Disable EBDA.
1385
c5fc563a
VS
13862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Enable UTF8 in gnulib regexp.
1389
1390 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1391 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1392 (isupper): Use grub_isupper.
1393 (isascii): New inline function.
1394 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1395 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1396 * grub-core/normal/charset.c (grub_utf8_process): New function.
1397 (grub_utf8_to_utf16): Use grub_utf8_process.
1398 (grub_encode_utf8_character): New function.
1399 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1400 * include/grub/charset.h (grub_utf8_process): New declaration.
1401 (grub_encode_utf8_character): Likewise.
1402 * include/grub/misc.h (grub_islower): New inline function.
1403 (grub_isupper): Likewise.
1404 (grub_strchrsub): Moved down to fix the definitions.
1405
0af2346f
VS
14062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1409 specification.
1410
74dbd244
VS
14112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * include/grub/loader.h (grub_loader_register_preboot_hook):
1414 Use struct preboot * and not void * for handle. All users updated.
1415 (grub_loader_unregister_preboot_hook): Likewise.
1416
1bc8f60d
VS
14172011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1420 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1421 UTF-16-BE. All users updated.
1422 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1423 (grub_hfsplus_iterate_dir): Likewise.
1424 (grub_hfsplus_label): Likewise.
1425
48d6e456
VS
14262011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1429
bf3a3857
VS
14302011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 Add missing const qualifiers.
1433
1434 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1435 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1436 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1437 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1438 (grub_lvm_check_flag): Likewise.
1439 * grub-core/efiemu/i386/coredetect.c
1440 (grub_efiemu_get_default_core_name): Likewise
1441 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1442 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1443 * grub-core/fs/ntfs.c (fixup): Likewise.
1444 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1445 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1446 (fzap_lookup): Likewise.
1447 (zap_lookup): Likewise.
1448 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1449 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1450 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1451 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1452 (grub_freebsd_add_meta_module): Likewise.
1453 (grub_cmd_freebsd_module): Likewise.
1454 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1455 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1456 (grub_xnu_writetree_get_size): Likewise.
1457 (grub_xnu_writetree_toheap_real): Likewise.
1458 (grub_xnu_find_key): Likewise.
1459 (grub_xnu_create_key): Likewise.
1460 (grub_xnu_create_value): Likewise.
1461 (grub_xnu_register_memory): Likewise.
1462 (grub_xnu_check_os_bundle_required): Likewise.
1463 (grub_xnu_scan_dir_for_kexts): Likewise.
1464 (grub_xnu_load_kext_from_dir): Likewise.
1465 * grub-core/normal/color.c (color_list): Likewise.
1466 * grub-core/normal/completion.c (current_word): Likewise.
1467 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1468 * grub-core/term/serial.c (grub_serial_find): Likewise.
1469 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1470 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1471 Likewise.
1472 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1473 (grub_freebsd_add_meta_module): Likewise.
1474 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1475 * include/grub/net.h (grub_net_card_driver): Likewise.
1476 (grub_net_card): Likewise.
1477 (grub_net_app_protocol): Likewise.
1478 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1479 * include/grub/serial.h (grub_serial_find): Likewise.
1480 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1481 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1482 (grub_xnu_create_value): Likewise.
1483 (grub_xnu_find_key): Likewise.
1484 (grub_xnu_scan_dir_for_kexts): Likewise.
1485 (grub_xnu_load_kext_from_dir): Likewise.
1486
1487 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1488 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1489 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1490 Moved from here ...
1491 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1492
112b4837
CW
14932011-11-28 Colin Watson <cjwatson@ubuntu.com>
1494
1495 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1496
49e891ac
VS
14972011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1500 (read_device): Fix size calculation.
1501
fd258e5c
RM
15022011-11-25 Robert Millan <rmh@gnu.org>
1503
1504 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1505 (find_root_device_from_libzfs): Add zpool output parser to be used
1506 as fallback when libzfs isn't available.
1507
78845dc2
SG
15082011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1509
1510 * po/Makefile.in.in: Add missing escape-continuation.
1511
adac5211
VS
15122011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1515
10b64f1c
VS
15162011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1519
bb416954
VS
15202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1523
bdfe9eeb
VS
15242011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1527
581ffa8a
VS
15282011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/lib/adler32.c: Add missing license specification.
1531 * grub-core/lib/crc64.c: Likewise.
1532 * grub-core/loader/i386/pc/plan9.c: Likewise.
1533 * grub-core/partmap/plan.c: Likewise.
1534
2536cf64
LK
15352011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1536
1537 Add facility to debug GRUB with gdb under qemu.
1538
1539 * grub-core/gdb_grub.in: New file.
1540 * grub-core/gmodule.pl.in: Likewise.
1541 * grub-core/Makefile.core.def (gmodule.pl): New script.
1542 (gdb_grub): Likewise.
1543
bc108a4a
VS
15442011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * util/grub-mount.c (argp_parser): Accept relative pathes.
1547 * util/grub-fstest.c (argp_parser): Likewise.
1548
111c1778
VS
15492011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Plan9 support.
1552
1553 * Makefile.util.def (libgrubmods): Add
1554 grub-core/partmap/plan.c.
1555 * docs/grub.texi: Notice Plan9 support.
1556 * grub-core/Makefile.core.def (plan9): New module.
1557 (part_plan): Likewise.
1558 * grub-core/loader/i386/pc/plan9.c: New file.
1559 * grub-core/partmap/plan.c: Likewise.
1560 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1561 define.
1562 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1563 * include/grub/mm.h (grub_extend_alloc): New inline function.
1564
c30be3b6
VS
15652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Make Reed-Solomon faster by using power of generator representation of
1568 GF(256)*.
1569
1570 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1571 (gf_double_t): Likewise.
1572 (gf_invert): Removed.
1573 (gf_powx): New array.
1574 (gf_powx_inv): Likewise.
1575 (scratch): Move higher.
1576 (gf_reduce): Removed.
1577 (gf_mul): Use powx.
1578 (gf_invert): Likewise.
1579 (init_inverts): Replaced with ...
1580 (init_powx): ...this. All users updated.
1581 (pol_evaluate): Replace multiplications with additions.
1582 (rs_encode): Likewise.
1583 (gauss_eliminate): Call gf_invert.
1584 (grub_reed_solomon_add_redundancy): Call init_powx.
1585 (grub_reed_solomon_recover): Call init_powx unconditionally.
1586
fa5aeffc
VS
15872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1590
a346b81c
VS
15912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1594 disk->partiton for safety.
1595
d89ee414
VS
15962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1599 Fix a memory leak.
1600 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1601
91ee7b6d
VS
16022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1605
91e5a33d
VS
16062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1609
9edd7be2
VS
16102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 Fix spaces handling in proc/self/mountinfo.
1613
1614 * util/getroot.c (unescape): New function.
1615 (grub_find_root_device_from_mountinfo): Use unescape.
1616
ba102053
VS
16172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Support ZFS embedding.
1620
1621 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1622 (grub_zfs_fs): Register grub_zfs_embed.
1623
aa94b870
VS
16242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 Fix MIPS compilation.
1627
1628 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1629 * include/grub/offsets.h: Rename decompressor fields from
1630 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1631 * util/grub-mkimage.c (image_targets): Use new names.
1632
5fbdac14
VS
16332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 Defer multiboot device parsing until we're in compressed part.
1636
1637 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1638 bsd_part. setdevice has fallen into disuse.
1639 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1640 (bsd_part): Likewise.
1641 (boot_dev): New variable.
1642 (multiboot_trampoline): Don't parse multiboot device.
1643 Pass multiboot device in %edx.
1644 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1645 grub_boot_device.
1646 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1647 Likewise.
1648 * grub-core/kern/i386/pc/startup.S: Save edx.
1649 (grub_boot_drive): Removed.
1650 (grub_install_dos_part): Likewise.
1651 (grub_install_bsd_part): Likewise.
1652 (grub_boot_device): New variable.
1653 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1654 (grub_install_bsd_part): Likewise.
1655 (grub_boot_drive): Likewise.
1656 (grub_boot_device): New variable.
1657 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1658 Removed.
1659 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1660 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1661 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1662 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1663 * util/grub-install.in: Remove redundant condition.
1664
691cbb58
VS
16652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 Fix bug introduced by previous commit.
1668
1669 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1670
60240b8b
VS
16712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 Use decompressors framework on i386-pc. It increases core size
1674 by 46 bytes but improves compatibility and maintainability.
1675
1676 * grub-core/Makefile.core.def (lzma_decompress): New image.
1677 (kernel): Add i386_pc_ldflags.
1678 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1679 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1680 to real_to_prot, prot_to_real and device info.
1681 * include/grub/offsets.h: Renamed decompressor offsets.
1682 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1683 (image_target_desc): Remove raw_size and rename decompressor fields.
1684 (compress_kernel): Handle lzma.
1685 (generate_image): Handle decompressors on i386-pc.
1686
e9d3421c
VS
16872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * configure.ac: Add -fno-asynchronous-unwind-tables.
1690
2b23074a
VS
16912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 Move assembly code to C by using intwrap. It increases core size
1694 by 88 bytes but improves compatibility and maintainability.
1695
1696 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1697 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1698 ... here. Translated to C.
1699 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1700 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1701 ... here. Translated to C.
1702 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1703 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1704 ... here. Translated to C.
1705 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1706 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1707 ... here. Translated to C.
1708 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1709 * grub-core/term/i386/pc/console.c (grub_console_cls):
1710 ... here. Translated to C.
1711 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1712 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1713 ... here. Translated to C.
1714 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1715 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1716 Translated to C.
1717 * grub-core/term/i386/pc/console.c (int10_9): New function.
1718 (grub_console_putchar): Likewise.
1719 * include/grub/i386/pc/console.h: Removed the not anymore shared
1720 functions.
1721
678f4b67
VS
17222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Move grub_chainloader_real_boot out of the kernel.
1725
1726 * grub-core/Makefile.am: Remove machine/loader.h.
1727 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1728 Removed.
1729 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1730 variable.
1731 (grub_relocator16_keep_a20_enabled): Likewise.
1732 (grub_relocator16_boot): Fill new variables.
1733 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1734 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1735 relocator.
1736 (grub_chainloader_unload): Likewise.
1737 (grub_chainloader_cmd): Likewise.
1738 * include/grub/i386/pc/loader.h: Removed.
1739 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1740 and esi. All initialisers updated.
1741
4626edf6
VS
17422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17432011-11-12 Colin Watson <cjwatson@ubuntu.com>
1744
1745 * Makefile.util.def (grub-mount): New util.
1746 * .bzrignore: Add grub-mount.
1747 * configure.ac: Check for fuse and enable grub-mount if available.
1748 * docs/man/grub-mount.h2m: New file.
1749 * util/grub-mount.c: Likewise.
1750
10f0117b
VS
17512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/commands/efi/fixvideo.c: Gettextize.
1754 * grub-core/commands/hashsum.c: Likewise.
1755 * grub-core/commands/i386/cmostest.c: Likewise.
1756 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1757 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1758 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1759 * grub-core/commands/lsmmap.c: Likewise.
1760 * grub-core/commands/menuentry.c: Likewise.
1761 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1762 * grub-core/commands/setpci.c: Likewise.
1763 * grub-core/loader/i386/bsd.c: Likewise.
1764 * grub-core/loader/i386/linux.c: Likewise.
1765 * util/getroot.c: Likewise.
1766 * util/grub-editenv.c: Likewise.
1767 * util/grub-fstest.c: Likewise.
1768 * util/grub-mkfont.c: Likewise.
1769 * util/grub-mkimage.c: Likewise.
1770 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1771 * util/grub-pe2elf.c: Likewise.
1772 * util/grub-probe.c: Likewise.
1773 * util/grub-setup.c: Likewise.
1774 * util/ieee1275/ofpath.c: Likewise.
1775 * util/misc.c: Likewise.
1776 * util/raid.c: Likewise.
1777
566f779b
RM
17782011-11-11 Robert Millan <rmh@gnu.org>
1779
1780 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1781 __attribute__((unused)) from `os_dev', which *is* being used.
1782
b50787de
VS
17832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1786 forgotten define.
1787 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1788 GRUB_IA64_DL_GOT_ALIGN.
1789 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1790 GRUB_IA64_DL_TRAMP_ALIGN.
1791
119d11c8
VS
17922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 Replace grub_fatal with normal errors in i386 linux loader.
1795
1796 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1797 (allocate_pages): Check find_efi_mmap_size return value.
1798 (grub_e820_add_region): Return error.
1799 (grub_linux_boot): Check mmap return value.
1800
6e0632e2
VS
18012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/commands/acpihalt.c: Gettextized.
1804 * grub-core/commands/cacheinfo.c: Likewise.
1805 * grub-core/commands/cmp.c: Likewise.
1806 * grub-core/commands/efi/loadbios.c: Likewise.
1807 * grub-core/commands/gptsync.c: Likewise.
1808 * grub-core/commands/ieee1275/suspend.c: Likewise.
1809 * grub-core/commands/legacycfg.c: Likewise.
1810 * grub-core/commands/memrw.c: Likewise.
1811 * grub-core/commands/minicmd.c: Likewise.
1812 * grub-core/commands/parttool.c: Likewise.
1813 * grub-core/commands/time.c: Likewise.
1814 * grub-core/commands/videoinfo.c: Likewise.
1815 * grub-core/disk/geli.c: Likewise.
1816 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1817 * grub-core/disk/luks.c: Likewise.
1818 * grub-core/disk/lvm.c: Likewise.
1819 * grub-core/font/font_cmd.c: Likewise.
1820 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1821 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1822 * grub-core/gfxmenu/view.c: Likewise.
1823 * grub-core/kern/emu/hostdisk.c: Likewise.
1824 * grub-core/kern/emu/main.c: Likewise.
1825 * grub-core/kern/emu/misc.c: Likewise.
1826 * grub-core/kern/emu/mm.c: Likewise.
1827 * grub-core/kern/mips/arc/init.c: Likewise.
1828 * grub-core/kern/mips/loongson/init.c: Likewise.
1829 * grub-core/kern/partition.c: Likewise.
1830 * grub-core/lib/i386/halt.c: Likewise.
1831 * grub-core/lib/mips/arc/reboot.c: Likewise.
1832 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1833 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1834 * grub-core/loader/i386/xnu.c: Likewise.
1835 * grub-core/loader/multiboot.c: Likewise.
1836 * grub-core/net/bootp.c: Likewise.
1837 * grub-core/net/net.c: Likewise.
1838 * grub-core/normal/term.c: Likewise.
1839 * grub-core/partmap/bsdlabel.c: Likewise.
1840 * grub-core/parttool/msdospart.c: Likewise.
1841 * grub-core/term/gfxterm.c: Likewise.
1842 * grub-core/term/terminfo.c: Likewise.
1843 * grub-core/video/i386/pc/vbe.c: Likewise.
1844 * util/grub-menulst2cfg.c: Likewise.
1845 * util/grub-mkdevicemap.c: Likewise.
1846 * util/grub-mklayout.c: Likewise.
1847 * util/grub-mkrelpath.c: Likewise.
1848 * util/grub-script-check.c: Likewise.
1849 * util/ieee1275/grub-ofpathname.c: Likewise.
1850 * util/resolve.c: Likewise.
1851
073aa7a9
VS
18522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 Support %1$d syntax.
1855
1856 * tests/printf_unit_test.c: New file.
1857 * Makefile.util.def (printf_test): New test.
1858 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1859
c76b5417
VS
18602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1863 fix.
1864
df067ad1
VS
18652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1868 dprintf.
1869 * grub-core/font/font.c (grub_font_load): Likewise.
1870
5b289bc5
VS
18712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * util/grub-macho2img.c: Add comment concerning gettext.
1874 * grub-core/lib/legacy_parse.c: Likewise.
1875
c1860f87
VS
18762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1879 (grub_xvasprintf): Likewise.
1880
d35d0d37
VS
18812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Add const keyword to grub_env_get and gettextize week days.
1884
1885 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1886 (grub_read_hook_datetime): Return const char *.
1887 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1888 updated.
1889 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1890 Mark for gettext.
1891 (grub_get_weekday_name): Return const char *. Call gettext.
1892 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1893 char * and len as the argument. All users updated.
1894 (grub_script_argv_split_append): Receive const char *.
1895 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1896 * include/grub/env.h (grub_env_get): Likewise.
1897 (grub_env_read_hook_t): Return const char *.
1898 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1899 (grub_script_argv_split_append): Likewise.
1900
9aed8a71
VS
19012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1904
067fdf00
VS
19052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1908 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1909
a8bd9d39
VS
19102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1913 Fix prototype.
1914
f7ce5baf
VS
19152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 Fix mips compilation.
1918
1919 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1920 normal decoder.
1921 (hashes): Use in embed decoder as well (for sizes).
1922 (dec_stream_header): Fix embed decompressor logic.
1923 (dec_stream_footer): Likewise.
1924
9bb182f3
VS
19252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1928 an error and not a fatal on unrecognised relocation types.
1929
63a9e6f6
VS
19302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1933 Issue error rather than printf on unknown arguments.
1934
4c458569
VS
19352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1938 Make buf a const.
1939
e2d22baf
VS
19402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1943 Fix module name.
1944
53dc8590
VS
19452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1948 leftover debug printf.
1949
6c189294
VS
19502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1953
f7688369
VS
19542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1957 A stylistic fix.
1958
11a775a3
VS
19592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1962
33f784e8
SL
19632011-11-10 Shea Levy <slevy@tieronedesign.com>
1964
1965 Allow all modules to perform serial IO
1966
1967 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1968 * include/grub/serial.h (grub_serial_port_configure): New inline
1969 function.
1970 (grub_serial_port_fetch): Likewise.
1971 (grub_serial_port_put): Likewise.
1972 (grub_serial_port_fini): Likewise.
1973 (grub_serial_find): New proto.
1974
f6276525
VS
19752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 Put symlink at the end of the node and fix a potential
1978 memory corruption.
1979
1980 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1981 Make symlink into an array.
1982 (set_rockridge): Set have_symlink and alloc_dirents.
1983 (grub_iso9660_read_symlink): Use new layout.
1984 (grub_iso9660_iterate_dir): Fix memory corruption.
1985 Use new layout.
1986 (grub_iso9660_dir): Set have_symlink.
1987 (grub_iso9660_open): Likewise.
1988
c3591189
VS
19892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 Remove local keyword.
1992
1993 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1994 (version_test_gt): Likewise.
1995 (version_find_latest): Likewise.
1996 (gettext_printf): Likewise.
1997 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1998
cb544caa
VS
19992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2002
45bd824d
VS
20032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 Fix ZFS memory and resource leaks.
2006
2007 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2008 All users updated.
2009 Free type on exit.
2010 (fill_vdev_info): New parameter inserted. All users updated.
2011 (check_pool_label): Likewise.
2012 (scan_disk): Likewise.
2013 (scan_devices): Close non-inserted disks.
2014 (fzap_iterate): Free l.
2015 (unmount_device): Free children descripto memory.
2016
ad9a2f44
VS
20172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2020 argument (access out of bounds).
2021
6b68db81
VS
20222011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2025 >= 6 drives.
2026
28840fda
VS
20272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2030 Fix declaration.
2031
8a5a3a5b
VS
20322011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 Fix several memory leaks.
2035
2036 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2037 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2038 (grub_cpio_dir): Likewise.
2039 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2040 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2041 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2042 (grub_romfs_label): Likewise.
2043 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2044 (squash_unmount): New function.
2045 (grub_squash_dir): Fix memory leak.
2046 (grub_squash_open): Likewise.
2047 (grub_squash_read): Likewise.
2048 (grub_squash_mtime): Likewise.
2049 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2050 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2051 * util/grub-fstest.c (fstest): Likewise.
2052
57b01250
VS
20532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2056 avoid accessing beyond the array.
2057
19e81ba7
VS
20582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2061
52b656c0
VS
20622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 Several AFFS fixes.
2065
2066 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2067 (GRUB_AFFS_FLAG_FFS): Removed.
2068 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2069 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2070 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2071 (grub_fshelp_node): Make block 32-bit.
2072 Add block_cache and last_block_cache.
2073 (grub_affs_read_block): Fill and use block cache.
2074 (grub_affs_read_file): Removed.
2075 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2076 boot block.
2077 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2078 safety.
2079 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2080 space.
2081 (grub_affs_close): Free block cache.
2082 (grub_affs_read): Use grub_fshelp_read_file directly.
2083
438a746a
VS
20842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2087 with no error set.
2088
49a45021
VS
20892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2092 used variable.
2093 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2094 Likewise.
2095
3ae17eb8
VS
20962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2099
2100 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2101 byteswap when needed.
2102
27610c38
VS
21032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 Fix FreeBSD compilation.
2106
2107 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2108 to avoid circular dependency.
2109 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2110 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2111 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2112
4a19b601
VS
21132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Fix ZFS crypto error types.
2116
2117 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2118 (grub_gcm_decrypt): Likewise.
2119 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2120 from PBKDF2.
2121
958ee221
VS
21222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 Illumos support.
2125
2126 * Makefile.util.def (10_illumos): New script.
2127 * configure.ac: Set COND_HOST_ILLUMOS.
2128 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2129 Support Illumos calls.
2130 (find_partition_start) [__sun__]: Likewise.
2131 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2132 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2133 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2134 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2135 device.
2136 * util/grub-probe.c (probe) [__sun__]: Do character check.
2137 * util/grub.d/10_illumos.in: New file.
2138
cac14fb6
VS
21392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Support escaped commas in hostdisk.
2142
2143 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2144 (find_grub_drive): Use unescape_cmp.
2145 (make_device_name): Escape commas.
2146
78e08dc3
VS
21472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2150
9f421dd1
VS
21512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2154 variable.
2155
ed64e9e2
VS
21562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Support trampoline jumps on powerpc.
2159
2160 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2161 __ia64__ path.
2162 (grub_dl_load_segments): Set mod->sz.
2163 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2164 segments.
2165 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2166 (jump): Likewise.
2167 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2168 function.
2169 (trampoline): New struct.
2170 (trampoline_template): New const.
2171 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2172 * include/grub/dl.h (grub_dl): Add sz element.
2173 [__powerpc__]: Follow __ia64__.
2174 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2175 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2176 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2177 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2178
3084ede4
VS
21792011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 ZFS crypto support.
2182
2183 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2184 * grub-core/Makefile.core.def (zfscrypt): New module.
2185 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2186 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2187 it. All users updated.
2188 (grub_zfs_decrypt): New var.
2189 (grub_zfs_load_key): Likewise.
2190 (zio_checksum_functions): Add SHA256+MAC.
2191 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2192 (zio_read): Handle encrypted blocks.
2193 (zap_verify): Remove incorrect check.
2194 (fzap_iterate): Handle non-standard fzap.
2195 (zap_iterate): Likewise.
2196 (zap_iterate_u64): New function.
2197 (dnode_get_fullpath): Load keys.
2198 * grub-core/fs/zfs/zfscrypt.c: New file.
2199 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2200 (grub_crypto_ecb_encrypt): Make input const.
2201 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2202 (grub_crypto_ecb_encrypt): Make input const.
2203 (GRUB_CIPHER_AES): New macro.
2204 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2205 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2206 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2207 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2208 prefix. All users updated.
2209 (grub_zfs_add_key): New proto.
2210 (grub_zfs_decrypt): Likewise.
2211 (grub_zfs_load_key): Likewise.
2212 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2213 * util/grub-fstest.c (options): Add -K option.
2214 (argp_parser): Likewise.
2215
b632b404
VS
22162011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Support zle compression on ZFS.
2219
2220 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2221 (decomp_table): Add zle.
2222 * include/grub/zfs/zio.h (zio_compress): Add zle.
2223
c7ba4f69
VS
22242011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 Support BtrFS embedding.
2227
2228 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2229 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2230 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2231 * util/grub-setup.c (setup): Use fs embedding if available.
2232 Add additional sanity check.
2233
455377d9
VS
22342011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * util/grub-install.in: Fix condition for config_opt.
2237
c2fd16ca
VS
22382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Support third redundancy strip on raidz3.
2241
2242 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2243 Return error on singularity. All users updated.
2244 (read_device): Don't stop on 3rd failure on raidz3.
2245
8622923b
VS
22462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Support case-insensitive ZFS subvolumes.
2249
2250 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2251 All users updated.
2252 (zap_hash): Likewise.
2253 (name_cmp): New function.
2254 (zap_leaf_array_equal): New parameter case_insensitive.
2255 All users updated.
2256 (zap_leaf_lookup): Likewise.
2257 (fzap_lookup): Likewise.
2258 (zap_lookup): Likewise.
2259 (dnode_get_path): New parameter case_insensitive. Retrieve case
2260 sensitiviness of a volume. All users updated.
2261 (dnode_get_fullpath): New parameter case_insensitive.
2262 All users updated.
2263 (grub_zfs_dir): Set info.case_insensitiveness.
2264
95f2e860
VS
22652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Support second redundancy strip on raidz(2,3).
2268
2269 * grub-core/fs/zfs/zfs.c (powx): New array.
2270 (powx_inv): Likewise.
2271 (poly): New const.
2272 (xor_out): New function.
2273 (gf_mul): Likewise.
2274 (recovery): Likewise.
2275 (read_device): Use second redundancy strip.
2276
11ee4389
VS
22772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 Use a power of generator representation of GF(256) multiplication group
2280 to save space time and complexity.
2281
2282 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2283 (raid6_table2): Likewise.
2284 (powx): New array.
2285 (powx_inv): Likewise.
2286 (poly): New const.
2287 (grub_raid_block_mul): Replace with ...
2288 (grub_raid_block_mulx): ...this.
2289 (grub_raid6_init_table): Rewritten.
2290 (grub_raid6_recover): Use power of generator representation.
2291
09e2763f
VS
22922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2295 for the right device.
2296
8bec9a28
VS
22972011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2300 expected by grub-mkimage and it's more clear since there is no implicit
2301 padding.
2302
dbd3a32e
VS
23032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2306 disk.
2307 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2308
182c872a
PMH
23092011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2310
2311 * util/grub-mkrescue.in: Fix handling xorriso option.
2312
1e51cabd
VS
23132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2316 NULL.
2317
9cc3581d 23182011-11-03 crocket <crockabiscuit@gmail.com>
2319
2320 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2321
158dc1ea
VS
23222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 XZ CRC64 and SHA256 support.
2325
2326 * Makefile.util.def (libgrubmods): Add crc64.c.
2327 * grub-core/Makefile.core.def (crc64): New module.
2328 * grub-core/lib/crc64.c: New file.
2329 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2330 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2331 Fix the type.
2332 (MAX_HASH_SIZE): New define.
2333 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2334 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2335 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2336 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2337 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2338 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2339 Handle non-crc32 hashes.
2340 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2341 (dec_stream_header): Handle non-crc32 hashes.
2342 (dec_stream_footer): Likewise.
2343 (dec_block_header): Likewise.
2344 (dec_main): Likewise.
2345 (xz_dec_init): Likewise.
2346 (xz_dec_reset): Likewise.
2347 (xz_dec_end): Likewise.
2348 * util/import_gcry.py: Add CRC64 line.
2349
9d9b3d2f
VS
23502011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2353 as well.
2354
7d0ac931
VS
23552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 Make reiserfs label retrieval similar to other *_label functions.
2358
2359 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2360 (REISERFS_MAX_LABEL_LENGTH): Removed.
2361 (REISERFS_LABEL_OFFSET): Likewise.
2362 (grub_reiserfs_label): Rewritten.
2363
23642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2367 field.
2368
cf5ba824
VS
23692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2372
17744004
VS
23732011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2376 drive failure on both raidz and raidz2.
2377
aca5aefc
VS
23782011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Fix RAIDZ(2) for >= 5 devices.
2381
2382 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2383 asize argument. All users updated.
2384
ce8ca56e
VS
23852011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Fix RAIDZ(2).
2388
2389 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2390 (fill_vdev_info_real): Set ashift.
2391 (read_device): Rewrite RAIDZ part based on reverse engineering.
2392
7c01e783
VS
23932011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2396 don't report potentially unavialiable fields in debug output.
2397 (find_path): Fix double-free and memory leak.
2398
ce109e84
VS
23992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Read label on UFS1.
2402
2403 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2404 (grub_ufs_fs): Always set .label.
2405
87661123
VS
24062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Use shifts in UFS.
2409
2410 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2411 (grub_ufs_data): New field log2_blksz.
2412 (grub_ufs_read_file): Use shifts.
2413 (grub_ufs_mount): Check block size and logarithm it.
2414
46bc1dc2
VS
24152011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2418 long symlinks.
2419
19ee2987
VS
24202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 Handle symlinks and long names on tar and cpio.
2423
2424 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2425 (ATTR_FILE): Likewise.
2426 (ATTR_DIR): Likewise.
2427 (ATTR_LNK): Likewise.
2428 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2429 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2430 L and K entries.
2431 (grub_cpio_mount): Zero-fill data.
2432 (handle_symlink): New function.
46bc1dc2
VS
2433 (grub_cpio_dir): Handle symlinks.
2434 (grub_cpio_open): Likewise.
2435 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2436
c83a08d8
VS
24372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 Fix iso9660 filename limitations and fix memory leaks.
2440
2441 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2442 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2443
45cdd3ea
VS
24442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 Fix JFS file name length limitations.
2447
2448 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2449 (grub_jfs_diropen): Fix maximum filename length.
2450 (grub_jfs_getent): Fix filename length.
2451 (grub_jfs_lookup_symlink): Fix size checks.
2452
94ef05c2
VS
24532011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2456 string.
2457
785ab8c7
VS
24582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2459
eb0b6b45
VS
2460 Leverage BFS implementation to read AFS.
2461
2462 * Makefile.util.def (libgrubmods): Add afs.c.
2463 * grub-core/Makefile.core.def (afs): New module
2464 * grub-core/fs/afs.c: New file.
2465 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2466
24672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2470
c4a1628f
VS
24712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/fs/bfs.c: Run indent.
2474
5825b379
VS
24752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 BFS implementation based on the specification.
2478
2479 * grub-core/fs/bfs.c: New file.
2480 * Makefile.util.def (libgrubmods): Add bfs.c.
2481 * grub-core/Makefile.core.def (bfs): New module.
2482
42b2a706
VS
24832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * util/grub-fstest.c (cmd_cp): Clarify error message.
2486 (cmd_cmp): Likewise.
2487
61b99bfc
YB
24882011-10-30 Yves Blusseau <blusseau@zetam.org>
2489
2490 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2491 and befs_be.
2492
faba3d16
VS
24932011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Remove afs and befs because of copyright problem.
2496
2497 * grub-core/fs/afs.c: Removed.
2498 * grub-core/fs/afs_be.c: Removed.
2499 * grub-core/fs/befs.c: Removed.
2500 * grub-core/fs/befs_be.c: Removed.
2501 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2502 * grub-core/Makefile.core.def (afs): Removed.
2503 (afs_be): Likewise.
2504 (befs): Likewise.
2505 (befs_be): Likewise.
2506
c39224b0
VS
25072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 Prefer rockridge over Joliet.
2510
2511 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2512 to ...
2513 (set_rockridge): ... here.
2514 (grub_iso9660_mount): Check rockridge on the primary label when
2515 discovering. Ignore Joliet if Rockridge is present.
2516
e551115a
VS
25172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 Use shifts in nilfs2.
2520
2521 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2522 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2523 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2524 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2525 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2526 (grub_nilfs2_entries_per_block): Replaced with ...
2527 (grub_nilfs2_log_entries_per_block_log): ... this.
2528 (grub_nilfs2_blocks_per_group): Replaced with ...
2529 (grub_nilfs2_blocks_per_group_log): ... this.
2530 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2531 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2532 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2533 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2534 (grub_nilfs2_palloc_entry_offset): Replaced ...
2535 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2536 (grub_nilfs2_dat_translate): Use shifts.
2537 (grub_nilfs2_read_inode): Likewise.
2538 (GRUB_MOD_INIT): Ensure that logs are correct.
2539
564dd58c
VS
25402011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Use shifts in minix filesystem.
2543
2544 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2545 (GRUB_MINIX_ZONE2SECT): Likewise.
2546 (grub_minix_data): Replace block_size with log_block_size.
2547 (grub_minix_read_file): Use shifts.
2548 (grub_minix_mount): Check block size and take a logarithm.
2549
ed9ba06d
VS
25502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Use shifts in squash4.
2553
2554 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2555 (squash_mount): Check block size and take logarithm.
2556 (direct_read): Use shifts.
2557
ad03fe76
VS
25582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Correct befs block counting logic.
2561
2562 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2563 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2564 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2565 (grub_afs_read_inode): Use block_shift.
2566 (RANGE_SHIFT): New definition.
2567 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2568 unexpected conditions, use shifts and appropriate types.
2569 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2570
6563f63d
VS
25712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/disk/raid.c (scan_devices): Check partition.
2574 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2575
5b1ae25f
VS
25762011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 Support BFS (befs) UUID.
2579
2580 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2581 (grub_afs_small_data_element_header): New struct.
2582 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2583 (grub_afs_read_attribute) [MODE_BFS]: New function.
2584 (grub_afs_iterate_dir): Allocate for complete inode.
2585 (grub_afs_mount): Likewise.
2586 (grub_afs_uuid) [MODE_BFS]: New function.
2587 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2588
f8d82408
VS
25892011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2592 (zfs_unmount): Fix memory leak.
2593
5773fb64
VS
25942011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 Support NTFS reparse points.
2597
2598 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2599 (symlink_descriptor): New struct.
2600 (grub_ntfs_read_symlink): New function.
2601 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2602 (grub_ntfs_open): Likewise.
2603
91c3fdde
VS
26042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2607
3be82e10
VS
26082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 fstest xnu_uuid subcommand.
2611
2612 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2613 grub-core/commands/xnu_uuid.c.
2614 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2615 (fstest): Handle xnu_uuid.
2616 (options): Document xnu_uuid.
2617 (argp_parser): Parse xnu_uuid.
2618
8e32442e
VS
26192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2622 -l argument. Add newline at the end if printing.
2623 (GRUB_MOD_INIT): Document -l.
2624
52a05075
VS
26252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2628
1869edb5
VS
26292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 ZFS multi-device and version 33 support.
2632
2633 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2634 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2635 (grub_zfs_data): Add multidev-ice-related fields.
2636 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2637 (dva_get_offset): Make dva const.
2638 (zfs_fetch_nvlist): New function.
2639 (fill_vdev_info_real): Likewise.
2640 (fill_vdev_info): Likewise.
2641 (check_pool_label): Likewise.
2642 (scan_disk): Likewise.
2643 (scan_devices): Likewise.
2644 (read_device): Likewise.
2645 (read_dva): Likewise.
2646 (zio_read_gang): Use read_dva.
2647 (zio_read_data): Likewise.
2648 (zap_leaf_lookup): Add missing endian conversion.
2649 (zap_verify): Add missing endian conversion. All users updated.
2650 (fzap_lookup): Likewise.
2651 (fzap_iterate): Likewise.
2652 (dnode_get_path): Handle SA bonus.
2653 (nvlist_find_value): Make input const. All users updated.
2654 (unmount_device): New function.
2655 (zfs_unmount): Use unmount_device.
2656 (zfs_mount): Use scan_disk.
2657 (zfs_mtime): New function.
2658 (grub_zfs_open): Handle system attributes.
2659 (fill_fs_info): Likewise.
2660 (grub_zfs_dir): Likewise.
2661 (grub_zfs_fs): Add mtime.
2662 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2663 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2664 (SA_MTIME_OFFSET): Likewise.
2665 (SA_SYMLINK_OFFSET): Likewise.
2666 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2667 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2668 (fstest): Support zfsinfo.
2669 (argp_parser): Likewise.
2670
186b4028
VS
26712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2674 error.
2675
26762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2677
2678 ZFS fixes.
2679
2680 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2681 sharing the same block. Iterate over correct number of indices.
2682 (dnode_get_path): Handle symlinks correctly.
2683
c0584900
VS
26842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2687
67e2bd71
VS
26882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Read label on HFS+.
2691
2692 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2693 (grub_hfsplus_btree_search): Fix types.
2694 (grub_hfsplus_label): Implement.
2695
e9cc6b7b
VS
26962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2699
19832ddb
VS
27002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2703
66b40850
VS
27042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Fix symlink handling on iso9660.
2707
2708 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2709 All users updated.
2710 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2711 (grub_iso9660_read_symlink): Moved most of code ...
2712 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2713
db821363
VS
27142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2717 Use union to avoid breaking strict-aliasing rules.
2718
e1211949
VS
27192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 Support multi-extent iso files.
2722
2723 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2724 Add node.
2725 (grub_fshelp_node): Revamp. All users updated.
2726 (FLAG_*): New enum.
2727 (read_node): New function.
2728 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2729 All users updated.
2730 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2731 (get_node_size): New function.
2732 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2733 entries.
2734 Fix memory leak on . and ..
2735 (grub_iso9660_read): Use read_node.
2736 (grub_iso9660_close): Free node.
2737
d4888031
VS
27382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Fix tar 4G limit and handle paths containing dot.
2741
2742 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2743 (canonicalize): New function.
2744 (grub_cpio_find_file): Use canonicalize. Store offs in
2745 grub_disk_addr_t.
2746 (grub_cpio_dir): Use grub_disk_addr_t.
2747 (grub_cpio_open): Likewise.
2748
9f12e664
VS
27492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2752
2753 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2754 unused flags.
2755 (grub_squash_inode): Add long_file and block_size.
2756 (grub_squash_cache_inode): New struct.
2757 (grub_squash_dirent): Make types into enum.
2758 (SQUASH_TYPE_LONG_REGULAR): New type.
2759 (grub_squash_frag_desc): Add field size.
2760 (SQUASH_BLOCK_FLAGS): New enum.
2761 (grub_squash_data): Use grub_squash_cache_inode.
2762 (grub_fshelp_node): Make ino_chunk 64-bit.
2763 (read_chunk): Minor argument change. All users updated.
2764 (squash_mount): Use correct le_to_cpu.
2765 (grub_squash_open): Handle LONG_REGULAR.
2766 (direct_read): New function.
2767 (grub_squash_read_data): Handle blocks correctly.
2768
9f326fba
VS
27692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2772
f4d9b64b
VS
27732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2776
5bbd28b8
VS
27772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Fix 2G limit on ZFS.
2780
2781 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2782 types.
2783 (uberblock_verify): Likewise.
2784 (dmu_read): Likewise.
2785 (grub_zfs_read): Likewise. Remove invalid cast.
2786
68c72069
VS
27872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2790 (grub_jfs_blkno): Fix incorrect shift.
2791 (grub_jfs_read_file): Use more appropriate types.
2792
6e536dc8
VS
27932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 Support triple indirect on minix2 and minix3.
2796
2797 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2798 Declare triple_indir_zone.
2799 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2800 indirect.
2801
e0864e7a
VS
28022011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 Minix FS fixes.
2805
2806 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2807 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2808 Rename ctime to mtime. All users updated.
2809 (grub_minix_get_file_block): Fix types and double indirect computations.
2810
89481cab
VS
28112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2814 if no label is found.
2815 (grub_fat_iterate_dir): Fix file size type.
2816 (grub_fat_iterate_dir): Likewise.
2817
f646e143
VS
28182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2821 save some space.
2822 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2823 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2824
534d769e
VS
28252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2828
e084ba18
VS
28292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * util/import_gcry.py: Accept space between # and include.
2832
3471ecdf
VS
28332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2836
124df5f6
VS
28372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2840
2841 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2842 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2843 yylex_strncpy.
2844 * grub-core/script/yylex.l: Add fine-grained #pragma.
2845
4defb8d5
VS
28462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2849 New inline function.
2850 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2851 Likewise.
2852 (memset) [GRUB_UTIL]: Likewise.
2853 (memcmp) [GRUB_UTIL]: Likewise.
2854
4e94ae65
VS
28552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2858 inline function rather than a define.
2859
18c575e5
VS
28602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * util/grub-setup.c: Add missing include.
2863
f8bc22a8
VS
28642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * util/ieee1275/grub-ofpathname.c: Add missing include.
2867
3ce69fc9
VS
28682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2871 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2872 Likewise.
2873
d1e293bb
VS
28742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2877 grub_memcmp usage.
2878
7a5c54a4
VS
28792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * util/grub-install.in: Add datarootdir as per automake manual
2882 suggestion.
2883 * util/grub-mknetdir.in: Likewise.
2884
28852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2886
2887 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2888 suggestion.
2889 * util/grub.d/10_kfreebsd.in: Likewise.
2890 * util/grub.d/10_linux.in: Likewise.
2891 * util/grub.d/10_netbsd.in: Likewise.
2892 * util/grub.d/10_windows.in: Likewise.
2893 * util/grub.d/20_linux_xen.in: Likewise.
2894
766f7d08
VS
28952011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Remove redundant grub_kernel_image_size.
2898
2899 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2900 _edata and _start.
2901 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2902 the small code. It moves it only by few bytes but simplifies the code.
2903 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2904 _start.
2905 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2906 (grub_kernel_image_size): Removed.
2907 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2908 (grub_kernel_image_size): Removed.
2909 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2910 compiled with Apple toolchain.
2911 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2912 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2913 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2914 (grub_total_module_size): Likewise.
2915 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2916 Removed.
2917 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2918 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2919 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2920 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2921 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2922 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2923 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2924 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2925 Removed.
2926 (grub_total_module_size): Removed.
2927 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2928 (image_targets): Likewise.
2929 Set .compressed_size to no field on sparc.
2930 (generate_image): Remove kernel_image_size handling.
2931
fcf1d672
SJ
29322011-10-19 Szymon Janc <szymon@janc.net.pl>
2933
2934 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2935 NULL pointer dereference.
2936
de9c615e
VS
29372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2940 done with a dedicated section.
2941
2942 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2943 Ensure the correct position of boot_path.
2944 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2945 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2946 other fields.
2947 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2948 * include/grub/boot.h: Removed. All references removed.
2949 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2950 Removed.
2951 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2952
e55599dc
VS
29532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2956 name.
2957
36dd20ad
VS
29582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2961
f8f72eb8
VS
29622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2965 Don't add the bogus brackets.
2966
a374751b
VS
29672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 ExFAT support.
2970
2971 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2972 * grub-core/Makefile.core.def (exfat): New module.
2973 * grub-core/fs/exfat.c: New file.
2974 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2975 (GRUB_FAT_ATTR_*): Make into an enum.
2976 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2977 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2978 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2979 (GRUB_FAT_MAXFILE): Removed.
2980 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2981 (grub_current_fat_bpb_t): New type.
2982 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2983 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2984 (grub_fat_dir_node_t): New type.
2985 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2986 (fat_log2) [MODE_EXFAT]: Removed.
2987 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2988 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2989 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2990 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2991 (grub_fat_label) [MODE_EXFAT]: New function.
2992 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2993 reserved_first_sector to 0.
2994
544c2487
VS
29952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 Move grub_reboot out of the kernel.
2998
2999 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3000 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3001 * grub-core/lib/efi/reboot.c: ... here.
3002 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3003 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3004 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3005 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3006 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3007 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3008 * grub-core/lib/ieee1275/reboot.c: ... here.
3009 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3010 * grub-core/lib/mips/arc/reboot.c: ... here.
3011 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3012 * grub-core/lib/mips/loongson/reboot.c: ...here.
3013 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3014 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3015 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3016 * include/grub/i386/reboot.h: New file.
3017 * include/grub/mips/loongson/ec.h: Fix includes.
3018 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3019 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3020 * grub-core/lib/i386/reboot.c: New file.
3021
a97501d2
VS
30222011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 Make grub_prefix into module to fix the arbitrary limit and save
3025 some space.
3026
3027 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3028 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3029 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3030 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3031 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3032 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3033 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3034 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3035 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3036 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3037 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3038 * include/grub/ia64/efi/kernel.h: Removed.
3039 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3040 (grub_prefix): Removed.
3041 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3042 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3043 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3044 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3045 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3046 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3047 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3048 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3049 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3050 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3051 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3052 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3053 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3054 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3055 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3056 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3057 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3058 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3059 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3060 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3061 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3062 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3063 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3064 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3065 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3066 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3067 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3068 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3069 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3070 from module.
3071 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3072 prefix_end.
3073 (image_targets): Likewise.
3074 (generate_image): Put prefix as a module.
3075
39705fad
VS
30762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Replace grub_module_iterate with FOR_MODULES.
3079
3080 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3081 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3082 (grub_efi_modules_addr): ...this.
3083 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3084 (grub_efi_init): Set grub_modbase.
3085 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3086 (grub_modbase): New variable.
3087 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3088 (grub_modbase): New variable.
3089 (grub_machine_init): Set grub_modbase.
3090 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3091 (grub_modbase): New variable.
3092 (grub_machine_init): Set grub_modbase.
3093 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3094 (grub_modbase): New variable.
3095 (grub_machine_init): Set grub_modbase.
3096 * grub-core/kern/main.c (grub_module_iterate): Remove.
3097 (grub_modules_get_end): Use grub_modbase.
3098 (grub_load_modules): Use FOR_MODULES.
3099 (grub_load_config): Likewise.
3100 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3101 (grub_modbase): New variable.
3102 (grub_machine_init): Set grub_modbase.
3103 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3104 (grub_modbase): New variable.
3105 (grub_machine_init): Set grub_modbase.
3106 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3107 Removed.
3108 (grub_modbase): New variable.
3109 (grub_machine_init): Set grub_modbase.
3110 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3111 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3112 (grub_module_iterate): Likewise.
3113 (grub_modbase): New variable declaration.
3114 (FOR_MODULES): New macro.
3115
2afb7f6c
VS
31162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3119 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3120
366e34fa
VS
31212011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 Fix few obvious type discrepancies.
3124
3125 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3126 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3127 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3128 variable.
3129 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3130 and connected types.
3131 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3132 offset.
3133 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3134 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3135 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3136 and connected types.
3137
177b960e
VS
31382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 Fix python 3.x incompatibilities.
3141
3142 * gentpl.py: Put brackets around print strings.
3143 * util/import_gcry.py: Open explicitly as utf-8.
3144 Use in instead of has_key.
3145
3b619ae1
VS
31462011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3149 (GRUB_XFS_INO_AGBITS): Make into inline function.
3150 (GRUB_XFS_INO_INOINAG): Likewise.
3151 (GRUB_XFS_INO_AG): Likewise.
3152 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3153 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3154 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3155 (GRUB_XFS_EXTENT_SIZE): Likewise.
3156 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3157 (GRUB_XFS_NEXT_DIRENT): Likewise.
3158 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3159 (grub_xfs_read_file): Fix offset type.
3160
8bcebcb8
RM
31612011-10-15 Robert Millan <rmh@gnu.org>
3162
3163 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3164
0017e5ef
RM
31652011-10-15 Robert Millan <rmh@gnu.org>
3166
3167 Fix build problem on FreeBSD and GNU/kFreeBSD.
3168
3169 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3170
d8919552
VS
31712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3174
3175 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3176 types.
3177 (grub_hfsplus_btree_recoffset): Likewise.
3178 (grub_hfsplus_btree_recptr): Likewise.
3179 (grub_hfsplus_find_block): Likewise.
3180 (grub_hfsplus_btree_search): Likewise.
3181 (grub_hfsplus_read_block): Likewise.
3182 (grub_hfsplus_read_file): Likewise.
3183 (grub_hfsplus_mount): Likewise.
3184 (grub_hfsplus_btree_iterate_node): Likewise.
3185 (grub_hfsplus_btree_search): Likewise.
3186 (grub_hfsplus_iterate_dir): Likewise.
3187 (grub_hfsplus_read): A small code simplification.
3188
c81296b6
VS
31892011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/kern/emu/hostdisk.c
3192 (convert_system_partition_to_system_disk): Don't assume that children
3193 of mapper nodes are mapper nodes.
3194
0eb8ffb1
VS
31952011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3198 * include/grub/misc.h (grub_isxdigit): New function.
3199 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3200 switched to grub_isxdigit.
3201 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3202 number starting with a letter.
3203
a98f4a08
RM
32042011-10-09 Robert Millan <rmh@gnu.org>
3205
3206 LVM support for FreeBSD and GNU/kFreeBSD.
3207
3208 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3209 GNU/kFreeBSD.
3210 (LVM_DEV_MAPPER_STRING): Move from here ...
3211 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3212 * util/getroot.c: Include `<grub/util/lvm.h>'.
3213 (grub_util_get_dev_abstraction): Enable
3214 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3215 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3216 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3217 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3218 support it.
3219 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3220 GNU/kFreeBSD.
3221 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3222 when LVM abstraction is required for ${GRUB_DEVICE}.
3223
050e8e90
SJ
32242011-10-06 Szymon Janc <szymon@janc.net.pl>
3225
3226 Add support for LZO compression in GRUB:
3227 - import of minilzo library,
3228 - LZO decompression for btrfs,
3229 - lzop files decompression.
3230
3231 * grub-core/io/lzopio.c: New file.
3232 * grub-core/lib/adler32.c: Likewise.
3233 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3234 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3235 * grub-core/lib/minilzo/minilzo.c: Likewise.
3236 * grub-core/lib/minilzo/minilzo.h: Likewise.
3237 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3238 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3239 grub-core/lib/minilzo/minilzo.c to common.
3240 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3241 cflags in cppflags.
3242 * grub-core/Makefile.core.def (btrfs): Likewise.
3243 * grub-core/Makefile.core.def (lzopio): New module.
3244 (adler32): Likewise.
3245 * grub-core/fs/btrfs.c: Include minilzo.h.
3246 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3247 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3248 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3249 (grub_btrfs_lzo_decompress): New function.
3250 (grub_btrfs_extent_read): Add support for LZO compression type.
3251 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3252 (GRUB_USHRT_MAX): Likewise.
3253 (GRUB_UINT_MAX): Likewise.
3254 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3255 (UINT_MAX): Likewise.
3256 (CHAR_BIT): Likewise.
3257 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3258 grub-core/lib/posix_wrap/limits.h
3259 (UCHAR_MAX): Likewise.
3260 * include/grub/file.h (grub_file_filter_id): New compression filter
3261 GRUB_FILE_FILTER_LZOPIO.
3262 * include/grub/file.h (grub_file_filter_id): Set
3263 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3264 * include/grub/types.h (grub_get_unaligned16): New function.
3265 (grub_get_unaligned32): Likewise.
3266 (grub_get_unaligned64): Likewise.
3267 * util/import_gcry.py (cryptolist): Add adler32.
3268
0eb8ffb1
VS
32692011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3272 in perspective decreases the complexity of build system and fixes
3273 compilation right now.
3274
ce79cc99 32752011-10-01 Ales Nesrsta <starous@volny.cz>
3276
3277 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3278 (fixed problem related to using UHCI with coreboot).
3279
8667a314
BC
32802011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3281
3282 * gentpl.py: Use Autogen macros so that the output template file
3283 (Makefile.tpl) size is reduced.
3284
fc5efcc0
MK
32852011-09-29 Mads Kiilerich <mads@kiilerich.com>
3286
3287 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3288 extra_dist.
3289
d1ab689d
ML
32902011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3291
3292 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3293 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3294
c05de032
ML
32952011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3296
3297 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3298 _fullpath.
3299
cca7ccd8
ML
33002011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3301
3302 Remove extra declaration of sleep for mingw32.
3303
3304 * util/misc.c (sleep) [__MINGW32__]: Removed.
3305 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3306
e0b0dc83
GS
33072011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3308
3309 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3310 type and packname.
3311 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3312 Resurrected.
3313 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3314 (grub_netbsd_btinfo_bootwedge): New struct.
3315 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3316 New function.
3317 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3318
91a1a164
TH
33192011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3320
3321 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3322 loader.
3323
2ded951e
AB
33242011-09-28 Andreas Born <futur.andy@googlemail.com>
3325
3326 Fix incorrect identifiers in bash-completion.
3327
3328 * util/bash-completion.d/grub-completion.bash.in
3329 (_grub_mkpasswd-pbkdf2): Rename to ...
3330 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3331 (_grub_script-check): Rename to ...
3332 (_grub_script_check): ... this. All users updated.
3333
69915030
VS
33342011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3337 Return 0 if disk isn't biosdisk.
3338
20fd15f9
GS
33392011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3340
3341 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3342 on NetBSD.
3343 * Makefile.util.def (grub-fstest): Likewise.
3344
1a7d7db9
GS
33452011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3346
3347 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3348 Get sector size from disk label.
3349
2221ab6c
CW
33502011-09-05 Colin Watson <cjwatson@ubuntu.com>
3351
3352 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3353 */README* as well as README*.
3354 Reported by: Axel Beckert.
3355
ca51c4a0
VS
33562011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3359 case of less than 256 MiB of RAM.
3360
ab80f326
VS
33612011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/commands/wildcard.c (make_regex): Handle @.
3364
4155e697
VS
33652011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3368
ab178c08
SJ
33692011-08-21 Szymon Janc <szymon@janc.net.pl>
3370
3371 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3372 AC_LANG_CONFTEST macros.
3373
7dc3c686
SJ
33742011-08-20 Szymon Janc <szymon@janc.net.pl>
3375
3376 Add grub-fstest option to uncompress data for commands.
3377
3378 * util/grub-fstest.c (uncompress): New var.
3379 (options): New option -u.
3380
fe8d4a7b
SJ
33812011-08-20 Szymon Janc <szymon@janc.net.pl>
3382
3383 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3384 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3385
a5219af1
SJ
33862011-08-20 Szymon Janc <szymon@janc.net.pl>
3387
3388 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3389 file type was not recognized correctly (not gzip or corrupted).
3390
f87abff5
VS
33912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3394 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3395
d94497ea
VS
33962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3399 loongson.
3400 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3401 video_radeon_fuloong2e.
3402 * grub-core/video/radeon_fuloong2e.c: New file.
3403 * include/grub/video.h (grub_video_id_t): Add new ID
3404 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3405
0d1fd011
VS
34062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3409 define.
3410 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3411 that PRID matches the detected subplatform and reset the subplatform
3412 if it doesn't.
3413
84beb0ee
VS
34142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3417
1227c133
VS
34182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 Fix PCI iterating on functions >= 4.
3421
3422 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3423 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3424 Removed.
3425 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3426 (grub_pci_read): Fix bitmask.
3427 (grub_pci_read_word): Likewise.
3428 (grub_pci_read_byte): Likewise.
3429 (grub_pci_write): Likewise.
3430 (grub_pci_write_word): Likewise.
3431 (grub_pci_write_byte): Likewise.
3432
9594c689
VS
34332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3436 can still be specified in TARGET_CFLAGS)
3437
14a2562c
VS
34382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3441
3442 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3443 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3444 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3445 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3446 (FULOONG): Rename to ...
3447 (FULOONG2F): ... this. All users updated.
3448 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3449 (machtype_fuloong2f_str): ... this.
3450 (machtype_fuloong2e_str): New string.
3451 Check for machtype_fuloong2e_str.
3452 * grub-core/loader/mips/linux.c (loongson_machtypes)
3453 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3454 * grub-core/term/serial.c (loongson_defserial)
3455 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3456 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3457 loongson_defserial.
3458 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3459 Rename to ...
3460 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3461 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3462 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3463 to IMAGE_FULOONG2F_FLASH. All users updated.
3464 (image_targets): Rename images.
3465 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3466
b526cbb6
SJ
34672011-08-19 Szymon Janc <szymon@janc.net.pl>
3468
3469 Make enable of disk cache statistics code configurable.
3470
3471 * configure.ac: --enable-cache-stats added.
3472 * config.h.in (DISK_CACHE_STATS): New define.
3473 * grub-core/Makefile.core.def (cacheinfo): New command.
3474 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3475 * grub-core/commands/cacheinfo.c: New file.
3476 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3477 moved to cacheinfo.c.
3478 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3479 debug code.
3480 * include/grub/disk.h: Likewise.
3481
fb739ccd
SJ
34822011-08-19 Szymon Janc <szymon@janc.net.pl>
3483
3484 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3485 * grub-core/Makefile.am: Likewise.
3486
2bba8cfd
VS
34872011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3490 non-zero pull.
3491
43526629
VS
34922011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3495 All users updated.
3496 (grub_jfs_lookup_symlink): Use correct starting inode.
3497
5c144cc8
VS
34982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * util/grub-setup.c (main): Add missing gcry initialisation.
3501
b1257f65
VS
35022011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Don't accept text modes on EFI when booting Linux.
3505
3506 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3507 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3508
828bc390
ML
35092011-08-15 Mario Limonciello <mario_limonciello@dell.com>
35102011-08-15 Colin Watson <cjwatson@ubuntu.com>
3511
3512 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3513 use of "/path/.." as in grub-install for EFI as well as handling
3514 symlinks correctly.
3515 Fixes Debian bug #637768.
3516
5f60ccac
CW
35172011-08-15 Colin Watson <cjwatson@ubuntu.com>
3518
3519 * util/grub-probe.c: Remove duplicate #include.
3520
6dc212f9
RM
35212011-08-10 Robert Millan <rmh@gnu.org>
3522
3523 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3524
3525 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3526 function.
3527 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3528 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3529
66816d85
RM
35302011-08-03 Robert Millan <rmh@gnu.org>
3531
3532 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3533 la_array as packed.
3534 Reported by: Zachary Bedell
3535
20168fca
CW
35362011-07-26 Colin Watson <cjwatson@ubuntu.com>
3537
3538 * configure.ac: The Loongson port requires grub-mkfont due to its
3539 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3540 be built.
3541
303b6246
CW
35422011-07-26 Colin Watson <cjwatson@ubuntu.com>
3543
3544 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3545 processing arguments (otherwise help2man fails when GRUB has not yet
3546 been installed).
3547
6795300e
VS
35482011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3549
41aa28ea
VS
3550 New script grub-mkstandalone.
3551
3552 * Makefile.util.def (grub-mkstandalone): New script.
3553 * docs/man/grub-mkstandalone.h2m: New file.
3554 * util/grub-mkstandalone.in: Likewise.
3555
35562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Support ATA disks with 4K sectors.
6795300e
VS
3559
3560 * include/grub/ata.h (grub_ata): New member log_sector_size.
3561 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3562 (grub_ata_identify): Read sector size.
3563 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3564
92227597
VS
35652011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * util/grub-install.in: Don't use uhci outside of x86.
3568
c77069f5
VS
35692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-mkrescue.in: Add missing quotes.
3572
35732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3574
3575 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3576 dereference.
3577
583168a2
VS
35782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3581
6be1c01f
VS
35822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * include/grub/video.h: add missing EXPORT_FUND on
3585 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3586
a1167439
VS
35872011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * include/grub/mips/kernel.h: Fix define conflict.
3590
bf66054f
VS
35912011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3594 all four ways.
3595
8fc4fa45
CW
35962011-07-21 Colin Watson <cjwatson@ubuntu.com>
3597
3598 Preferred resolution detection for VBE.
3599
3600 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3601 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3602 the Flat Panel extension, in line with the X.org VESA driver.
3603 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3604 New function.
3605 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3606 (grub_vbe_bios_read_edid): Likewise.
3607 (grub_vbe_get_preferred_mode): Likewise.
3608 (grub_video_vbe_setup): When the mode is "auto", try to get the
3609 preferred mode from VBE, and use the largest mode that is no larger
3610 than the preferred mode (some BIOSes expose a preferred mode that is
3611 not in their mode list!). If this fails, fall back to 640x480 as a
3612 safe conservative choice.
3613 (grub_video_vbe_get_edid): New function.
3614 (grub_video_vbe_adapter): Add get_edid.
3615 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3616 (struct grub_video_adapter): Add get_edid.
3617 (grub_video_edid_checksum): Add prototype.
3618 (grub_video_edid_preferred_mode): Likewise.
3619 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3620 structure.
3621
3622 * grub-core/commands/videoinfo.c (print_edid): New function.
3623 (grub_cmd_videoinfo): Print EDID if available.
3624
3625 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3626 is more appropriate on a wider range of platforms than 640x480.
3627 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3628 documentation.
3629
ca5572a9
VS
36302011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3633
e4bcf625
VS
36342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * po/POTFILES.in: Regenerate.
3637
c4edd548
VS
36382011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3641 incorrect memory usage.
3642
16a2bab0
VS
36432011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * util/grub-install.in: Source grub-mkconfig_lib.
3646
2e418de6
VS
36472011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Remove getroot.c from core on emu platform.
3650
3651 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3652 kern/emu/raid.c.
3653 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3654 useless.
3655 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3656 * util/getroot.c (get_win32_path): ... here.
3657 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3658 * util/getroot.c (fini_libzfs): ... here.
3659 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3660 * util/getroot.c (grub_get_libzfs_handle): ... here.
3661 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3662 Moved from here...
3663 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3664 * grub-core/kern/emu/misc.c
3665 (grub_make_system_path_relative_to_its_root): Moved from here...
3666 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3667 * grub-core/kern/emu/getroot.c: Moved from here ...
3668 * util/getroot.c: ... here. All users updated.
3669 * grub-core/kern/emu/raid.c: Moved from here ...
3670 * util/raid.c: ... here. All users updated.
3671
def9832a
VS
36722011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * po/POTFILES.in: Regenerate.
3675
cd8fe79a
VS
36762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 Fix compilation on GNU/Linux.
3679
3680 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3681 Disable geli.
3682 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3683 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3684 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3685
a251b719
VS
36862011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
36872011-07-07 Michael Gorven <michael@gorven.za.net>
36882011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3689
3690 LUKS and GELI support.
3691
3692 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3693 grub-core/disk/luks.c, grub-core/disk/geli.c,
3694 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3695 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3696 grub-core/lib/arg.c.
3697 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3698 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3699 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3700 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3701 (grub-bin2h): Add libgcry.a.
3702 (grub-mkimage): Likewise.
3703 (grub-mkrelpath): Likewise.
3704 (grub-script-check): Likewise.
3705 (grub-editenv): Likewise.
3706 (grub-mkpasswd-pbkdf2): Likewise.
3707 (grub-pe2elf): Likewise.
3708 (grub-fstest): Likewise.
3709 (grub-mkfont): Likewise.
3710 (grub-mkdevicemap): Likewise.
3711 (grub-probe): Likewise.
3712 (grub-ofpath): Likewise.
3713 (grub-mklayout): Likewise.
3714 (example_unit_test): Likewise.
3715 (grub-menulst2cfg): Likewise.
3716 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3717 * grub-core/Makefile.core.def (cryptodisk): New module.
3718 (luks): Likewise.
3719 (geli): Likewise.
3720 * grub-core/disk/AFSplitter.c: New file.
3721 * grub-core/disk/cryptodisk.c: Likewise.
3722 * grub-core/disk/geli.c: Likewise.
3723 * grub-core/disk/luks.c: Likewise.
3724 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3725 grub_util_is_lvm.
3726 (grub_util_get_dm_abstraction): New function.
3727 (grub_util_follow_gpart_up): Likewise.
3728 (grub_util_get_geom_abstraction): Likewise.
3729 (grub_util_get_dev_abstraction): Use new functions.
3730 (grub_util_pull_device): Pull GELI and LUKS.
3731 (grub_util_get_grub_dev): Handle LUKS and GELI.
3732 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3733 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3734 (follow_geom_up): Removed.
3735 (grub_util_fd_seek): New function.
3736 (open_device): Use grub_util_fd_seek.
3737 (nread): Rename to ..
3738 (grub_util_fd_read): ... this. All users updated.
3739 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3740 (grub_crypto_cbc_decrypt): Likewise.
3741 (grub_crypto_hmac_write): Likewise.
3742 (grub_crypto_hmac_buffer): Likewise.
3743 (grub_password_get): Extend to util.
3744 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3745 New member modname.
3746 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3747 * include/grub/cryptodisk.h: New file.
3748 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3749 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3750 LUKS and GELI.
3751 (grub_util_follow_gpart_up): New proto.
3752 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3753 (grub_util_fd_read): Likewise.
3754 (grub_cryptodisk_cheat_mount): Likewise.
3755 (grub_util_cryptodisk_print_uuid): Likewise.
3756 (grub_util_get_fd_sectors): Likewise.
3757 * util/grub-fstest.c (mount_crypt): New var.
3758 (fstest): Mount crypto if requested.
3759 (options): New option -C.
3760 (argp_parser): Parse -C.
3761 (main): Init and fini gcry.
3762 * util/grub-install.in: Support cryptodisk install.
3763 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3764 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3765 cryptodisk.
3766 (prepare_grub_to_access_device): Likewise.
3767 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3768 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3769 (probe_cryptodisk_uuid): New function.
3770 (probe_abstraction): Likewise.
3771 (probe): Use new functions.
3772 * util/import_gcry.py: Create Makefile.utilgcry.def.
3773 Add modname member.
3774
9bfdcbbc
VS
37752011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Lazy device scanning.
3778
3779 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3780 (grub-setup): Remove util/raid.c.
3781 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3782 * grub-core/disk/lvm.c (scan_depth): New variable.
3783 (grub_lvm_iterate): Rescan if necessary.
3784 (find_lv): New function based on grub_lvm_open.
3785 (grub_lvm_open): Use find_lv. Rescan on error.
3786 (is_node_readable): New function.
3787 (is_lv_readable): Likewise.
3788 (grub_lvm_scan_device): Skip already found disks.
3789 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3790 Stop if searched device is found and readable.
3791 * grub-core/disk/raid.c (inscnt): New variable.
3792 (scan_depth): Likewise.
3793 (scan_devices): New function based on grub_raid_register. Abort if
3794 looked for device is found.
3795 (grub_raid_iterate): Rescan if needed.
3796 (find_array): NEw function based on -grub_raid_open.
3797 (grub_raid_open): Use find_array and rescan.
3798 (insert_array): Set became_readable_at.
3799 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3800 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3801 New function.
3802 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3803 (grub_util_pull_device): New function.
3804 (grub_util_get_grub_dev): Call grub_util_pull_device.
3805 * util/raid.c: Moved to ..
3806 * grub-core/kern/emu/raid.c: ... here.
3807 (grub_util_raid_getmembers): New parameter "bootable".
3808 All users updated. Support 1.x.
3809 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3810 All users updated.
3811 * include/grub/disk.h (grub_disk_pull_t): New enum.
3812 (grub_disk_dev): Change iterate prototype.
3813 All users updated.
3814 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3815 New proto.
3816 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3817 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3818 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3819 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3820 All users updated.
3821 * include/grub/util/raid.h: Removed.
3822
1c358e59
VS
38232011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * po/POTFILES.in: Regenerate.
3826
abee94ed
VS
38272011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Unify sparc init with other ieee1275.
3830
3831 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3832 instead of kern/sparc64/ieee1275/init.c.
3833 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3834 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3835 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3836 grub/machine/kernel.h.
3837 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3838 (grub_claim_heap) [__sparc__]: Use sparc version.
3839 (grub_machine_init): Moved args parsing to
3840 (grub_parse_cmdline): ...this.
3841 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3842 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3843 New definition.
3844 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3845
3846 Move BOOTP to separate file.
3847
3848 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3849 * grub-core/net/net.c: Move all BOOTP functions to
3850 * grub-core/net/bootp.c: ... here.
3851
3852 Use frame interface on PXE.
3853
3854 * grub-core/Makefile.core.def (pxecmd): Removed.
3855 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3856 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3857 * grub-core/i386/pc/pxe.c: Moved from here ...
3858 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3859 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3860 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3861
3862 EFI network support.
3863
3864 * grub-core/Makefile.core.def (efinet): New module.
3865 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3866 here...
3867 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3868 All users updated.
3869 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3870 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3871 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3872 * grub-core/net/drivers/efi/efinet.c: New file.
3873 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3874 (grub_efi_net_config): New extern var.
3875
3876 Various cleanups and bugfixes.
3877
3878 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3879 error.
3880 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3881 disk declared as partition.
3882 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3883 leak on failure.
3884 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3885 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3886 (grub_debug_zalloc): Likewise.
3887 (grub_debug_realloc): Likewise.
3888 (grub_debug_memalign): Likewise.
3889 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3890 Check that target is IPv4.
3891 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3892 local-mac-address as fallback.
3893 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3894 memory leak.
3895 * grub-core/net/ip.c (ipchksum): Rename to ...
3896 (grub_net_ip_chksum): ... this. All users updated.
3897 (grub_net_recv_ip_packets): Special handling for DHCP.
3898 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3899
3900 Unify prefix handling
3901
3902 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3903 (grub_machine_get_bootlocation): ... this.
3904 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3905 (grub_machine_get_bootlocation): ... this.
3906 (grub_prefix): New variable.
3907 (prefix): Removed.
3908 (root_dev): New variable.
3909 (dir): Likewise.
3910 (main): Use new variables.
3911 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3912 Revamped into ...
3913 (grub_machine_get_bootlocation): ... this.
3914 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3915 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3916 (grub_machine_get_bootlocation): ... this.
3917 (grub_machine_set_prefix): Removed.
3918 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3919 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3920 Revamped into ...
3921 (grub_machine_get_bootlocation): ... this.
3922 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3923 (grub_set_prefix_and_root): ... this. All users updated.
3924 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3925 Revamped into ...
3926 (grub_machine_get_bootlocation): ... this.
3927 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3928 (grub_machine_get_bootlocation): New proto.
3929 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3930
3931 Less intrusive and more reliable seek on network implementation.
3932
3933 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3934 (grub_file_seek): Don't call grub_file_net_seek.
3935 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3936 (grub_net_fs_read_real): .. this.
3937 (grub_net_seek_real): Use net->offset.
3938 (grub_net_fs_read): Seek if necessary.
3939
3940 Unify IEEE1275 netwotk config with the other platforms.
3941
3942 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3943 New variable.
3944 (grub_machine_get_bootlocation): Support network.
3945 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3946 Support type and device parsing.
3947 (grub_ieee1275_get_device_type): New function.
3948 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3949 into ...
3950 (grub_ieee1275_net_config_real): ... this.
3951 (grub_ofnet_probecards): Removed.
3952 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3953 * include/grub/ieee1275/ofnet.h: Removed.
3954 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3955 extern var.
3956 (grub_ieee1275_get_device_type): New function.
3957
3958 Unify network device closing across platforms and make more robust.
3959
3960 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3961 grub_grubnet_fini.
3962 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3963 already.
3964 * grub-core/net/net.c (grub_net_network_level_interface_register):
3965 Update num_ifaces.
3966 (grub_net_card_unregister): Close all interfaces.
3967 (receive_packets): Don't poll if no iterfaces are registered.
3968 Open if necessary.
3969 (grub_net_fini_hw): New function.
3970 (grub_net_restore_hw): Likewise.
3971 (fini_hnd): New variable.
3972 (GRUB_MOD_INIT): Register preboot hook.
3973 (GRUB_MOD_FINI): Run and unregister preboot hook.
3974
3975 Poll network cards when idle.
3976
3977 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3978 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3979 * grub-core/net/net.c (receive_packets): Save last poll time.
3980 (grub_net_poll_cards_idle_real): New function.
3981 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3982 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3983 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3984
3985 Rename ofnet interfaces.
3986
3987 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3988 (grub_ofnet_findcards): Use ofnet_%s names.
3989
3990 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3991
3992 Cleanup socket opening.
3993
3994 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3995 (grub_net_fs_close): Likewise.
3996 (grub_net_fs_read_real): Use eof member.
3997 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3998 (+grub_net_udp_close): New inline function.
3999
4000 * include/grub/net/tftp.h: Moved to the top of ...
4001 * grub-core/net/tftp.c: ... here.
4002 * include/grub/net/ip.h: Moved mostly to the top of ...
4003 * grub-core/net/ip.c: ... here.
4004 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4005 * grub-core/net/ethernet.c: ... here.
4006
4007 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4008
4009 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4010 FS name.
4011
4012 * include/grub/net/ip.h (ipv4_ini): Removed.
4013 (ipv4_fini): Likewise.
4014
4015 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4016 (grub_net_send_ip_packets): Likewise.
4017
cf1337aa
VS
40182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4021 grub_read_cmos prototype.
4022
93c06ff9
VS
40232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 VGA text support in qemu-mips
4026
4027 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4028 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4029 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4030 text.
4031 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4032 * grub-core/kern/vga_init.c: ... this.
4033 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4034 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4035 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4036 Adjust.
4037 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4038 GRUB_MACHINE_PCI_IO_BASE.
4039
748ccabe
VS
40402011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 MIPS qemu flash support.
4043
4044 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4045 magic.
4046 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4047 (grub_machine_init): Probe memory if its size isn't known.
4048 * util/grub-mkimage.c (image_targets): Add flash targets.
4049 (generate_image): Handle flash targets.
4050
d7345994
VS
40512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 MIPS qemu at_keyboard support.
4054
4055 * gentpl.py (videoinkernel): Add qemu-mips.
4056 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4057 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4058 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4059 modules.
4060 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4061 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4062 * grub-core/term/serial.c (grub_serial_register)
4063 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4064
a07a81b3
VS
40652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 CMOS support on sparc.
4068
4069 * gentpl.py (cmos): Add powerpc and sparc.
4070 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4071 powerpc and sparc.
4072 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4073 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4074 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4075 grub_set_datetime_cmos.
4076 * grub-core/lib/ieee1275/cmos.c: New file.
4077 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4078 (find_rtc): Set no_ieee1275_rtc on error.
4079 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4080 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4081 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4082 fail. Move value to argument. All users updated
4083 (grub_cmos_write): Likewise.
4084 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4085 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4086 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4087 grub_get_datetime_cmos and grub_set_datetime_cmos.
4088
77546584
GS
40892011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4090
4091 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4092 sourcing grub-mkconfig_lib.
4093 * util/update-grub_lib.in: Likewise.
4094 * util/grub.d/00_header.in: Likewise.
4095 * util/grub.d/10_hurd.in: Likewise.
4096 * util/grub.d/10_kfreebsd.in: Likewise.
4097 * util/grub.d/10_linux.in: Likewise.
4098 * util/grub.d/10_netbsd.in: Likewise.
4099 * util/grub.d/10_windows.in: Likewise.
4100 * util/grub.d/20_linux_xen.in: Likewise.
4101 * util/grub.d/30_os-prober.in: Likewise.
4102
54894791
CW
41032011-06-28 Colin Watson <cjwatson@ubuntu.com>
4104
4105 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4106 default_bg_color rather than black.
4107 (grub_gfxterm_fullscreen): Likewise.
4108 (grub_gfxterm_background_color_cmd): Save new background color in
4109 default_bg_color.
4110
8d5d8444
VS
41112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4114
5afeb5bd
VS
41152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4118 mismerge.
4119
ba7df45e
VS
41202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 Chainloading on coreboot support.
4123
4124 * grub-core/Makefile.core.def (chain): Add coreboot.
4125 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4126
d0b526b2
VS
41272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4130 if it happens.
4131
5ff1d945
VS
41322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 Implement time command.
4135
4136 * grub-core/Makefile.core.def (time): New module.
4137 * grub-core/commands/time.c: New file.
4138 * grub-core/script/parser.y: Remove "time" keyword.
4139 * grub-core/script/yylex.l: Likewise.
4140
5ebaad7e
VS
41412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4144
bdea3798
VS
41452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4148 when handling leftovers.
4149
b28c5655
VS
41502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4153 so that help2man doesn't fail.
4154
b6f945dc
VS
41552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4158 type in pointers on sparc64.
4159 (get_card_packet): Likewise.
4160
f9b75e8a
CW
41612011-06-27 Colin Watson <cjwatson@ubuntu.com>
4162
4163 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4164 with `*'.
4165 (grub_cmd_videoinfo): Fetch current video mode.
4166
1e3d9b86
VS
41672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4170 because of underlying system restrictions.
4171
efff4b1c
VS
41722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4175 necessary.
4176
9fc9ce37
VS
41772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Coreboot video support.
4180
4181 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4182 (vbe): Likewise.
4183 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4184 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4185 here ...
4186 * grub-core/kern/i386/int.S: ... here.
4187 * grub-core/video/i386/pc/vbe.c: Updated includes.
4188 * grub-core/video/i386/pc/vga.c: Likewise.
4189 * include/grub/i386/coreboot/memory.h
4190 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4191 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4192 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4193 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4194 Disable interrupts.
4195 * include/grub/i386/pc/vga.h: Removed. All users updated.
4196
41bec7fe
VS
41972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4200 definitions for dprintf.
4201 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4202
ca80309d
VS
42032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4206 prototype.
4207 (get_card_packet): Likewise.
4208
9e322ce8
YB
42092011-06-26 Yves Blusseau <blusseau@zetam.org>
4210
4211 Display the path of the file when file is not found
4212
4213 * grub-core/fs/fat.c: Display the filename when file is not found.
4214 * grub-core/fs/fshelp.c: Likewise.
4215 * grub-core/fs/hfs.c: Likewise.
4216 * grub-core/fs/jfs.c: Likewise.
4217 * grub-core/fs/minix.c: Likewise.
4218 * grub-core/fs/ufs.c: Likewise.
4219 * grub-core/fs/btrfs.c: Likewise.
4220 * grub-core/commands/i386/pc/play.c: Likewise.
4221
cbf597af
SJ
42222011-06-26 Szymon Janc <szymon@janc.net.pl>
4223
4224 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4225 pointer checks before calling grub_free().
4226 * grub-core/commands/wildcard.c (match_devices): Likewise.
4227 * grub-core/commands/wildcard.c (match_files): Likewise.
4228 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4229 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4230 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4231 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4232 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4233 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4234 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4235 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4236 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4237
6295b32f
P
42382011-06-25 Patrick <p55@mailinator.com>
4239
4240 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4241
77c0840b
VS
42422011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4245 (grub_pxe_send): Likewise.
4246 (GRUB_MOD_INIT): Fix types.
4247
40ea05de
SJ
42482011-06-24 Szymon Janc <szymon@janc.net.pl>
4249
4250 * grub-core/io/xzio.c: Fix code style issues
4251
90162423
MRA
42522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
42532011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4254
4255 Network infrastructure.
4256 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4257
4258 * include/grub/net/arp.h: New file.
90162423
MRA
4259 * include/grub/net/device.h: Likewise.
4260 * include/grub/net/ethernet.h: Likewise.
4261 * include/grub/net/ip.h: Likewise.
4262 * include/grub/net/netbuff.h: Likewise.
4263 * include/grub/net/tftp.h: Likewise.
4264 * include/grub/net/udp.h: Likewise.
4265 * include/grub/ieee1275/ofnet.h: Likewise.
4266 * include/grub/emu/export.h: Likewise.
4267 * include/grub/net.h: Likewise.
4268 * grub-core/net/arp.c: Likewise.
4269 * grub-core/net/ethernet.c: Likewise.
4270 * grub-core/net/ip.c: Likewise.
4271 * grub-core/net/udp.c: Likewise.
4272 * grub-core/net/tftp.c: Likewise.
4273 * grub-core/net/netbuff.c: Likewise.
4274 * grub-core/net/net.c: Likewise.
4275 * grub-core/net/drivers/emu/emunet.c: Likewise.
4276 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4277 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4278 export.h.
4279 * grub-core/Makefile.core.def (net): New module.
4280 (tftp): Likewise.
4281 (ofnet): Likewise.
4282 (emunet): Likewise.
4283 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4284 network protocols.
4285 * grub-core/kern/device.c (grub_net_open) : New variable.
4286 (grub_device_open): Handle network device.
4287 (grub_device_close): Likewise.
4288 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4289 (grub_grubnet_fini): Likewise.
4290 (grub_file_seek): Seek in network device.
4291 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4292 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4293 network root.
4294 (grub_machine_fini): Call grub_grubnet_fini.
4295 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4296 network.
4297 (grub_ieee1275_get_aliasdevname): New function.
4298 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4299 Add unofficial Solaris network info.
4300 (grub_multiboot_make_mbi): Likewise.
4301 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4302 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4303 * include/grub/device.h (grub_fs): Removed.
4304 * include/grub/err.h (grub_err_t): Add network-related values.
4305 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4306 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4307 (grub_ieee1275_get_aliasdevname): New proto.
4308 * include/grub/net.h: Rewritten.
423a1849 4309
031f22a0
VS
43102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4313 names.
4314
4388ca72
VS
43152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4318 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4319 it truncates the output.
4320 Reported by: Ximin Luo.
4321
98e2f506
VS
43222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4325
2a5e94d8
VS
43262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4329 partmap before abstraction.
4330
535c1910
AK
43312011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4332
4333 * util/grub-mkconfig_lib.in: Add missing quotes.
4334
bc09e1a2
VS
43352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4338 old method if mountinfo would return /dev/root and /dev/root doesn't
4339 exist.
4340
290766fb
VS
43412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 ZFS zlib support
4344
4345 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4346 (decomp_table): Add zlib entries.
4347 (zio_read): USe 8 bits for compression function rather than 3.
4348 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4349
43502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/disk/ahci.c: Add missing license statements.
4353 * grub-core/fs/romfs.c: Likewise.
4354 * grub-core/lib/ia64/setjmp.S: Likewise.
4355 * grub-core/loader/i386/pc/freedos.c: Likewise.
4356 * grub-core/loader/ia64/efi/linux.c: Likewise.
4357 * grub-core/video/colors.c: Likewise.
4358 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4359
5ab3f48a
VS
43602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 AHCI support.
4363
4364 * grub-core/Makefile.core.def (ata_pthru): Removed.
4365 (ahci): New module.
4366 (pata): Likewise.
4367 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4368 on unload.
4369 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4370 readwrite.
4371 (grub_hdparm_do_check_powermode_cmd): Likewise.
4372 (grub_hdparm_do_smart_cmd): Likewise.
4373 (grub_hdparm_set_val_cmd): Likewise.
4374 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4375 * grub-core/disk/ahci.c: New file.
4376 * grub-core/disk/ata.c: Factor out the low-level part into ...
4377 * grub-core/disk/pata.c: ... here.
4378 * grub-core/disk/ata_pthru.c: Contents moved to ...
4379 * grub-core/disk/pata.c: ... here.
4380 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4381 (grub_scsi_iterate): Use grub_scsi_names.
4382 (grub_scsi_open): Likewise.
4383 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4384 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4385 (grub_ata_regs_t): New struct.
4386 (grub_disk_ata_pass_through_parms): Likewise.
4387 (grub_ata_device): Renamed to ...
4388 (grub_ata): ... this.
4389 (grub_ata_dev): New struct.
4390 Removed all low-level inline functions.
4391 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4392 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4393 iterate hooks and open. All users updated.
4394 * util/grub-install.in: Handle AHCI disk module.
4395
c31dc5f5
SJ
43962011-06-23 Szymon Janc <szymon@janc.net.pl>
4397
4398 Add support for DRI and RSTn markers in JPEG files.
4399
4400 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4401 (JPEG_MARKER_RST0): Likewise.
4402 (JPEG_MARKER_RST1): Likewise.
4403 (JPEG_MARKER_RST2): Likewise.
4404 (JPEG_MARKER_RST3): Likewise.
4405 (JPEG_MARKER_RST4): Likewise.
4406 (JPEG_MARKER_RST5): Likewise.
4407 (JPEG_MARKER_RST6): Likewise.
4408 (JPEG_MARKER_RST7): Likewise.
4409 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4410 (grub_jpeg_decode_dri): New function.
4411 (grub_jpeg_decode_sos): Move image data related part into
4412 grub_jpeg_decode_data function.
4413 (grub_jpeg_decode_data): New function.
4414 (grub_jpeg_reset): New function.
4415 (grub_jpeg_decode_jpeg): Handle new markers.
4416
fe12fd5b
VS
44172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * util/ieee1275/ofpath.c (check_sas): Close fd.
4420 (main): Free of_path.
4421 Reported by: David Volgyes <dvolgyes>.
4422
03147f46
VS
44232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4426 Reported by: David Volgyes <dvolgyes>.
4427
cad3237f
VS
44282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4431 file after stat.
4432 Reported by: David Volgyes <dvolgyes>.
4433
13548d26
VS
44342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4437
4438 Reported by: David Volgyes <dvolgyes>.
4439
e061a1b5
VS
44402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4443 Prevent memory leak.
4444
1abe47dc
VS
44452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4448 (main): Close file.
e061a1b5 4449 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4450
fbc62666
VS
44512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4454 to continue if allocation is failed.
4455
4456 Reported by: David Volgyes <dvolgyes>.
4457
e98c83e9
DV
44582011-06-23 David Volgyes <dvolgyes>
4459
4460 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4461 dereference.
4462
a199a8cd
VS
44632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 Fix spurious warning.
4466
4467 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4468 (acorn_partition_map_find): Use .bin member.
4469
e2d1dba0
VS
44702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4473 /dev/root as a valid device.
4474
8a5d6919
JM
44752011-06-23 Jim Meyering <meyering@redhat.com>
4476
e2d1dba0
VS
4477 Avoid NULL deref in grub_device_open.
4478
8a5d6919
JM
4479 * grub-core/kern/device.c (grub_device_open): Don't dereference
4480 a NULL pointer upon failed grub_env_get.
4481
f7db6f4a
VS
44822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 Support non-512B sectors and agglomerate reads.
4485
4486 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4487 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4488 (disk_io_guid): Removed.
4489 (make_devices): Locate solely by BlockIO.
4490 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4491 (grub_efidisk_read): Use read_blocks.
4492 (grub_efidisk_write): Use write_blocks.
4493 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4494 log_sector_size.
4495 (get_safe_sectors): Handle non-512B sectors.
4496 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4497 sectors.
4498 (grub_biosdisk_write): Handle non-512B sectors.
4499 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4500 (grub_scsi_read): Remove special non-512B block handling (now handled
4501 one level up).
4502 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4503 and do sanity checks.
4504 (grub_disk_adjust_range): Handle non-512B sectors.
4505 (transform_sector): New function.
4506 (grub_disk_read_small): Likewise.
4507 (grub_disk_read): Rewritten.
4508 (grub_disk_write): Handle non-512B sectors.
4509 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4510 log_sector_size.
4511 (open_device): Use log_sector_size.
4512 (grub_util_biosdisk_read): Likewise.
4513 (grub_util_biosdisk_write): Likewise.
4514 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4515 non-512B sectors.
4516 (pc_partition_map_embed): Likewise.
4517 * include/grub/disk.h (grub_disk): New field log_sector_size.
4518 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4519 (GRUB_DISK_CACHE_BITS): Increased to 6.
4520 * util/grub-fstest.c (fstest): New command testload.
4521 (argp_parser): Likewise.
4522
881ac815
RM
45232011-06-16 Robert Millan <rmh@gnu.org>
4524
4525 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4526 `ata' driver on kernel of FreeBSD 9.
4527
4528 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4529 (get_ataraid_disk_name): New functions.
4530 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4531 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4532 get_ataraid_disk_name() and get_ada_disk_name().
4533
1e9aef7d
CW
45342011-06-13 Colin Watson <cjwatson@ubuntu.com>
4535
4536 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4537 input format.
4538
351c7c8a
CW
45392011-05-29 Colin Watson <cjwatson@ubuntu.com>
4540
4541 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4542 `ftp.gnu.org' for `alpha.gnu.org'.
4543
6b4e6430
CW
45442011-05-27 Colin Watson <cjwatson@ubuntu.com>
4545
4546 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4547 partitions under /dev/disk/by-id/.
4548
c64db050
CW
45492011-05-27 Colin Watson <cjwatson@ubuntu.com>
4550
4551 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4552 after ten consecutive open failures. Scanning all the way up to
4553 10000 is excessive and can cause serious performance problems in
4554 some configurations.
4555 Fixes Ubuntu bug #787461.
4556
245f4aba
VS
45572011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4560 opening new one.
4561
f767c929
VS
45622011-05-21 Colin Watson <cjwatson@ubuntu.com>
45632011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 Don't stat devices unless we have to.
4566
4567 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4568 dir == /dev/mapper.
4569 (grub_guess_root_device): Use already known os_dev if possible.
4570 * grub-core/kern/emu/hostdisk.c
4571 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4572 if device is known to be a dm one.
4573
f35fa3a6
CW
45742011-05-20 Colin Watson <cjwatson@ubuntu.com>
4575
4576 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4577 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4578 Reported by: Pawel Tecza.
4579
9a79fcf2
VS
45802011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4583 (lsefisystab): Likewise.
4584 (lssal): Likewise.
4585 (lsefimmap): Likewise.
4586 (hdparm): Enable on qemu-mips.
4587 (setjmp): Add ia64 nodist.
4588 (serial): Simplify tags.
4589
63e3eea9
CW
45902011-05-18 Colin Watson <cjwatson@ubuntu.com>
4591
4592 * Makefile.util.def (grub-ofpathname): Install manual page.
4593
09728256
CW
45942011-05-18 Colin Watson <cjwatson@ubuntu.com>
4595
4596 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4597
8b63a142
CW
45982011-05-18 Colin Watson <cjwatson@ubuntu.com>
4599
4600 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4601
e775d8ed
VS
46022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4605 into dprintf.
4606
bf947d36
VS
46072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 Use full 64-bit division.
4610
4611 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4612 (grub_divmod64): ... this.
4613 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4614 version.
4615
b84f26c5
CW
46162011-05-18 Colin Watson <cjwatson@ubuntu.com>
4617
4618 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4619 `source'.
4620
5626056f
CW
46212011-05-18 Colin Watson <cjwatson@ubuntu.com>
4622
4623 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4624 to avoid accidents when debugging with 'sh -x'.
4625 * grub-core/gensyminfo.sh.in: Likewise.
4626 * tests/example_scripted_test.in: Likewise.
4627 * tests/grub_cmd_regexp.in: Likewise.
4628 * tests/grub_script_blanklines.in: Likewise.
4629 * tests/grub_script_dollar.in: Likewise.
4630 * tests/grub_script_expansion.in: Likewise.
4631 * tests/grub_script_final_semicolon.in: Likewise.
4632 * tests/partmap_test.in: Likewise.
4633 * tests/util/grub-shell-tester.in: Likewise.
4634 * tests/util/grub-shell.in: Likewise.
4635
e2965f4a
CW
46362011-05-18 Colin Watson <cjwatson@ubuntu.com>
4637
4638 Move gfxmenu color handling to video, so that gfxterm can use it
4639 too.
4640
4641 * grub-core/gfxmenu/named_colors.c: Move to ...
4642 * grub-core/video/colors.c: ... here. Rename
4643 grub_gui_get_named_color to grub_video_get_named_color.
4644 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4645 * grub-core/video/colors.c (my_isxdigit): ... here.
4646 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4647 Move to ...
4648 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4649 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4650 to ...
4651 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4652
4653 * include/grub/gui.h (grub_gui_color_t): Move to ...
4654 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4655 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4656 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4657 * include/grub/gui.h (grub_gui_map_color): Move to ...
4658 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4659 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4660 to ...
4661 * include/grub/video.h (grub_video_get_named_color): ... here.
4662 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4663 * include/grub/video.h (grub_video_parse_color): ... here.
4664
4665 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4666 video/colors.c.
4667 (gfxmenu): Remove gfxmenu/named_colors.c.
4668 (video) [videomodules]: Add video/colors.c.
4669
4670 Add a background_color command.
4671
4672 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4673 function.
4674 (GRUB_MOD_INIT): Register background_color command.
4675 (GRUB_MOD_FINI): Unregister background_color command.
4676 (redraw_screen_rect): Allow blend/replace of text layer to be
4677 controlled independently from whether there is a background bitmap.
4678 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4679 changing bitmap.
4680
1e4b4390
VS
46812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4682
26618ff0
VS
4683 Patch BPB in ntldr and chainloader --bpb.
4684
1e4b4390
VS
4685 * grub-core/fs/fat.c: Include grub/fat.h.
4686 (grub_fat_bpb): Moved to ...
4687 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4688 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4689 grub/ntfs.h.
4690 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4691 Moved from here...
4692 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4693 here.
4694 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4695 New function.
4696 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4697 (GRUB_MOD_INIT): Show --bpb.
4698 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4699 * grub-core/normal/main.c (features): New variable.
4700 (GRUB_MOD_INIT): Set feature_* variables.
4701 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4702 proto.
4703 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4704
cf02731e
VS
47052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4708 for cleanness.
4709
e3a1073f
VS
47102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 FreeDOS direct loading support.
4713
4714 * docs/grub.texi (Supported OS): Add FreeDOS.
4715 * grub-core/Makefile.core.def (freedos): New module.
4716 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4717 variable.
4718 (grub_relocator16_boot): Handle %ebx.
4719 * grub-core/lib/i386/relocator16.S: Likewise.
4720 * grub-core/loader/i386/pc/freedos.c: New file.
4721
05caa461
VS
47222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 Long Linux command line support.
4725
4726 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4727 (maximal_cmdline_size): New variable.
4728 (allocate_pages): Use maximal_cmdline_size.
4729 (grub_cmd_linux): Set and use maximal_cmdline_size.
4730 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4731 (allocate_pages): Use maximal_cmdline_size.
4732 (grub_cmd_linux): Set and use maximal_cmdline_size.
4733 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4734 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4735 and cmdline_size.
4736
a2491e23
VS
47372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
47382011-05-18 Colin Watson <cjwatson@ubuntu.com>
4739
4740 Improve devmapper support
4741
4742 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4743 (grub_util_is_lvm): New function.
4744 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4745 than lvm if not dmraid.
4746 Handle mapped md nodes.
4747 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4748 (grub_util_device_is_mapped): ... this. Make always available. All users
4749 updated.
4750 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4751 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4752 dmraid nodes.
4753 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4754
6ad6223e
VS
47552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4758
4759 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4760 * grub-core/modinfo.sh.in: New file.
4761 * grub-core/Makefile.core.def (modinfo.sh): New script.
4762 * util/grub-mknetdir.in: Use modinfo.sh.
4763 * util/grub-mkrescue.in: Likewise.
4764
543a8f6e
VS
47652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4768 Fix potential usage of Elf32 instead of Elf64 when compiling on
4769 32-bit architecture. Add endianness macros while on it.
4770
4959e111
VS
47712011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 Use mipsel- rather than mips- in directories involving mipsel ports to
4774 allow both endiannesses coexist.
4775
4776 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4777 mips. All conditions adjusted.
4778 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4779 variable.
4780 * util/grub-install.in: Adjust conditions to take renaming into account.
4781 * util/grub-mkimage.c (image_targets): Likewise. New target
4782 mips-qemu_mips-elf for bigendian mips.
4783
35341bbc
VS
47842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 Avoid unnecessary copying on MIPS.
4787
4788 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4789 early if src == dest.
4790 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4791 compression is none.
4792
b772baed
VS
47932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Reduce memory footprint on SGI by putting modules before the kernel
4796 as opposed to after.
4797
4798 * grub-core/Makefile.core.def (kernel): Increase linking address.
4799 (none_decompress): Likewise.
4800 (xz_decompress): Likewise.
4801 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4802 address.
4803 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4804 layout change.
4805 (grub_arch_modules_addr): New function.
4806 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4807 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4808 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4809 here.
4810 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4811 (grub_total_modules_size): ... this. Make global.
4812 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4813 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4814 New definition.
4815 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4816 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4817 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4818 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4819 * util/grub-mkimage.c (image_target_desc): New flag
4820 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4821 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4822 (generate_image): Handle images with modules before kernel.
4823
566a1917
VS
48242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Prevent potential loss of memory map by overwrite on qemu-mips.
4827
4828 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4829 Save ram size in $s4.
4830 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4831 All users changed to grub_arch_memsize.
4832 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4833 Loongson.
4834 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4835 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4836 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4837 external variable.
4838
5d420cd9
CW
48392011-05-17 Colin Watson <cjwatson@ubuntu.com>
4840
4841 * .bzrignore: Remove grub-dumpbios.
4842
d064b830
CW
48432011-05-17 Colin Watson <cjwatson@ubuntu.com>
4844
4845 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4846 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4847 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4848 existing options which append).
4849 * docs/grub.texi (Simple configuration): Document new options.
4850 Reported by: Ian Jackson. Fixes Debian bug #617538.
4851
3ca2b466
CW
48522011-05-17 Colin Watson <cjwatson@ubuntu.com>
4853
4854 * util/grub-fstest.c (cmd_cat): New function.
4855 (fstest): Handle CMD_CAT.
4856 (options): Add cat.
4857 (argp_parser): Handle cat.
4858
24c9143a
CW
48592011-05-17 Colin Watson <cjwatson@ubuntu.com>
4860
4861 * Makefile.util.def (grub-bin2h): Don't install.
4862 * docs/man/grub-bin2h.h2m: Remove.
4863
90f7ac19
VS
48642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4867 place.
4868
8d4a5178
VS
48692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Reenable qemu-mips port.
4872
4873 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4874 Fix small arc bug while on it.
4875 * gentpl.py: Handle qemu_mips.
4876 * grub-core/Makefile.am: Likewise.
4877 * grub-core/Makefile.core.def: Likewise.
4878 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4879 inappropriate includes.
4880 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4881 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4882 * grub-core/kern/main.c (grub_modules_get_end)
4883 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4884 * grub-core/kern/mips/qemu-mips: Moved to ..
4885 * grub-core/kern/mips/qemu_mips: ... this.
4886 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4887 (grub_machine_init): Call terminfo_init and serial_init.
4888 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4889 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4890 New variable.
4891 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4892 parameter passing.
4893 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4894 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4895 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4896 * include/grub/mips/qemu_mips/cmos.h: New file.
4897 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4898 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4899 Removed.
4900 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4901 Use correct mips-style address.
4902 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4903 (GRUB_TICKS_PER_SECOND): Removed.
4904 (grub_get_rtc): Likewise.
4905 (grub_cpu_idle): Likewise.
4906 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4907 New definition.
4908 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4909 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4910 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4911 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4912 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4913 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4914 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4915 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4916
400b9371
VS
49172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 SGI ARCS port.
4920
4921 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4922 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4923 platforms.
4924 * configure.ac: New target mips-arc.
4925 * gentpl.py: Likewise.
4926 * grub-core/Makefile.am: Likewise.
4927 * grub-core/Makefile.core.def: Likewise.
4928 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4929 (none_decompress): Likewise.
4930 (lsdev): New module.
4931 (datetime): Use lib/arc/datetime.c on ARC.
4932 (part_dvh): New module.
4933 * grub-core/commands/arc/lsdev.c: New file.
4934 * grub-core/disk/arc/arcdisk.c: Likewise.
4935 * grub-core/kern/mips/arc/init.c: Likewise.
4936 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4937 aligned addresses.
4938 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4939 support.
4940 (grub_arch_dl_relocate_symbols): Likewise.
4941 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4942 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4943 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4944 platforms.
4945 * grub-core/lib/arc/datetime.c: New file.
4946 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4947 pci.h on non-loongson.
4948 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4949 (grub_linux_boot): Set unused registers to 0.
4950 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4951 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4952 * grub-core/mmap/mips/uppermem.c: ...here.
4953 * grub-core/partmap/dvh.c: New file.
4954 * grub-core/term/arc/console.c: Likewise.
4955 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4956 (grub_terminfo_set_current): Add terminal "arc".
4957 (grub_terminfo_readkey): Support ARC sequences.
4958 * include/grub/arc/arc.h: New file.
4959 * include/grub/arc/console.h: Likewise.
4960 * include/grub/disk.h (grub_disk_dev_id): Add
4961 GRUB_DISK_DEVICE_ARCDISK_ID.
4962 * include/grub/mips/arc/kernel.h: New file.
4963 * include/grub/mips/arc/memory.h: Likewise.
4964 * include/grub/mips/arc/time.h: Likewise.
4965 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4966 * include/grub/mips/kernel.h (grub_halt): ... here.
4967 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4968 here...
4969 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4970 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4971 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4972 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4973 proto.
4974 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4975 from here ...
4976 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4977 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4978 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4979 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4980 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4981 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4982 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4983 (grub_phys_addr_t): Moved from here ...
4984 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4985 (grub_vtop): Moved from here ...
4986 * include/grub/mips/memory.h (grub_vtop): ... here.
4987 (grub_map_memory): Moved from here ...
4988 * include/grub/mips/memory.h (grub_map_memory): ... here.
4989 (grub_unmap_memory): Moved from here ...
4990 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4991 (grub_machine_mmap_iterate): Moved from here ...
4992 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4993 (grub_mmap_get_lower): Moved from here ...
4994 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4995 (grub_mmap_get_upper): Moved from here ...
4996 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4997 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4998 here ...
4999 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5000 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5001 here ...
5002 * include/grub/mips/time.h (grub_get_rtc): ... here.
5003 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5004 here ...
5005 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5006 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5007 here ...
5008 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5009 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5010 definition.
5011 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5012 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5013 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5014 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5015 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5016 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5017 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5018 (GRUB_MACHINE_LINK_ADDR): Likewise.
5019 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5020 to 6.
5021 * util/grub-install.in: Run dvhtool on ARC.
5022 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5023 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5024
c8ecc840
VS
50252011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5028 blocks.
5029
153a4b55
VS
50302011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5033 after enabling port.
5034
ff44d107
VS
50352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 Skip incorrect USB devices.
5038
5039 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5040 configcnt == 0.
5041 * include/grub/usb.h (grub_usb_err_t): New enum value
5042 GRUB_USB_ERR_BADDEVICE.
5043
638dbe4f
VS
50442011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Fuloong video init support.
5047
5048 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5049 well.
5050 (grub_vga_read_arx): New function.
5051 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5052 definition.
5053 (framebuffer): New members io, mmioptr and mmiobase.
5054 (read_sis_cmd): New function.
5055 (write_sis_cmd): Likewise.
5056 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5057 rather than 640x400.
5058 * grub-core/video/sis315_init.c: New file.
5059
c3fc520c
VS
50602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5063 non-loongson.
5064 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5065 to grub_dl_register_symbol.
5066
67b1e5c9
VS
50672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Fix compilation errors.
5070
5071 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5072 potentially unused.
5073 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5074 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5075 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5076 to loongson machines.
5077
b756f75f
VS
50782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 Several FS mtime support.
5081
5082 * grub-core/fs/affs.c (grub_affs_time): New struct.
5083 (grub_affs_file): New field mtime.
5084 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5085 type. Removed 'size'. New field 'di'. All users updated.
5086 (grub_affs_mount): Simplify checsum checking.
5087 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5088 (grub_affs_dir): Handle mtime.
5089 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5090 (grub_cpio_dir): Likewise.
5091 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5092 (grub_hfs_filerec): New field mtime.
5093 (grub_hfs_dir): Handle mtime.
5094 (grub_hfs_mtime): New function.
5095 (grub_hfs_fs): Register grub_hfs_mtime.
5096 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5097 (grub_iso9660_dir): New field mtime.
5098 (grub_fshelp_node): New field dirent.
5099 (iso9660_to_unixtime): New function.
5100 (iso9660_to_unixtime2): Likewise.
5101 (grub_iso9660_read_symlink): Use node->dirent.
5102 (grub_iso9660_iterate_dir): Likewise.
5103 (grub_iso9660_dir): Set mtime.
5104 (grub_iso9660_mtime): New function.
5105 (grub_iso9660_fs): Register grub_iso9660_mtime.
5106 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5107 (grub_jfs_inode): New fields atime, ctime and mtime.
5108 (grub_jfs_dir): Set mtime.
5109 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5110 * grub-core/fs/ntfs.c (list_file): Set mtime.
5111 (grub_ntfs_dir): Likewise.
5112 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5113 (grub_reiserfs_iterate_dir): Set mtime.
5114 (grub_reiserfs_dir): Likewise.
5115 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5116 (grub_fshelp_node): Likewise.
5117 (grub_sfs_iterate_dir): Set mtime.
5118 (grub_sfs_dir): Likewise.
5119 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5120 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5121 (grub_xfs_inode): New fields atime, mtime, ctime.
5122 (grub_xfs_dir): Set mtime.
5123 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5124 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5125 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5126
5127 Support UDF symlinks.
5128
5129 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5130 (grub_ufs_read_symlink): New function. All users updated.
5131
5132 Check amiga partmap checksum.
5133
5134 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5135 (grub_amiga_partition): Likewise.
5136 (amiga_partition_map_checksum): New function.
5137 (amiga_partition_map_iterate): Check checksum.
5138
5470225d
VS
51392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 ROMFS support.
5142
5143 * Makefile.util.def (libgrubmods.a): Add romfs.
5144 * grub-core/Makefile.core.def (romfs): New module.
5145 * grub-core/fs/romfs.c: New file.
5146
d4680a35
VS
51472011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Squashfs v4 support.
5150
5151 * Makefile.util.def (libgrubmods.a): Add squash4.
5152 * grub-core/Makefile.core.def (squash4): New module.
5153 * grub-core/fs/squash4.c: New file.
5154 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5155 disk_input_start, disk_input.
5156 (get_byte): Handle disk_input.
5157 (grub_zlib_disk_read): New function.
5158 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5159
bcb18e74
FZ
51602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
51612011-05-15 Feiran Zheng <famcool@gmail.com>
5162
5163 * Makefile.util.def (libgrubmods.a): Add minix3.
5164 * grub-core/Makefile.core.def (minix3): New module.
5165 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5166 (GRUB_MINIX_BSIZE): Removed.
5167 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5168 (grub_minix_ino_t): New type.
5169 (grub_minix_le_to_cpu_ino): New macro.
5170 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5171 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5172 (grub_minix_data): New field block_size.
5173 (grub_minix_read_file): Handle 64-bit correctly.
5174 * grub-core/fs/minix3.c: New file.
5175
32297d5f
TG
51762011-05-15 Tristan Gingold <gingold@free.fr>
51772011-05-15 Robert Millan <rmh.grub@aybabtu.com>
51782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 IA64 support.
5181
5182 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5183 * configure.ac: Add ia64-efi target.
5184 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5185 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5186 * gentpl.py: Add ia64_efi platform.
5187 Rename x86_efi to efi and Add ia64-efi. All users updated.
5188 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5189 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5190 Remove kern/generic/rtc_get_time_ms.c on EFI.
5191 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5192 kern/ia64/dl_helper.c on ia64-efi.
5193 Add kern/emu/cache.c on emu.
5194 (linux): Use on loader/ia64/efi/linux.c on ia64.
5195 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5196 whether symbol is a function.
5197 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5198 (grub_symbol): New field 'isfunc'.
5199 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5200 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5201 (grub_dl_load_segments): Place all sections into the same region.
5202 [__ia64__]: Create trampolines and got.
5203 [GRUB_MACHINE_EMU]: Call mprotect.
5204 (grub_dl_resolve_symbols): Resolve symbol type as well.
5205 [__ia64__]: Create function descriptors.
5206 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5207 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5208 (grub_get_rtc): New function.
5209 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5210 * grub-core/kern/emu/cache.S: Renamed to ...
5211 * grub-core/kern/emu/cache_s.S: ... this.
5212 [__ia64__]: Add a nop.
5213 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5214 [__ia64__]: New function.
5215 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5216 * grub-core/kern/ia64/dl.c: New file.
5217 * grub-core/kern/ia64/dl_helper.c: Likewise.
5218 * grub-core/kern/ia64/efi/init.c: New file.
5219 * grub-core/kern/ia64/efi/startup.S: Likewise.
5220 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5221 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5222 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5223 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5224 * grub-core/loader/ia64/efi/linux.c: New file.
5225 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5226 (GRUB_MOD_DEP): Likewise.
5227 (grub_dl) [__ia64__]: New fields got and tramp.
5228 (grub_dl): New field 'base'.
5229 (grub_dl_register_symbol): New argument isfunc. All users updated.
5230 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5231 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5232 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5233 (grub_ia64_dl_get_tramp_got_size): New proto.
5234 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5235 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5236 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5237 * include/grub/efi/api.h: Skip call wrappers on ia64.
5238 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5239 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5240 * include/grub/elf.h (ELF_ST_INFO): New definition.
5241 * include/grub/ia64/efi/kernel.h: New file.
5242 * include/grub/ia64/efi/memory.h: Likewise.
5243 * include/grub/ia64/efi/time.h: Likewise.
5244 * include/grub/ia64/kernel.h: Likewise.
5245 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5246 * include/grub/ia64/time.h: New file.
5247 * include/grub/ia64/types.h: Likewise.
5248 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5249 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5250 New protos.
5251 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5252 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5253 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5254 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5255 All users updated.
5256 (EFI64_HEADER_SIZE): New definition. All users updated.
5257 (image_targets): Add ia64-efi.
5258 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5259 jumpers_addr. All users updated.
5260 Create function descriptors.
5261 (count_funcs): New function.
5262 (unaligned_uint32): New struct.
5263 (MASK20): New definition.
5264 (MASK19): Likewise.
5265 (MASKF21): Likewise.
5266 (add_value_to_slot_20b): New function.
5267 (add_value_to_slot_21_real): Likewise.
5268 (add_value_to_slot_21): Likewise.
5269 (ia64_kernel_trampoline): New struct.
5270 (nopm): New variable.
5271 (jump): Likewise.
5272 (make_trampoline): New function.
5273 (relocate_addresses): Handle ia64.
5274 (make_reloc_section): Likewise.
5275 (load_image): Likewise.
5276
983b414d
VS
52772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5280 warning. Move variables before code while on it.
5281
5d063cdc
VS
52822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Fuloong support.
5285
5286 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5287 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5288 * grub-core/boot/mips/loongson/fuloong.S: New file.
5289 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5290 Explicitly init CS5536.
5291 [FULOONG]: Don't use serial until CS5536 is available.
5292 Set GPIO based on dumps.
5293 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5294 [FULOONG]: Handle GPIO and memory controller differences.
5295 Parse machine type in $a2.
5296 * grub-core/boot/mips/startup_raw.S: Determine and save the
5297 architecture.
5298 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5299 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5300 init on architecture type.
5301 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5302 SIS315E. Don't init at_keyboard on fuloong.
5303 (grub_halt): Support Fuloong.
5304 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5305 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5306 (loongson_machtypes): New array.
5307 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5308 type.
5309 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5310 config. All users updated. Handle CS5536 serial.
5311 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5312 default port on machine type. Register serial as inactive.
5313 * grub-core/video/sis315pro.c: New file.
5314 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5315 definition.
5316 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5317 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5318 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5319 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5320 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5321 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5322 to ...
5323 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5324 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5325 definition.
5326 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5327 (grub_arch_machine): New extern var.
5328 * include/grub/mips/loongson/serial.h
5329 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5330 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5331 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5332 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5333 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5334 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5335 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5336 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5337 * include/grub/term.h (grub_term_register_input_inactive): New inline
5338 function.
5339 (grub_term_register_output_inactive): Likewise.
5340 * include/grub/video.h (grub_video_driver_id): New value
5341 GRUB_VIDEO_DRIVER_SIS315PRO.
5342 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5343 New field "names". All users updated.
5344 New field value IMAGE_FULOONG_FLASH.
5345 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5346
6ada82d1
JU
53472011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5348
5349 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5350 and add some clarification.
5351
90c571a4
VS
53522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5355 platforms if kernel is compressed.
5356
de04eecf
VS
53572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5360 unused modules since currently referrence counter isn't reliable and
5361 there isn't much memory to recover there anyway.
5362
57688121
VS
53632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5366 rather than resetting it to allow modules to reference themselves
5367 in init.
5368
3d2c7e35
VS
53692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5372 counter on dependencies since grub_dl_unref already handles this.
5373
b25db218
VS
53742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5377 on error if not already done.
5378
25a45338
VS
53792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 Fix few potential memory misusage.
5382
5383 * grub-core/font/font.c (load_font_index): Don't free char_index to
5384 avoid double free.
b25db218
VS
5385 (grub_font_load): Zero-fill font at alloc for safety.
5386 Close file on error.
5387 (free_font): Free bmp_idx.
25a45338 5388
0cac83df
VS
53892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * docs/grub.texi (Installation): Fix several outdated claims.
5392
2217a143
VS
53932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Handle module_license on windows.
5396
5397 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5398 sections shifted.
5399 (insert_string): Make argument const char * instead of char *.
5400 (write_section_data): Handle long section names.
5401 Handle module_license.
5402
d4de6b01
VS
54032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5406 handle class-free menuentries.
5407 (grub_normal_add_menu_entry): Add a check to be sure.
5408
4c2a3b43
VS
54092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5412 PgUp and PgDown.
5413
85c6210f
VS
54142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * configure.ac: Bump version to 1.99.
5417
36084912
VS
54182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Give ATA device a bit more time on first try in order to allow disks
5421 to spin up.
5422
5423 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5424 if dev->present is 1. Reset dev->present on failure.
5425 (grub_ata_device_initialize): Set dev->present to 1.
5426 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5427 (grub_ata_device): New member 'present'.
5428
bda0e219
VS
54292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * util/grub-mkimage.c (generate_image): Update hash.
5432
19e1c41b
VS
54332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Flush caches on DMA memory.
5436
5437 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5438 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5439 (grub_dma_free): Likewise.
5440 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5441
91bbcc0c
VS
54422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5445 to avoid asm treating ld and sd as macros.
5446
60ddfad3
VS
54472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5450 decompressor.
5451
a298aa04
VS
54522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5455 grub_decompress_core since later would fail if grub_decompress_core
5456 is too far.
5457
9b44feca
VS
54582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5461 R_MIPS_JALR since it's used by newer compiler.
5462
56dbe7b4
VS
54632011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5466
52856af2
VS
54672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5470 file_path to 0 for surety.
5471 (grub_chainloader_boot): Set exit_data to NULL.
5472 Unset the loader once done.
5473 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5474
9c9bfc6d
VS
54752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5478 unknown key into a dprintf.
5479
dd94a3df
VS
54802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5483 on first non-existant partition.
5484
fa68d99c
VS
54852011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5488 openning fails.
5489 Reported by: Mark Korenberg.
5490
157effb7
VS
54912011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5494 overflow.
5495
ea75312f
VS
54962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5499 before closing to ensure that it will be readable by grub-setup.
5500
072b5d31
VS
55012011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5504 (devpath_1): Use MAKE_PIWG_PATH.
5505 (devpath_2): Likewise.
5506 (devpath_3): Likewise.
5507 (devpath_4): Likewise.
5508 (devpath_5): Likewise.
5509 (devpath_6): Likewise.
5510
5511 The appleldr.mod was checked that to be binary identical to previous
5512 version.
5513
7fae0051
Z
55142011-05-05 Zach <mikezackles>
5515
5516 Support 2010 Macbooks.
5517
5518 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5519 (devs): Add devpath_6.
5520
7c515bee
VS
55212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5524 /dev/random. /dev/urandom is good enough for our purposes (salting).
5525
ed660bd8
VS
55262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5529
ee5614b7
VS
55302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5533 hexadecimal.
5534
664889a6
VS
55352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5538 and not 0 on failure.
5539
bd405bbc
CW
55402011-05-03 Colin Watson <cjwatson@ubuntu.com>
5541
5542 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5543 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5544 disk; otherwise grub_fs_probe will not fall back to the next
5545 filesystem.
5546 (grub_pxefs_open): Likewise, for consistency.
5547 Reported and tested by: Ezekiel Grave.
5548
4ebff753
CW
55492011-05-03 Colin Watson <cjwatson@ubuntu.com>
5550
5551 * tests/partmap_test.in: Don't hardcode path to parted.
5552 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5553
8f942553
CW
55542011-05-01 Colin Watson <cjwatson@ubuntu.com>
5555
5556 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5557 of `ls' to find out which devices are available.
5558
3c62402d
VS
55592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5562 than source address for efi mmap buffer.
5563
723f63f2
VS
55642011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5567 wrong action on non-detecting the magic.
5568
68797f92
VS
55692011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5572 already supplied by another part of the module (fixes compilation on
5573 FreeBSD).
5574
6be8715d
VS
55752011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5578 match the one used by mdadm.
5579
e91dba5b
CW
55802011-04-21 Colin Watson <cjwatson@ubuntu.com>
5581
5582 * po/README: Add instructions for creating po/LINGUAS.
5583
c85140b3
CW
55842011-04-21 Colin Watson <cjwatson@ubuntu.com>
5585
5586 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5587 #551428.
5588
5589 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5590 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5591 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5592 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5593 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5594 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5595 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5596 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5597 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5598 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5599 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5600 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5601 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5602 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5603 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5604 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5605 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5606 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5607 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5608 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5609 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5610 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5611
92051871
CW
56122011-04-21 Colin Watson <cjwatson@ubuntu.com>
5613
5614 * grub-core/kern/emu/getroot.c
5615 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5616 test that was incorrectly reintroduced in r3214.
5617 Reported by: Ian Dall. Fixes Savannah bug #33133.
5618
b13f79a4
CW
56192011-04-21 Colin Watson <cjwatson@ubuntu.com>
5620
5621 Fix stack pointer handling in 16-bit relocator.
5622
5623 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5624 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5625 Fixes Ubuntu bug #683904.
5626
9b710a88
VS
56272011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * configure.ac: Bump version to 1.99~rc2.
5630
d97e7b59
VS
56312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5634 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5635 * grub-core/lib/x86_64/setjmp.S: Likewise.
5636 * grub-core/lib/mips/setjmp.S: Likewise.
5637 * grub-core/lib/powerpc/setjmp.S: Likewise.
5638 * grub-core/lib/sparc64/setjmp.S: Likewise.
5639
0624551c
VS
56402011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5643 * grub-core/lib/efi/datetime.c: Likewise.
5644
e8f28d4c
VS
56452011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5648 New function.
5649 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5650 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5651 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5652
bba79a15
VS
56532011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5656 bitmap.
5657 (grub_gfxterm_term_init): Likewise.
5658
abc474ef
VS
56592011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 Take into account the decorations the computing menu entry width.
5662
5663 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5664 (grub_gfxmenu_create_box): Register get_border_width.
5665 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5666 if available.
5667 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5668 get_border_width.
5669
e74b3947
EP
56702011-04-18 Endres Puschner <code@e7p.de>
5671
5672 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5673 Don't skip first class.
5674
34faa595
VS
56752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5678 chunks.
5679 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5680
93a777e3
VS
56812011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Complete 64-bit division support.
5684
5685 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5686 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5687 * include/grub/misc.h (grub_divmod64): Rename to ...
5688 (grub_divmod64_full): ... this.
5689 (grub_divmod64): New inline function.
5690
a5102d94
VS
56912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5694
f3fb7b36
VS
56952011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5698 performing the necessary test.
5699
9ac718b0
VS
57002011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5703 (kfreebsd.elf): Likewise.
5704 (pc-chainloader.elf): Likewise.
5705 (ntldr.elf): Likewise.
5706
50d2cc5a
VS
57072011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Identify RAID by its UUID rather than (guessed) name.
5710
5711 * grub-core/disk/raid.c (ascii2hex): New function.
5712 (grub_raid_open): Accept mduuid/%s specification.
5713 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5714 (get_mdadm_uuid): ... this.
5715 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5716
e03f7bea
VS
57172011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5720 to negative size.
5721
e74c3112
CW
57222011-04-13 Colin Watson <cjwatson@ubuntu.com>
5723
5724 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5725 btrfs subvolume.
5726 * util/grub.d/20_linux_xen.in: Likewise.
5727
78fa584f
CW
57282011-04-13 Colin Watson <cjwatson@ubuntu.com>
5729
5730 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5731 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5732
5733 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5734 Build a list of relevant visible mounts using the mnt_id and
5735 parent_mnt_id fields, and then scan that list at the end.
5736
9d5f8162
CW
57372011-04-12 Colin Watson <cjwatson@ubuntu.com>
5738
5739 * docs/grub.texi (normal): New section.
5740 (normal_exit): New section.
5741 (Embedded configuration): Add reference to normal.
5742 (GRUB only offers a rescue shell): Likewise.
5743 * docs/grub-dev.texi (Error Handling): Fix typo.
5744
09a9d66f
CW
57452011-04-12 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * NEWS: Drop obsolete entry about probe-only btrfs support.
5748
0c676933
CW
57492011-04-12 Colin Watson <cjwatson@ubuntu.com>
5750
5751 * util/import_gcry.py: Fix typo.
5752
ec9f5e0d
VS
57532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * NEWS: Add btrfs support.
5756
fe6b2cba
VS
57572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
57582011-04-11 Colin Watson <cjwatson@ubuntu.com>
5759
5760 BtrFS support. Written by me (Vladimir) with important bugfixes and
5761 even more important testing by Colin.
5762
5763 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5764 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5765 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5766 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5767 mem_input_off and mem_input. All users updated to accept in-RAM input.
5768 (gzio_seek): New function.
5769 (test_zlib_header): Likewise.
5770 (grub_gzio_read): Likewise.
5771 (grub_zlib_decompress): Likewise.
5772 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5773 Accept partial and non-virtual mounts.
5774 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5775 avoid receiving /dev/dm-X as device.
5776 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5777 Handle bind and partial mounts.
5778 * grub-core/lib/crc.c: New file.
5779 * include/grub/deflate.h: Likewise.
5780 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5781 proto.
5782 * include/grub/lib/crc.h: New file.
5783
e745cf0c
VS
57842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 Implement automatic module license checking according to new GNU
5787 guidelines.
5788
5789 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5790 (grub_dl_load_core): Use grub_dl_check_license.
5791 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5792 (GRUB_MOD_LICENSE): Likewise.
5793 (GRUB_MOD_DUAL_LICENSE): Likewise.
5794 All modules updated.
5795
2a9bc016
CW
57962011-04-11 Colin Watson <cjwatson@ubuntu.com>
5797
5798 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5799 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5800 loaders.
5801 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5802
8a3bc88e
VS
58032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5806
af869a4a
VS
58072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5810 failed.
5811
9ee8d94f
VS
58122011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5815 parenthesis in the middle of the filename.
5816
b01abe3e
VS
58172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5820 rather than trying to put initrd way too high.
5821 Reported by: Ryan Lortie <desrt@desrt.ca>
5822
335bda1e
VS
58232011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5826 improperly removed string.
5827
5ca1a64d
VS
58282011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5831 is_disk.
5832 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5833 (open_device) Likewise.
5834 (grub_util_biosdisk_close): Likewise.
d8ce9995 5835 Reported by: Mark Korenberg.
5ca1a64d 5836
cbac5b1e
AK
58372011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5838
5839 * util/grub-mkconfig_lib.in: Add missing quotes.
5840
088cdb65
CW
58412011-04-10 Colin Watson <cjwatson@ubuntu.com>
5842
5843 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5844 is NULL.
5845
8b8a81fa
VS
58462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 Dynamically count the number of lines for the lower banner.
5849
5850 * grub-core/normal/menu_entry.c (per_term_screen): New member
5851 num_entries.
5852 (print_down): Use num_entries.
5853 (update_screen): Likewise.
5854 (grub_menu_entry_run): Set num_entries.
5855 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5856 num_entries.
5857 (grub_print_message_indented): Move real part to ...
5858 (grub_print_message_indented_real): ... here. Additional argument
5859 dry_run.
5860 (draw_border): Additional argument num_entries.
5861 (print_message): Additional argument dry_run.
5862 (print_entries): Receive menu viewer data.
5863 (grub_menu_init_page): New argment num_entries.
5864 (menu_text_set_chosen_entry): Use num_entries.
5865 (grub_menu_try_text): Likewise.
5866 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5867 All users updated.
5868 (grub_ucs4_count_lines): New function.
5869 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5870 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5871 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5872 (grub_term_border_height): Likewise.
5873 (grub_term_num_entries): Likewise.
5874
277f955b
VS
58752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5878 Remove now unused string.
5879
536ce85a
CW
58802011-04-09 Colin Watson <cjwatson@ubuntu.com>
5881
5882 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5883 build system.
5884 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5885
5886 (Comment): Fix typo.
5887 (Getting started): General copy-editing.
5888 (Typical Development Experience): Likewise.
5889 (Error Handling): Likewise.
5890 (Video API): Likewise.
5891
2cf09e32
CW
58922011-04-09 Colin Watson <cjwatson@ubuntu.com>
5893
5894 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5895 throughout.
5896
1ec652f4
VS
58972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5900 directory.
5901
2c583728
CW
59022011-04-08 Colin Watson <cjwatson@ubuntu.com>
5903
5904 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5905 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5906 "development".
5907
d7a565e9
VS
59082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5911 grub_strcpy since the lines aren't necessarily 0-terminated.
5912
7c2e4909
VS
59132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5916 root on legacy.
5917
34c09785
VS
59182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5921 (GRUB_MOD_INIT): DEVICE isn't optional.
5922
6a6f8058
VS
59232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5926 word on new line if it's too long anyway. Fixes a hang.
5927
2e335e90
VS
59282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5931 const.
5932 * util/grub-setup.c (main): Reuse md device name if available.
5933 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5934 not GRUB name as argument.
5935 Based on patch by: Florian Wagner <fwagner>.
5936
10a7a867
VS
59372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5940 Place mbi on low memory for better compatibility.
5941
7a3d6cd9
VS
59422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5945
18dd6b47
VS
59462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
59472011-04-08 Colin Watson <cjwatson@ubuntu.com>
5948
5949 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5950 * conf/Makefile.common: Likewise.
18dd6b47 5951
3c0e3f14
VS
59522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5953
f7148863
VS
5954 * grub-core/normal/menu.c: Add missing include.
5955
59562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5959
6d1fa41f
MZ
59602011-04-08 Martin Zuther <mzuther@mzuther.de>
5961
5962 * util/grub-mkconfig.in: Ignore emacsen backup.
5963
478182a8
VS
59642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5967 on open.
5968 (grub_util_biosdisk_close): Likewise.
5969
72a89a54
VS
59702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5973 const attribute and use grub_isdigit.
5974
b5ebecfa
A
59752011-04-06 Andrey <dev_null@ukr.net>
5976
5977 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5978 gcc warning.
5979
7755f66e
VS
59802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5983 useful grub_dprintf's.
5984
461121ff
VS
59852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5988
2a961775
VS
59892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5992
adf594cc
VS
59932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 Output errors if theme loading failed.
5996
5997 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5998 grub_gfxterm_fullscreen on error paths to ...
5999 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6000 theme loading error.
6001
665900a3
VS
60022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6005 space for older compilers.
6006 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6007
a562b479
VS
60082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6011 and report them as not RAID members since they are useless for GRUB.
6012 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6013
850e9373
VS
60142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 Increase LVM implementation robustness in order not to crash on
6017 configurations like pvmove. Previously code assumed that in some places
6018 only lvs or only pvs are used whereas it seems that they are used
6019 interchangeably.
6020
6021 * grub-core/disk/lvm.c (read_node): New function.
6022 (read_lv): Use read_node.
6023 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6024 Match volumes only at the end when all lvs are found. Take both
6025 pvs (first) and lvs (second) into account.
6026 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6027 mirror_* into node_*. All users updated.
6028 (grub_lvm_stripe): Merge this ...
6029 (grub_lvm_mirror): ... and this ...
6030 (grub_lvm_node): ... into this. All users updated.
6031
6f332153
VS
60322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6035 of function to allow further scanning for LVMs.
6036
829ea451
VS
60372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6040 on failed seek as it breaks open fd reusage.
6041
09ceb9a5
VS
60422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * util/grub-install.in: Add a recommendation to use --recheck before
6045 reporting bugs.
6046
67e11623
VS
60472011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6050 are obtained.
6051
caee5efd
VS
60522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 GRUB developper manual based on existing Internals section and
6055 contributions by the various authors with active copyright assignment.
6056
6057 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6058 * docs/font_char_metrics.png: New file.
6059 * docs/font_char_metrics.txt: Likewise.
6060 * docs/grub-dev.texi: Likewise.
6061 * docs/grub.texi (Internals): Move from here ...
6062 * docs/grub-dev.texi: ... here.
6063
2cccc747
CW
60642011-04-01 Colin Watson <cjwatson@ubuntu.com>
6065
6066 Store the loopback device as data on loopback grub_disk structures,
6067 rather than the file it points to. This fixes use of freed memory
6068 if an existing loopback device is replaced.
6069
6070 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6071 disk->data, not dev->file.
6072 (grub_loopback_read): Adjust file assignment to match.
6073 Fixes Ubuntu bug #742967.
6074
186ae367
CW
60752011-04-01 Colin Watson <cjwatson@ubuntu.com>
6076
6077 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6078 when replacing an existing device.
6079
cfed2ad0
VS
60802011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6083 memory corruptions.
6084
6085 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6086 unsigned.
6087 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6088 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6089 (grub_jfs_read_inode): Likewise.
6090 (grub_jfs_opendir): Likewise. Remove now useless casts.
6091 (grub_jfs_getent): Likewise.
6092 Make ino a grub_uint32_t rather than int.
6093 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6094 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6095 division and module with bit operations.
6096 (grub_jfs_find_file): Make ino a grub_uint32_t.
6097 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6098
05d2ed32
CW
60992011-04-01 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6102 warning. (This was in fact always initialised before use, but GCC
6103 wasn't smart enough to prove that.)
6104 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6105
91dc6073
VS
61062011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6109 stack alignment.
6110 (efi_wrap_1): Likewise.
6111 (efi_wrap_2): Likewise.
6112 (efi_wrap_3): Likewise.
6113 (efi_wrap_4): Likewise.
6114 (efi_wrap_5): Likewise.
6115 (efi_wrap_6): Likewise.
6116 (efi_wrap_10): Likewise.
6117 Based on information by: Red Hat/Peter Jones.
6118
a8afc1d1
CW
61192011-03-31 Colin Watson <cjwatson@ubuntu.com>
6120
6121 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6122 set-but-not-used variable.
6123
a826cc7d
CW
61242011-03-31 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * docs/grub.texi (Simple configuration): Be more explicit about
6127 GRUB_DEFAULT, and add an example.
6128 Reported by: Leslie Rhorer.
6129
875b67ba
CW
61302011-03-30 Colin Watson <cjwatson@ubuntu.com>
6131
6132 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6133 shell".
6134
fd7cd914
AS
61352011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6136
6137 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6138 * util/grub.d/20_linux_xen.in: Likewise.
6139
090b1b6a
VS
61402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * util/grub.d/10_linux.in: Try alternative config filenames where
6143 we parse config file.
6144 * util/grub.d/20_linux_xen.in: Likewise.
6145
baad885c
AS
61462011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6147
6148 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6149 * util/grub.d/20_linux_xen.in: Likewise.
6150
241e41f5
VS
61512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/disk/raid.c (insert_array): Add few potentially
6154 useful grub_util_info.
6155 (grub_raid_register): Likewise.
6156
56445fb2
VS
61572011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6160 Preserve partition number in mdadm code path.
6161
c871b1c6
VS
61622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6165 few potentially useful grub_util_info.
6166
5e631b4f
CW
61672011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6170
2d5d0333
CW
61712011-03-30 Colin Watson <cjwatson@ubuntu.com>
6172
6173 * docs/grub.texi (default): Use @example rather than nested
6174 itemized lists to avoid breaking gendocs.
6175
3d7ed04e
CW
61762011-03-30 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * docs/grub.texi (Future): Update.
6179
abf04200 61802011-03-30 Colin Watson <cjwatson@ubuntu.com>
6181
6182 * docs/grub.texi (Environment): New chapter.
6183 (Changes from GRUB Legacy): Link to "Environment block" section for
6184 details of limitations.
6185 (Simple configuration): Likewise. Link to documentation of gfxmode
6186 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6187 respectively.
6188 (Shell-like scripting): Note that normal variables are stored in the
6189 environment.
6190 (gettext): Link to documentation of lang and locale_dir.
6191 (list_env): New section.
6192 (load_env): New section.
6193 (save_env): New section.
6194
6195 (Reporting bugs): Fix typo.
6196
e1ad0edd
VS
61972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6200 the example.
6201
5d803174
VS
62022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/term/at_keyboard.c (set_scancodes)
6205 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6206
2a2da1d0
CW
62072011-03-30 Colin Watson <cjwatson@ubuntu.com>
6208
6209 * docs/grub.texi (Menu-specific commands): Remove some semantics
6210 that were true in GRUB Legacy but not in GRUB 2.
6211 (submenu): New section.
6212 (false): New section.
6213 (read): New section.
6214 (true): New section.
6215
a7527639
CW
62162011-03-30 Colin Watson <cjwatson@ubuntu.com>
6217
6218 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6219
62202011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6221
6222 * docs/grub.texi (Simple configuration): Explain some of the
6223 current limitations of grub-mkconfig.
8a748df2 6224 Reported by: Leslie Rhorer.
e30af029 6225
fc858482
VS
62262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 Old macs search for boot.efi rather than for bootia32.efi.
6229
6230 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6231 * util/grub-mkrescue.in: Likewise.
6232 Suggested by: Peter Jones.
6233
e1eb511d
VS
62342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6237
70e75364
VS
62382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6241 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6242 (grub_lvm_mirror): New struct.
6243 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6244 (grub_lvm_iterate): Iterate only visible volumes.
6245 (grub_lvm_read): Factor out to ..
6246 (read_lv): ... this. Support mirrors.
6247 (grub_lvm_read): New wrapper function.
6248 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6249 stripped or mirrored.
6250
fc18f6a3
VS
62512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6254
5c650f4c
CW
62552011-03-29 Colin Watson <cjwatson@ubuntu.com>
6256
6257 * docs/grub.texi (loopback): New section.
6258
61d7156b
CW
62592011-03-29 Colin Watson <cjwatson@ubuntu.com>
6260
6261 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6262 removed -p option.
6263
994b8264
CW
62642011-03-29 Colin Watson <cjwatson@ubuntu.com>
6265
6266 * docs/grub.texi (BIOS installation): New section, partly based on
6267 previous text in other sections.
6268 (Installing GRUB using grub-install): Replace BIOS discussion with a
6269 cross-reference.
6270 (Images): Likewise.
6271
9e4d19e0
VS
62722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6275 [HAVE_DIOCGDINFO]: Add safety checks.
6276
a307c0b2
VS
62772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6280 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6281
b4db4f39
CW
62822011-03-29 Colin Watson <cjwatson@ubuntu.com>
6283
6284 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6285 real_sb->size is zero (e.g. RAID-0), get the disk size from
6286 real_sb->data_size instead.
6287 Fixes Ubuntu bug #743136.
6288
35e5f84c
VS
62892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6292 printf clauses for printing size and start.
6293
d2e29d81
VS
62942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6297 Reported and tested by: Timothy Nikkel.
6298
ed5587af
VS
62992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6302 (dirty_region_add_real): ... this.
6303 (dirty_region_add): Don't discard margin refresh when performing
6304 scheduled repaint.
6305
a1dc717c
VS
63062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/lib/relocator.c (allocate_regstart)
6309 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6310 terminals are capabple of malloc-free operation.
6311 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6312 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6313
9f3677d3
VS
63142011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6315
6316 * util/grub-setup.c: Copy the partition table zone if floppy support
6317 is disabled, even if no partition table is found.
6318
6319 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6320 during POST if an invalid partition table is contained in the PBR
6321 of the active partition when GRUB is installed to a partition.
6322
24148725
CW
63232011-03-28 Colin Watson <cjwatson@debian.org>
6324
6325 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6326 comment.
6327
f329eda7
CW
63282011-03-28 Colin Watson <cjwatson@debian.org>
6329
6330 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6331 to be specific about what kind of RAID device we're scanning for.
6332
c482ad98
SG
63332011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6334
6335 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6336 return freed string.
6337
5ee04984
VS
63382011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6341
f4727da9
VS
63422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Use libgeom on FreeBSD to detect partitions.
6345
6346 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6347 (grub-mkrelpath): Likewise.
6348 (grub-script-check): Likewise.
6349 (grub-editenv): Likewise.
6350 (grub-mkpasswd-pbkdf2): Likewise.
6351 (grub-fstest): Likewise.
6352 (grub-mkfont): Likewise.
6353 (grub-mkdevicemap): Likewise.
6354 (grub-probe): Likewise.
6355 (grub-setup): Likewise.
6356 (grub-ofpathname): Likewise.
6357 (grub-mklayout): Likewise.
6358 (example_unit_test): Likewise.
6359 (grub-menulst2cfg): Likewise.
6360 * grub-core/Makefile.core.def (grub-emu): Likewise.
6361 (grub-emu-lite): Likewise.
6362 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6363 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6364 define HAVE_DIOCGDINFO.
6365 (follow_geom_up) [FreeBSD]: New function.
6366 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6367 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6368 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6369 unconditionally of HAVE_DIOCGDINFO.
6370
82fe6c75
VS
63712011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Fix FreeBSD compilation problem.
6374
6375 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6376 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6377
4c6c9431
CW
63782011-03-24 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6381 Switch back to page zero before loading a kernel, since some kernel
6382 drivers expect that.
6383 Thanks to: Felix Kuehling.
6384
c7064d94
VS
63852011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6388 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6389 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6390
3f71cded
VS
63912011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6394 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6395
ef6de21a
VS
63962011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6399 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6400 malloc is disabled.
6401
8bc66a2c
VS
64022011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6405 for modules headers when counting the needed allocation size.
6406
5657722c
VS
64072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6410 if no ASCII character is found to prevent crash.
6411
41a85f55
AK
64122011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6413
6414 * grub-core/video/bitmap.c (match_extension): Ignore case.
6415
59e1e5f1
VS
64162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6419
bd4d051a
VS
64202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * grub-core/script/parser.y: Declare "time" as valid argument.
6423
bae7fcc1
PJ
64242011-03-23 Peter Jones <pjones@redhat.com>
6425
6426 Fix incorrect assert failure reporting.
6427
6428 * grub-core/tests/example_functional_test.c (example_test): Add
6429 a failure comment.
6430 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6431 (failure_start): ...this. Check that malloc succeeded.
6432 Don't call xvasprintf. Return failure struct.
6433 (failure_append_vtext): New function.
6434 (failure_append_text): Likewise.
6435 (add_failure): Likewise.
6436 (grub_test_assert_helper): Likewise.
6437 * include/grub/test.h (grub_test_assert_helper): New declaration.
6438 (grub_test_assert): Macro rewritten.
6439
537dc9be
VS
64402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6443
fa3e01bf
VS
64442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6447
b1d28404
VS
64482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6451 into GRUB-style one.
6452
2e3e2e09
VS
64532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6456 error and not grub_errno.
6457 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6458
ed57e557
VS
64592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6462 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6463
d1611f01
VS
64642011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/efiemu/i386/pc/cfgtables.c
6467 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6468 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6469 (grub_xnu_unlock): Likewise.
6470 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6471
7d4e39d6
VS
64722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6475 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6476 * grub-core/commands/hashsum.c (aliases): Likewise.
6477 * grub-core/commands/setpci.c (pci_registers): Likewise.
6478 * grub-core/disk/usbms.c (attach_hook): Likewise.
6479 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6480 (zio_checksum_table): Likewise.
6481 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6482 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6483 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6484 * grub-core/lib/relocator.c (leftovers): Likewise.
6485 (extra_blocks): Likewise.
6486 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6487 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6488 (modules_last): Likewise.
6489 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6490 (devices): Likewise.
6491 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6492 (modules_last): Likewise.
6493 * grub-core/normal/auth.c (users): Likewise.
6494 * grub-core/normal/context.c (initial_menu): Likewise.
6495 (current_menu): Likewise.
6496 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6497 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6498 (grub_serial_terminfo_input_template): Likewise.
6499 (grub_serial_terminfo_output_template): Likewise.
6500 (grub_serial_terminfo_input): Likewise.
6501 (grub_serial_terminfo_output): Likewise.
6502 (registered): Likewise.
6503 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6504
40fc4659
VS
65052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6508 grub_video_mode_type_t.
6509 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6510 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6511 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6512
2da48d28
VS
65132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * util/grub-install.in: Correct the x86-64 name as x86_64.
6516
9b43bf39
CW
65172011-03-11 Colin Watson <cjwatson@ubuntu.com>
6518
6519 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6520 initial chunk read from the kernel always includes GRUB's multiboot
6521 header, which is now outside the first sector.
6522
be1a7ce0
CW
65232011-03-09 Colin Watson <cjwatson@ubuntu.com>
6524
6525 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6526 cached mmap_size, so that this works correctly when called multiple
6527 times.
6528 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6529
83a3c48d
CW
65302011-03-09 Colin Watson <cjwatson@ubuntu.com>
6531
6532 * docs/grub.texi (Simple configuration): Tidy up formatting.
6533
57d75699
SJ
65342011-03-07 Szymon Janc <szymon@janc.net.pl>
6535
6536 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6537 Set-but-not-used variable removed.
6538
028501a0
VS
65392011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 Workaround yet another IEEE1275 bug.
6542
6543 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6544 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6545 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6546 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6547 is set.
6548 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6549 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6550
d998657d
VS
65512011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6554 error.
6555
fee7cdd4
CW
65562011-02-11 Colin Watson <cjwatson@ubuntu.com>
6557
6558 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6559 empty, since in that case we can only generate either nothing or a
6560 syntactically invalid configuration file.
6561 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6562
97286eb5
CW
65632011-02-09 Colin Watson <cjwatson@ubuntu.com>
6564
6565 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6566 (Making a GRUB bootable CD-ROM): Likewise.
6567 (Invoking grub-mkrescue): New section.
6568 Reported by: Yann Dirson. Fixes Debian bug #612585.
6569
22b28eb3
CW
65702011-02-09 Colin Watson <cjwatson@ubuntu.com>
6571
6572 * util/grub-install.in: Remove unnecessary brackets from tr
6573 arguments.
6574 * util/grub.d/10_hurd.in: Likewise.
6575 * util/grub.d/10_kfreebsd.in: Likewise.
6576 * util/grub.d/10_linux.in: Likewise.
6577 * util/grub.d/20_linux_xen.in: Likewise.
6578 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6579
7e735e43
CW
65802011-02-08 Colin Watson <cjwatson@ubuntu.com>
6581
6582 * include/grub/file.h (not_easly_seekable): Rename to ...
6583 (not_easily_seekable): ... this. Update all users.
6584
800f1881
CW
65852011-01-28 Colin Watson <cjwatson@ubuntu.com>
6586
6587 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6588 grub-mkrescue.
6589
3281d3d6
VS
65902011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * util/grub-mkimage.c (generate_image): Refuse to create the images
6593 bigger than the actual flash (512K) in Loongson machines. 512K is also
6594 the biggest chip supported by them.
6595
3533413c
VS
65962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6599
73ae4f4f
VS
66002011-01-22 Anthony DeRobertis <anthony@derobert.net>
6601
6602 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6603 super_offset field.
6604
37f4f608
VS
66052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * util/grub-install.in: Ignore install device on platforms
6608 where it doesn't make sense. Always use UUIDs except on pc, efi and
6609 sparc64.
6610 Reported by: Daniel Kahn Gillmor.
6611
03a4ccb5
VS
66122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6615
ffc8f4d8
VS
66162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6619 (iterate_real): Don't rely on partition being non-NULL.
6620
80f23be7
VS
66212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6624 supported platforms. Put a compile time assert for this rather than
6625 generate a warning with 32-bit shift.
6626
5d4f4dd5
VS
66272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6630 logical expression more readable.
6631
e489601a
VS
66322011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6635 even if some elements have a name.
6636 Reported by: Alexander GQ Gerasiov.
6637
96e0a6ea
CW
66382011-01-22 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6641 path unreadable if `grub-probe -t abstraction' fails, for example if
6642 memberlist fails on an LVM volume group.
6643 Reported by: Darius Jahandarie.
6644
81431e2b
CW
66452011-01-22 Colin Watson <cjwatson@ubuntu.com>
6646
6647 * docs/grub.texi (Simple configuration): Document
6648 GRUB_PRELOAD_MODULES.
6649
5e79d66a
CW
66502011-01-17 Colin Watson <cjwatson@ubuntu.com>
6651
6652 * .bzrignore: Remove nonexistent grub-pbkdf2.
6653
646ada34
VS
66542011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * configure.ac: Bump version to 1.99~rc1.
6657
04360337
VS
66582011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6661 for safety.
6662
46c9db88
VS
66632011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6666 module.
6667
66682011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6669
6670 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6671
4fbf1852
VS
66722011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6675 diskdevid.
6676
f1632d4d
VS
66772011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 Fix compilation on cygwin.
6680
6681 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6682 -R .drectve on cygwin.
6683 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6684 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6685 (COND_CYGWIN): New condition.
6686 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6687 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6688 not @TARGET_OBJ2ELF@.
6689 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6690 type to determine whether aux is to be used.
6691
0b5e127b
VS
66922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6695 realpath'ed device string.
6696 Handle floppy (somewhat).
6697 Issue error in unknown case rather than garbage.
6698 Reported by: Axel Beckert.
6699
173b71e9
VS
67002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/grub.d/00_header.in (load_video): Handle the case when no video
6703 drivers available.
6704 Thanks to: Axel Beckert.
6705
f8f479db
VS
67062011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6709 variable. Fixes problem on big endian platforms.
6710
8fc0a245
VS
67112011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6714 It doesn't work well there.
6715
b8494fbe
VS
67162011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6719 warning.
6720 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6721 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6722 counter.
6723
b44a558c
VS
67242011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 Use alias->path rather than buggy "canon".
6727
6728 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6729 (ofdisk_hash_add): New argument curcan. All users updated.
6730
51fa856c
CW
67312011-01-11 Colin Watson <cjwatson@ubuntu.com>
6732
6733 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6734
9da068a5
VS
67352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6738 loadmask before doing any calculations. Use correct type for offset.
6739 (grub_linux_load64): Likewise.
6740
86205c94
CW
67412011-01-11 Colin Watson <cjwatson@ubuntu.com>
6742
6743 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6744 with NULL.
6745 (console_grub_equivalences_unshift): Likewise.
6746 Reported by: Daniel Dehennin.
6747
4531a206
VS
67482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6751 (set_env_limn_ro): Likewise.
6752 (GRUB_MOD_INIT): Likewise.
6753 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6754 ARRAY_SIZE while on it.
6755 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6756 * grub-core/normal/context.c (grub_env_export): Move from here ...
6757 * grub-core/kern/env.c (grub_env_export): ... here.
6758 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6759 prefix.
6760 * grub-core/kern/main.c (grub_main): Export root and prefix.
6761 * include/grub/env.h (grub_env_export): Export.
6762 Reported by: Seth Goldberg.
6763
45146057
VS
67642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6767 Take into account space used by ELF sections and multiboot palette.
6768 Reported by: Grégoire Sutre.
6769
f093110b
VS
67702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * BUGS: New file.
6773
3395fe52
VS
67742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 Pass more appropriate video id to Linux.
6777
6778 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6779 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6780 fill have_vga.
6781 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6782 shift params->lfb_size.
6783 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6784
c2fa6cbb
VS
67852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6788
b3ff6ff0
VS
67892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6792 separator and pass bootpath/devid even if only one of them is available.
6793 Reported by: Seth Goldberg.
6794
ae67942e
VS
67952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6798 implementations bug on them.
6799
6800 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6801 memory.
6802 (filter_memory_map): Likewise.
6803
d570097a
VS
68042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6807 Reported by: nebuchadnezzar.
6808
a508e776
VS
68092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6812 Reported by: nebuchadnezzar.
6813
dcb883b1
VS
68142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Submenu default support.
6817
6818 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6819 auto_boot. All users updated.
6820 Declared static.
6821 Handle chosen and default with submenus.
6822 (grub_menu_execute_with_fallback): Declared static.
6823 Don't notify failure if autobooted. Upper level does it.
6824 (menuentry_eq): New function.
6825 (get_entry_number): Use menuentry_eq.
6826 (show_menu): New parameter "autobooted". All users updated.
6827 (grub_show_menu): Likewise.
6828 * include/grub/normal.h (grub_show_menu): Likewise.
6829 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6830 (grub_menu_execute_with_fallback): Likewise.
6831
6fef99b4
VS
68322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * util/grub-mklayout.c (usage): Update help text.
6835
47a77af5
VS
68362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6839
ce6bb3ee
VS
68402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * util/grub-menulst2cfg.c (main): Trim the line.
6843
db87be2a
VS
68442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6847 (grub_machine_init): Don't check amount of low memory as reportedly
6848 INT 12h can be broken and if low memory is too low we wouldn't have
6849 gotten into grub_machine_init anyway.
6850
c49849cc
VS
68512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6854 (grub_machine_mmap_iterate): Take low memory into account
6855
b1969b30
VS
68562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6859 badfs.
6860 Reported by: TiCPU.
6861
cf0eaf13
VS
68622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6865 members errors.
6866
1f060f39
GS
68672011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6868
6869 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6870 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6871
a21e5672
GS
68722011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6873
6874 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6875 openbsd and netbsd types being in part_bsd module.
6876
c88172fa
VS
68772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6880 (_FILE_OFFSET_BITS): Likewise.
6881 Reported by: Seth Goldberg.
6882
53798c4b
GS
68832011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6884
6885 * configure.ac: Check for libdevmapper header.
6886
e7121b69
VS
68872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6890 avoid aliasing.
6891 (fzap_lookup): Likewise.
6892 (dnode_get): Likewise.
6893 (make_mdn): Likewise.
6894 (zfs_mount): Likewise.
6895 (fzap_iterate): Use temporary pointer to avoid aliasing.
6896 (grub_zfs_read): Likewise.
6897 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6898 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6899 pointers to avoid aliasing.
6900 (grub_cmd_xnu_kernel64): Likewise.
6901 (grub_xnu_load_driver): Likewise.
6902
fc836af9
VS
69032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6906 aliasing warning.
6907 (grub_cmd_terminal_output): Likewise.
6908 Reported and tested by: Grégoire Sutre.
6909
f9f37648
VS
69102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6913 warning.
6914 Reported and tested by: Grégoire Sutre.
6915
ec1dfd63
VS
69162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * configure.ac: Do CPU substitution even if it's specified explicitly.
6919 Reported and tested by: Alain Greppin.
6920
9462775a
VS
69212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6924 Reported and tested by: Alain Greppin.
6925
0fd48e35
VS
69262011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Satisfy some bison versions need for inttypes.h.
6929
6930 * grub-core/lib/posix_wrap/inttypes.h: New file.
6931 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6932 (int16_t): Likewise.
6933 (int32_t): Likewise.
6934 (int64_t): Likewise.
6935 Reported and tested by: Alain Greppin.
6936
43f1bc83
VS
69372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6940 Silence spurious warning.
6941 Reported and tested by: Alain Greppin.
6942
64d1f041
SJ
69432011-01-07 Szymon Janc <szymon@janc.net.pl>
6944
6945 * docs/grub.texi (Support automatic decompression): Update with xz
6946 decompression support.
6947
25953e10
SJ
69482011-01-07 Szymon Janc <szymon@janc.net.pl>
6949
6950 Improve loaders' kernel command line handling.
6951
6952 * grub-core/lib/cmdline.c: New file.
6953 * include/grub/lib/cmdline.h: Likewise.
6954 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6955 grub_create_loader_cmdline to create kernel command line.
6956 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6957 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6958 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6959 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6960 (linux): Add lib/cmdline.c on common.
6961
e72d259f
VS
69622011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6965 inopos might be unaligned.
6966
c0cf26da
VS
69672011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6970 endian transformations.
6971 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6972 Based on report by: Doug Nazar.
6973
0ca09e6c
DN
69742011-01-07 Doug Nazar <nazard.michi@gmail.com>
6975
6976 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6977 array->members[i].start_sector.
6978 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6979
014b6806
VS
69802011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6983 Reported and tested by: Grégoire Sutre.
6984
415502c2
CW
69852011-01-06 Colin Watson <cjwatson@ubuntu.com>
6986
6987 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6988 avoid causing test failures by clearing the screen.
6989
71b6a2b7
CW
69902011-01-06 Colin Watson <cjwatson@ubuntu.com>
6991
6992 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6993 Fix prefix check to handle the case where dir ends with a slash
6994 (most significantly, "/" itself).
6995 Reported by: Michael Vogt.
6996
b3f8d28a
VS
69972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 Run terminfo_cls on initing terminfo output to clear the screen and
7000 move the cursor to (0,0).
7001
7002 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7003 Call grub_terminfo_output_init.
7004 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7005 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7006 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7007
4c3e4f37
VS
70082011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7011 only when needed.
7012
488f71f1
VS
70132011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7016 CTRL.
7017
18a38098
VS
70182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 The E820 type 5 is BADRAM, not EXEC_CODE.
7021
7022 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7023 (GRUB_E820_BADRAM): New define.
7024 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7025 into reserved. Propagate BADRAM.
7026 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7027 (GRUB_E820_BADRAM): New define.
7028
9eae2084
VS
70292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7032 Ignore the memory post-4G.
7033 (grub_relocator_firmware_alloc_region): Additional debug statement.
7034
ebc71d28
VS
70352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7038 names.
7039 Reported by: David Pravec.
7040
446fa400
VS
70412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7044 BIOSes.
7045
a0159f37
VS
70462011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7049 Prevent overflow.
7050 (grub_reed_solomon_recover): Likewise.
7051
e5146ca1
VS
70522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7055
70562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7057
7058 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7059 variable.
7060
5b1bdf12
CW
70612011-01-04 Colin Watson <cjwatson@ubuntu.com>
7062
7063 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7064 descriptions of extract_legacy_entries_source and
7065 extract_legacy_entries_configfile.
7066 Reported by: Seung Soo, Ha.
7067
99d925aa
CW
70682011-01-03 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7071 on devices that do not implement function 0.
7072
4af0504b
DV
70732011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7074
7075 * grub-core/fs/hfsplus.c: Make parent unsigned.
7076 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7077 overflows.
7078 (grub_hfsplus_cmp_extkey): Likewise
7079
469ee10a
VS
70802011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * util/grub-install.in: Correctly use bootloader_id and not
7083 GRUB_DISTRIBUTOR on efibootmgr line.
7084
323a8e9c
VS
70852011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7088
1b394975
IC
70892010-12-31 Ian Campbell <ijc@hellion.org.uk>
7090
7091 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7092 Xen and reorder menu item wording to make it clearer that this entry
7093 will launch Xen. Print separate messages when loading Xen and
7094 Linux.
7095
275bff5f
VS
70962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7099 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7100 loop in case of incorrect amiga partmap.
7101
307806cb
VS
71022010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7105 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7106 Reported by:EHeM.
7107
b12b923e
VS
71082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7111 spurious warning.
7112 Reported by: crocket
7113
14b48a19
VS
71142010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7117 Preload EFIemu.
7118 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7119
693db2df
VS
71202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7123 is loaded
7124 (grub_cmd_xnu_kextdir): Likewise.
7125 (grub_cmd_xnu_splash): Likewise.
7126
c7638645
VS
71272010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 Avoid using Reed-Solomon with 0 redundancy.
7130
7131 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7132 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7133 or 0 redundancy.
7134 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7135 (grub_reed_solomon_recover): Likewise.
7136
25dd4780
VS
71372010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Don't use disk subsystem in freebsd_boot.
7140
7141 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7142 (freebsd_biosdev): Likewise.
7143 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7144 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7145
0b2db943
VS
71462010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 Handling of files of unknown size is currently limited. They can't be
7149 used e.g. for initrd or modules. Moreover gzip handling of not
7150 easily seekable files is buggy. Disable unknown file size for now. May
7151 be inefficient but works.
7152
7153 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7154 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7155
5c408d0f
MP
71562010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7157
7158 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7159 floppy probe.
7160
190a011a
JD
71612010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7162
7163 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7164
022d01b8
SL
71652010-12-25 Shea Levy <shlevy>
7166
7167 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7168
c4855fdc
VS
71692010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7172 Windows Server 2008.
7173 Reported by: Devin Giddings.
7174
0354b867
VS
71752010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7178 writing an error message because of async power management.
7179 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7180 (grub_reboot): Likewise.
7181
ab66c69f
JU
71822010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7183
7184 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7185 keep unit tests from failing when they shouldn't.
7186
1426ef35
CW
71872010-12-21 Colin Watson <cjwatson@ubuntu.com>
7188
7189 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7190 previous patch increased the size of the RS code by 20 bytes (at
7191 least with gcc-4.4), so increase this by 20 bytes to match.
7192 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7193
20641b6b
CW
71942010-12-21 Colin Watson <cjwatson@ubuntu.com>
7195
7196 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7197 scratch area. Make sure to initialise chosen in standalone mode as
7198 well as non-standalone.
7199 Reported by: Robert Hooker and Andy Whitcroft.
7200 Tested by: Andy Whitcroft.
7201
d060ad60
CW
72022010-12-21 Colin Watson <cjwatson@ubuntu.com>
7203
7204 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7205 constructing a new unescaped string and passing it to grub_xputs in
7206 one go, rather than passing characters to grub_printf one at a time.
7207
b889cfad
CW
72082010-12-21 Colin Watson <cjwatson@ubuntu.com>
7209
7210 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7211 initialising utf16.
7212
4e01b6c8
CW
72132010-12-21 Colin Watson <cjwatson@ubuntu.com>
7214
7215 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7216 comment. Add an extra layer of quotation, requiring the output of
7217 this function to be used in a printf format string.
7218 (gettext_printf): New function.
7219 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7220 Extract translatable strings from here-documents and use a temporary
7221 variable instead, so that xgettext can find them.
7222 * util/grub.d/10_kfreebsd.in: Likewise.
7223 * util/grub.d/10_linux.in: Likewise.
7224 * util/grub.d/20_linux_xen.in: Likewise.
7225
7226 * po/grub.d.sed: New file.
7227 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7228 arguments. Set c-format flags on all strings extracted from
7229 util/grub.d/ (xgettext refuses to include these itself for strings
7230 it extracted from a shell file, but these really are c-format).
7231
5318fe98
VS
72322010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7235 Avoid next pointing to nowhere.
7236
6c85b743
VS
72372010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7240 rather than assuming than rootblock is exactly in the middle.
7241 (grub_affs_label): Likewise.
7242
a2a08a35
VS
72432010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7246 reserved_first_sector to 0.
7247 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7248 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7249 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7250
7059d1ec
VS
72512010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 Fix handling of UTF-16 UDF labels.
7254
7255 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7256 (read_string): .. here.
7257 (grub_udf_label): Use read_string.
7258
30aff4cb
BC
72592010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7260
7261 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7262 editor under argument scope.
7263 Reported by: Jordan Uggla
7264
5cf86f4b
VS
72652010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7268
32570200
CW
72692010-12-18 Colin Watson <cjwatson@ubuntu.com>
7270
7271 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7272 line, and other keys scroll an entire page (previous handling was
7273 for \r and \n to scroll a page and other keys to scroll two lines).
7274
e1dffcf2
VS
72752010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7278 Set ptrdest to correct get_physical_target_address rather than
7279 incorrect get_virtual_current_address.
7280
b04298cf 72812010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7282
7283 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7284 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7285
5367ecd3
CW
72862010-12-10 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * .bzrignore: Ignore grub-core/rs_decoder.S.
7289
1fb430f8
CW
72902010-12-10 Colin Watson <cjwatson@ubuntu.com>
7291
7292 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7293 .mo/.mo.gz opening sequence to ...
7294 (grub_mofile_open_lang): ... here.
7295 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7296 * util/grub.d/00_header.in (grub_lang): Include country part of
7297 locale.
7298 Reported by: Mario Limonciello.
7299
a94a6671
RM
73002010-12-09 Robert Millan <rmh@gnu.org>
7301
7302 * NEWS: Document addition of ZFS support.
7303
24b7938b
CW
73042010-12-04 Colin Watson <cjwatson@ubuntu.com>
7305
7306 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7307 rather than `/ 2', as the latter requires -Wa,--divide which would
7308 require bumping our minimum binutils version.
7309
bddc3ef6
BC
73102010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7311
7312 * util/grub-script-check.c (main): Print script line number on
7313 error.
7314
bf78d5b2
RM
73152010-12-01 Robert Millan <rmh@gnu.org>
7316
7317 * grub-core/fs/zfs/zfs.c: New file.
7318 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7319 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7320 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7321 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7322
7323 * include/grub/zfs/dmu.h: Likewise.
7324 * include/grub/zfs/dmu_objset.h: Likewise.
7325 * include/grub/zfs/dnode.h: Likewise.
7326 * include/grub/zfs/dsl_dataset.h: Likewise.
7327 * include/grub/zfs/dsl_dir.h: Likewise.
7328 * include/grub/zfs/sa_impl.h: Likewise.
7329 * include/grub/zfs/spa.h: Likewise.
7330 * include/grub/zfs/uberblock_impl.h: Likewise.
7331 * include/grub/zfs/vdev_impl.h: Likewise.
7332 * include/grub/zfs/zap_impl.h: Likewise.
7333 * include/grub/zfs/zap_leaf.h: Likewise.
7334 * include/grub/zfs/zfs.h: Likewise.
7335 * include/grub/zfs/zfs_acl.h: Likewise.
7336 * include/grub/zfs/zfs_znode.h: Likewise.
7337 * include/grub/zfs/zil.h: Likewise.
7338 * include/grub/zfs/zio.h: Likewise.
7339 * include/grub/zfs/zio_checksum.h: Likewise.
7340
7341 * Makefile.util.def: Build ZFS into libgrubmods.
7342 * grub-core/Makefile.core.def: Build zfs.mod.
7343
3f0f3831
SJ
73442010-11-30 Szymon Janc <szymon@janc.net.pl>
7345
7346 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7347 variable.
7348 * grub-core/commands/wildcard.c (match_files): Likewise.
7349
3a4253b2
RM
73502010-11-30 Robert Millan <rmh@gnu.org>
7351
7352 * grub-core/loader/i386/bsd.c
7353 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7354 whether kernel is loaded using grub_loader_is_loaded(), rather
7355 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7356 certain error conditions.
7357
8c317b27
RM
73582010-11-30 Robert Millan <rmh@gnu.org>
7359
c5c9cd3e
RM
7360 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7361 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7362
49d3ab46
VS
73632010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 Avoid using tricks for initialising endian variables.
7366
7367 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7368 Make const.
7369 (GRUB_MOD_INIT): Don't byte-swap.
7370 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7371 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7372 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7373 (grub_swap_bytes32_compile_time): Likewise.
7374 (grub_cpu_to_le32_compile_time): Likewise.
7375 (grub_cpu_to_le16_compile_time): Likewise.
7376
f420a804
VS
73772010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * util/grub-setup.c (setup): Stop recommending --force. People who
7380 understand the dangers of blocklists are able to find this option
7381 anyway and the ones who don't shouldn't use it anyway.
7382
4e7db17b
RM
73832010-11-26 Robert Millan <rmh@gnu.org>
7384
7385 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7386 Update all users.
7387
9be57a0d
CW
73882010-11-26 Colin Watson <cjwatson@ubuntu.com>
7389
7390 Fix LVM-on-RAID probing.
7391
7392 * util/grub-probe.c (probe): Remember which disk was detected as
7393 RAID (perhaps an LVM physical volume). Use that disk's raidname
7394 rather than that of the top-level disk.
7395
2c7859b3 73962010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7397
d7647bb6
BC
7398 Fix cmdline argument quotes for setparams command of menuentry
7399 definitions.
7e623b0d
BC
7400
7401 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7402 quotes for arguments.
f866fe80 7403 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7404 grub_strchrsub function instead.
f866fe80 7405
7955bea0 7406 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7407
74f72a64
CW
74082010-11-24 Colin Watson <cjwatson@ubuntu.com>
7409
7410 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7411 effort by skipping "." and ".." entries up-front.
7412 Suggested by: Michael Lazarev.
7413
5a407278
CW
74142010-11-24 Colin Watson <cjwatson@ubuntu.com>
7415
7416 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7417 ldflags to ldadd, to fix link line ordering.
7418 (none_decompress): Likewise.
7419
3030d8ec
CW
74202010-11-24 Colin Watson <cjwatson@ubuntu.com>
7421
7422 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7423 platforms.
7424 (grub-emu-lite): Remove kern/emu/cache.S.
7425
b7fbac12
CW
74262010-11-23 Colin Watson <cjwatson@ubuntu.com>
7427
7428 * util/deviceiter.c (compare_devices): If the by-id link for a
7429 device couldn't be resolved, fall back to sorting by the by-id link
7430 rather than segfaulting.
7431 Reported and tested by: Daniel Mierswa.
7432
5225f328
CW
74332010-11-23 Colin Watson <cjwatson@ubuntu.com>
7434
7435 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7436 ldflags, to fix link line ordering.
7437
038b3ce8
CW
74382010-11-23 Colin Watson <cjwatson@ubuntu.com>
7439
7440 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7441 linkers are picky about this.
7442
bf16e98e
CW
74432010-11-23 Colin Watson <cjwatson@ubuntu.com>
7444
7445 * grub-core/Makefile.am (command.lst): Adjust sed expression
7446 ordering so that extended and priority commands aren't treated as
7447 ordinary commands.
7448
7242bab6
CW
74492010-11-23 Colin Watson <cjwatson@ubuntu.com>
7450
7451 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7452 Remove byte-swapping function calls, which are not valid in
7453 structure initialisers.
7454 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7455 non-const.
7456 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7457 grub_gpt_partition_type_bios_boot.
7458
14e8b279
CW
74592010-11-22 Colin Watson <cjwatson@ubuntu.com>
7460
7461 Fix test program build on GNU/kFreeBSD.
7462
7463 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7464 $(LIBNVPAIR)' library dependencies.
7465
e6f63338 74662010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7467
7468 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7469
cf8ffc38
CW
74702010-11-22 Colin Watson <cjwatson@ubuntu.com>
7471
7472 * util/grub-install.in: Remove excessive quoting that broke
7473 installations to RAID devices.
7474
7f8b0fd7
VS
74752010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7478 bootloader version instead of 0.
7479
dfd240b1
VS
74802010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7483 warning.
7484
7b61e609
VS
74852010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7488 retrieve the metadat sector if size isn't known.
7489 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7490
9dfe92d0
RM
74912010-11-18 Robert Millan <rmh@gnu.org>
7492
7493 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7494 with grub_memcmp().
7495
41cc919e
VS
74962010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7499 arrow.
7500 Reported by: Jordan Uggla.
7501
1afcc914
VS
75022010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Make better UTF compliant.
7505
7506 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7507 sequences as incorrect.
7508 (grub_is_valid_utf8): Likewise.
7509 (grub_utf8_to_ucs4): Likewise.
7510 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7511 (grub_ucs4_to_utf8_alloc): Likewise.
7512 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7513
f1808884
VS
75142010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 Make legacy_source behave like source.
7517
7518 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7519 grub_show_menu.
7520 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7521
24ec575b
CW
75222010-11-16 Colin Watson <cjwatson@debian.org>
7523
7524 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7525 (-Wunused implies -Wunused-parameter, but not vice versa).
7526
72b7c7aa
CW
75272010-11-16 Colin Watson <cjwatson@ubuntu.com>
7528
7529 * configure.ac: Make error messages less confusing by testing for
7530 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7531 accepted, but produces a diagnostic if something else is wrong).
7532
e98937aa
VS
75332010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7536 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7537 (now unused).
7538 (grub_keyboard_controller_init)
7539 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7540 read the initial state since controller isn't inited yet.
7541
f6bbabc3
VS
75422010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7545 allocate_regbeg may need to create new chunk header.
7546
22e7dbb2
VS
75472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Fix quoting in legacy parser.
7550
7551 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7552 single quotes.
7553 (grub_legacy_parse): Likewise.
7554 Reported by: Jordan Uggla.
7555 Tested by: Jordan Uggla.
7556
03f80960
VS
75572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Don't add -lgcc on i386 and x86_64.
7560
7561 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7562 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7563 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7564
779dc15b
VS
75652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * configure.ac: Add -Wno-trampolines when supported.
7568
d20a3b37
MV
75692010-11-14 Modestas Vainius <modax@debian.org>
7570
7571 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7572 fakeraid.
7573
e5360933
GC
75742010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7575
7576 Add generic logical block size support for UDF.
7577
7578 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7579 (GRUB_UDF_BLKSZ): Removed.
7580 (struct grub_udf_data): New field "lbshift" to hold the logical block
7581 size of the file system in log2 format. All users updated.
7582 (sblocklist): Change type to unsigned.
7583 (grub_udf_mount): Change type of "sblklist" to unsigned.
7584 Move AVDP search before VRS recognition, because the latter requires
7585 knowledge of the logical block size, which is detected during the
7586 former.
7587 Detect and validate logical block size during AVDP search, adding
7588 support for block sizes 512, 1024 and 4096.
7589 Make VRS recognition independent of block size.
7590
cb0229c5
GC
75912010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7592
7593 Properly handle deleted files on UDF.
7594
7595 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7596 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7597 set.
7598
406858a8
GC
75992010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7600
7601 Support reading files larger than 2 GiB.
7602
7603 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7604 "offset" to grub_off_t.
7605 (grub_udf_read_file): Likewise for parameter "pos".
7606
130da6a7
VS
76072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7610 unavailable.
7611 (Simple configuration): Refer to Changes from GRUB Legacy about
7612 save_env availability.
7613
65e93f6b
VS
76142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * util/grub-install.in: Ignore empty partition table detection
7617 instead of trying to include part_ module.
7618
1fd08bf1
VS
76192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7622 LVM on RAID support.
7623
de1a024f
VS
76242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Properly define WORDS_BIGENDIAN in wrapped environments.
7627
7628 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7629 definition.
7630 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7631
7632 Reported by: Manoel Rebelo Abranches.
7633 Tested by: Manoel Rebelo Abranches.
7634
bc5dd0b9
VS
76352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * util/grub-mkconfig.in: Fix quoting.
7638
58c184be
VS
76392010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 Support big ext2 files.
7642
7643 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7644 (grub_ext2_read_block): Support triple indirect blocks.
7645 (grub_ext2_read_file): Use 64-bit types and read size_high.
7646 (grub_ext2_open): Read size_high.
7647 Reported by: Ximin Luo.
7648 Tested by: Manoel Rebelo Abranches.
7649
5f0c02b3
VS
76502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * util/grub-install.in: Handle filenames containing spaces.
7653 Reported by: Jordan Uggla.
7654 Tested by: Jordan Uggla.
7655
4417aae6
VS
76562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * util/grub-mkconfig.in (grub_script_check): New variable.
7659 Use grub_script_check instead of grub-script-check.
7660 Reported by: Barry Jackson.
7661
7625a68e
VS
76622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * docs/grub.texi (menu): Correct the order.
7665 Reported by: D. Hugh Redelmeier.
7666
10001ac5
VS
76672010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7670 jump.
7671
9c4cf53b
MRA
76722010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7673
10001ac5
VS
7674 * include/grub/elfload.h (grub_elf32_size): New parameter.
7675 All users updated.
9c4cf53b
MRA
7676 Return maximum segments alignment.
7677 (grub_elf64_size): Likewise.
7678 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7679 Return maximum segments alignment.
7680 (grub_elf64_size): Likewise.
7681 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7682 (grub_linux_claimmap_iterate): New function. Uses the
7683 "available" property in the "memory" node for memory allocation
7684 for kernel in the PowerPC loader.
9c4cf53b
MRA
7685 (grub_linux_load32): Correctly find linux entry point offset.
7686 (grub_linux_load64): Likewise.
7687
d2bf06bf
RM
76882010-11-07 Robert Millan <rmh@gnu.org>
7689
7690 On mips-yeeloong, build with -march=loongson2f when this flag is
7691 available (GCC >= 4.4).
7692 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7693 `-march=mips3'.
7694 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7695 or otherwise add -march=mips3.
7696
898c99a2
BC
76972010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7698
87220a68
BC
7699 Suppress shell expansion on echo '*' and echo "*" like cases.
7700 Reported by: Jordan Uggla.
898c99a2
BC
7701
7702 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7703 string arguments before shell expansion.
7704 * tests/grub_cmd_echo.in: New testcases.
7705
4f9b406a
RM
77062010-11-07 Robert Millan <rmh@gnu.org>
7707
7708 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7709 transition.
7710
80c6d25e
VS
77112010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/kern/emu/hostdisk.c
7714 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7715
4a1a0153
VS
77162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7719 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7720 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7721
34706ddc
VS
77222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7725
6972dea9
VS
77262010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * util/grub-install.in: Replace useless recomendation to pass
7729 --modules with a recomendation to report a bug.
7730
9c693bd6
VS
77312010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 Properly register serial terminfo.
7734 Reported by: Jordan Uggla
7735
7736 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7737 const.
7738 (grub_serial_terminfo_output_template): Likewise.
7739 (grub_cmd_serial): Register "serial" with terminfo.
7740 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7741 grub_serial_terminfo_output.
7742
6c9e4c0c
RM
77432010-11-05 Robert Millan <rmh@gnu.org>
7744
7745 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7746 needed).
7747
b9b3839f
RM
77482010-11-05 Robert Millan <rmh@gnu.org>
7749
7750 On Yeeloong, pass machine type information to Linux.
7751
7752 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7753 (LOONGSON_MACHTYPE): New macro, set to
7754 "machtype=lemote-yeeloong-2f-8.9inches".
7755 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7756 additional argument to Linux.
7757
1a3aaff4
RM
77582010-11-04 Robert Millan <rmh@gnu.org>
7759
7760 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7761 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7762 (its SATA disks are detected as slaveless IDE master drives on
7763 kFreeBSD).
7764 Reported by Carsten Aulbert.
7765
a75f4f62
CW
77662010-11-02 Colin Watson <cjwatson@ubuntu.com>
7767
7768 * util/bin2h.c (main): Fix spelling error in generated output.
7769
33b4b0c6
GS
77702010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7771
7772 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7773
2b36fbf4
VS
77742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7777 vga= option is supplied.
7778
74aaf558
VS
77792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7782 * util/grub.d/10_kfreebsd.in: Likewise.
7783 * util/grub.d/10_linux.in: Likewise.
7784 * util/grub.d/20_linux_xen.in: Likewise.
7785
6428dec3
VS
77862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7789 argument as an argument to no-argument option.
7790
f8729d98
VS
77912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * util/grub.d/10_linux.in: Add missing load_video with explicit
7794 GRUB_GFXPAYLOAD_LINUX.
7795
89d68fa6
VS
77962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7799
3a1197cd
VS
78002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7803 elements with invlid index.
7804 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7805 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7806 members.
7807 * include/grub/raid.h (grub_raid_member): New struct.
7808 (grub_raid_array): Transform devices and start_sector into usage of
7809 grub_raid_member. All users updated
7810 (allocated_devs): New member.
7811
71574288
VS
78122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7815 is modified
7816
8d40ec65
BC
78172010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7818
7819 NetBSD build fix for getline function conflict from gnulib.
7820
7821 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7822 components that depend on gnulib headers.
7823 (libgrubmods.a): Renamed from earlier libgrub.a.
7824 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7825
95b9257e
VS
78262010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7829 install rather than creating a broken install.
7830
26c53dc6
VS
78312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * util/grub-setup.c (argp): Remove misleading example of installing to
7834 a partition.
7835
4171b3c5
VS
78362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * util/grub-setup.c (setup): Clarify the error message.
7839
18568d18
VS
78402010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7843
4f6a2e21
VS
78442010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * grub-core/kern/emu/misc.c
7847 (grub_make_system_path_relative_to_its_root)
7848 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7849
78502010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7851
7852 * grub-core/kern/emu/misc.c
7853 (grub_make_system_path_relative_to_its_root): Revert r2882.
7854
e138c458
VS
78552010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7858 useless field head. All users updated.
7859 (free_subchunk): Correct handling of IN_REGION subchunk.
7860
0cbcdf0e
CW
78612010-10-22 Colin Watson <cjwatson@ubuntu.com>
7862
7863 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7864 (Supported kernels): Likewise.
7865
b65ea155
GS
78662010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7867
7868 Make mktemp invocations portable.
7869
7870 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7871 exit if mktemp fails.
7872 * tests/grub_script_blockarg.in: Likewise.
7873 * tests/partmap_test.in: Likewise.
7874 * tests/util/grub-shell-tester.in: Likewise.
7875 * tests/util/grub-shell.in: Likewise.
7876 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7877 * Makefile.am: Likewise, and chain shell commands with `&&'
7878 instead of ';'.
7879 * util/grub-mkrescue.in: Use the same explicit template as above, and
7880 exit if mktemp fails.
7881
05f43cdd
BC
78822010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7883
7884 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7885 Linux kernel, reported by Dennis Schridde.
7886
800e6a9b
SJ
78872010-10-17 Szymon Janc <szymon@janc.net.pl>
7888
7889 * grub-core/normal/auth.c (grub_auth_check_authentication):
7890 Set-but-not-used variable removed.
7891
d82df574
VS
78922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7895 32-bit linux protocol.
7896
7bced458
VS
78972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7900 cursor shape for sanity.
7901
5b027690
VS
79022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * docs/grub.texi (Installation): Document buggy BIOS install.
7905
ba5f65cf
VS
79062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * docs/grub.texi (Installation): Indent.
7909
fdf2ec9c
VS
79102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * util/grub-setup.c (setup): New parameter allow_floppy.
7913 (arguments): New member allow_floppy.
7914 (argp_parser): Handle --allow-floppy.
7915 (main): Pass allow_floppy.
7916 * util/grub-install.in: New option --allow-floppy passed though to
7917 grub-setup.
7918
861dfd4c
VS
79192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/grub-install.in: Handle partitionless disks.
7922
f77a8c24
VS
79232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * util/grub-setup.c (setup): Don't clean blocklists before readability
7926 verfification.
7927
27d9ee32
VS
79282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * docs/grub.texi (Installation): Document embedding zone. Remove
7931 obsolete grub-install example.
7932
6bdda8f8
SJ
79332010-10-16 Szymon Janc <szymon@janc.net.pl>
7934
7935 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7936 Set-but-not-used variable ifdef'ed.
7937 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7938 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7939 variable removed.
7940 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7941 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7942 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7943 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7944 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7945 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7946 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7947 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7948 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7949 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7950 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7951 Likewise.
7952
e19b016b
VS
79532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7956 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7957 enum value.
7958
6c8d3002
VS
79592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7962 synonym to _S5_. Needed for some DSDTs.
7963
c32b51c9
VS
79642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 Userspace ACPI parser debugging.
7967
7968 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7969 headers and add relevant defines. Don't include standard headers.
7970 (main) [GRUB_DSDT_TEST]: New function.
7971 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7972 Don't declare functions.
7973
fbfbeb39
VS
79742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Remove dead grub_efi_mm_fini.
7977
7978 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7979 (ALLOCATED_PAGES_SIZE): Likewise.
7980 (MAX_ALLOCATED_PAGES): Likewise.
7981 (allocated_pages): Likewise.
7982 (grub_efi_allocate_pages): Don't record allocated pages.
7983 (grub_efi_free_pages): Likewise.
7984 (grub_efi_mm_init): Likewise.
7985 (grub_efi_mm_fini): Removed.
7986
65f7ed7c
VS
79872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7990 (grub_efi_mm_init): Take into account the memory map size increase.
7991
24977b44
VS
79922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7995 (serial_hw_put): Wait based on real time rather than port reads. Don't
7996 roken ports.
7997 * include/grub/serial.h (grub_serial_port): New field broken.
7998
1eb01cd2
RM
79992010-10-16 Robert Millan <rmh@gnu.org>
8000
8001 * grub-core/kern/emu/misc.c
8002 (grub_make_system_path_relative_to_its_root): Fix premature return
8003 when processing non-root ZFS filesystems.
5f8b440b 8004 Reported by Sergio Talens-Oliag.
1eb01cd2 8005
2d5fed60
RM
80062010-10-15 Robert Millan <rmh@gnu.org>
8007
8008 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8009 guarantee compressed ones are processed first.
8010
d0f4c1ea
VS
80112010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8014 grub_efiemu_autocore.
8015
d87c681f
VS
80162010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8019 rather than 0x1b.
8020 (grub_console_getkey): Use correct jae opcode rather than ja.
8021
219b3564
RM
80222010-10-12 Robert Millan <rmh@gnu.org>
8023
8024 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8025 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8026 variable. All references updated.
8027
8028 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8029
20c6bb7e
VS
80302010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Correctly distinguish mdraid flavours.
8033
8034 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8035 (insert_array): New argument raid.
8036 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8037 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8038 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8039
74baff84
VS
80402010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8043 handling of special keys.
8044
3ef068df 80452010-10-02 Aleš Nesrsta <starous@volny.cz>
8046
c7980ad9
VS
8047 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8048 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8049
a9455194 80502010-10-02 Aleš Nesrsta <starous@volny.cz>
8051
c7980ad9
VS
8052 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8053 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8054 users updated.
a9455194 8055 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8056 Use right endpoint when querying descriptor.
a9455194 8057
441cfe65
VS
80582010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 Clear out 0x80 color bit on EFI.
8061 Tested by: decoder
8062 Reported by: decoder and meta tech.
8063
8064 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8065 (grub_console_setcolorstate): Clear out 0x80 bit.
8066 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8067 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8068 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8069
bf26bcc4
VS
80702010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8073 Set to "auto".
8074
6e3c515d
VS
80752010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8078 mo_file after freeing.
8079
e6d983ba
VS
80802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8083
74ccb5b5
VS
80842010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8087 flags.
8088
17821956
VS
80892010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8092 usage.
8093
ee74fa48
VS
80942010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8097
8098 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8099 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8100 and terminfo.h when needed.
8101 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8102 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8103 (terminfo): Enable only on terminfokernel.
8104 (extcmd): Likewise.
8105 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8106 * include/grub/lib/arg.h: Likewise.
8107 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8108 incorrect usage of ->.
8109
aa438e68
VS
81102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8113 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8114
57994012
VS
81152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 Fix coreboot compilation.
8118
8119 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8120 Take VBE info into account even if only text is supported.
8121 (fill_vbe_info): Take into account the case when only VGA text
8122 is supported.
8123 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8124 on coreboot, multiboot and qemu.
8125
2a406611
VS
81262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8129 debug messages.
8130 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8131
d33613fc
VS
81322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8135 parameters.
8136
44a1b432
VS
81372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8140 if they were BSD-style.
8141
edde54e6
VS
81422010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/boot/i386/pc/lnxboot.S: Replace
8145 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8146 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8147
b65830fa
VS
81482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Write embedding zone using Reed-Solomon.
8151
8152 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8153 * grub-core/Makefile.am (rs_decoder.S): New target.
8154 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8155 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8156 (multiboot): Move to RS part.
8157 (post_reed_solomon): New label.
8158 (grub_boot_drive): Move to non-RS part since it's modified in memory
8159 on boot.
8160 Include rs_decoder.S.
8161 * grub-core/lib/reed_solomon.c: New file.
8162 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8163 New definition.
8164 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8165 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8166 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8167 * include/grub/partition.h (grub_partition_map): Change prototype of
8168 embed to allow returning additional sectors.
8169 * include/grub/reed_solomon.h: New file.
8170 * util/grub-setup.c (setup): Handle Reed-Solomon.
8171
0b4b227f
CW
81722010-09-28 Colin Watson <cjwatson@ubuntu.com>
8173
8174 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8175 i386 and x86-64 definedness tests.
8176
f772623b
YB
81772010-09-27 Yves Blusseau <blusseau@zetam.org>
8178
8179 Fix generation of kernel_syms.lst
8180
8181 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8182 ASM_PREFIX
8183
8e57a6ca
RM
81842010-09-26 Robert Millan <rmh@gnu.org>
8185
8186 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8187
8188 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8189 the pool is an array of devices, iterate through it and return the
8190 first device that passes a stat() test (instead of blindly returning
8191 the first one).
8192
f9130836
RM
81932010-09-26 Robert Millan <rmh@gnu.org>
8194
8195 Build fixes for GNU/kFreeBSD.
8196
8197 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8198 to programs that require ZFS conversion.
8199 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8200 kernels that don't have FLOPPY_MAJOR.
8201
96510faf
BC
82022010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8203
8204 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8205
449333eb
BC
82062010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8207
8208 Fix grub-emu build.
8209
8210 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8211 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8212 mdraid09 and mdraid1x.
8213
e1fd1939
CW
82142010-09-24 Colin Watson <cjwatson@ubuntu.com>
8215
8216 Re-enable grub-extras.
8217
8218 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8219 avoid confusing Automake. Run autogen only twice, once for the top
8220 level and once for grub-core. Add Makefile.util.def and
8221 Makefile.core.def from extra modules to the appropriate autogen
8222 invocations. If Makefile.common exists in an extra module, include
8223 it in both Makefile.util.am and grub-core/Makefile.core.am;
8224 similarly, include any Makefile.util.common file in Makefile.util.am
8225 and any Makefile.core.common file in grub-core/Makefile.core.am.
8226 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8227 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8228 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8229 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8230
8231 * gentpl.py (gvar_add): Turn GVARS into a set.
8232 (global_variable_initializers): Sort global variables on output.
8233 (vars_init): New function.
8234 (first_time): Likewise.
8235 (library): Ensure that non-global variable initialisations are
8236 emitted before the first time we emit code for a library block.
8237 Append to variables rather than setting them. Only emit
8238 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8239 each conditional path.
8240 (program): installdir() emits an Autogen macro, so must be passed to
8241 var_add rather than gvar_add.
8242 (data): Likewise.
8243 (script): Likewise.
8244 (rules): New function, centralising handling for different target
8245 types. Set up Guile association lists for first_time and vars_init,
8246 and send most output to a diversion so that variable initialisations
8247 can be emitted first.
8248 (module_rules): Use new rules function.
8249 (kernel_rules): Likewise.
8250 (image_rules): Likewise.
8251 (library_rules): Likewise.
8252 (program_rules): Likewise.
8253 (script_rules): Likewise.
8254 (data_rules): Likewise.
8255
8256 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8257
8258 * .bzrignore: Add contrib and grub-core/contrib. Remove
8259 grub-core/Makefile.gcry.am.
8260
1d12cf29
YB
82612010-09-24 Yves Blusseau <blusseau@zetam.org>
8262
8263 * grub-core/lib/LzFind.c: Add missing include.
8264 * grub-core/lib/LzmaEnc.c: Likewise.
8265 * grub-core/script/lexer.c: Likewise.
8266 * grub-core/script/yylex.l: Likewise.
8267 * util/grub-macho2img.c: Likewise.
8268 * util/grub-menulst2cfg.c: Likewise.
8269 * util/grub-mklayout.c: Likewise.
8270 * util/grub-mkpasswd-pbkdf2.c
8271 * util/grub-mkrelpath.c: Likewise.
8272 * util/resolve.c: Likewise.
8273
dd363028
BC
82742010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8275
8276 * Makefile.util.def (example_unit_test): Add
8277 grub-core/gnulib/libgnu.a.
8278
f5a109e2
GS
82792010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8280
8281 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8282
6d0fa83c
VS
82832010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Support xz compression on yeeloong.
8286
8287 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8288 * configure.ac: Check for LZMA.
8289 * grub-core/Makefile.core.def (xz_decompress): New target.
8290 (none_decompress): Likewise.
8291 * grub-core/boot/decompressor/minilib.c: New file.
8292 * grub-core/boot/decompressor/none.c: Likewise.
8293 * grub-core/boot/decompressor/xz.c: Likewise.
8294 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8295 * grub-core/kern/mips/cache_flush.S: Likewise.
8296 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8297 * grub-core/kern/mips/startup.S: Move first stage to ...
8298 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8299 nomacro.
8300 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8301 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8302 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8303 Allocate statically.
8304 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8305 Allocate statically or use scratch. Don't check CRC32.
8306 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8307 Allocate statically. Don't check CRC32.
8308 * include/grub/decompressor.h: New file.
8309 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8310 Removed.
8311 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8312 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8313 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8314 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8315 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8316 * util/grub-mkimage.c (grub_compression_t): New type.
8317 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8318 (image_target_desc): New field default_compression.
8319 (image_targets): Adjust yeeloong targets.
8320 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8321 (compress_kernel): New parameter comp.
8322 (generate_image): Likewise. Handle new compression case.
8323 (options): New option --compression
8324 (help): Likewise.
8325 (main): Handle new option.
8326
1b655af6
GS
83272010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8328
8329 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8330
8f03f0b5
CW
83312010-09-22 Colin Watson <cjwatson@ubuntu.com>
8332
8333 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8334 typo in __i386__ conditional.
8335
7835dfd3
VS
83362010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8339 include.
8340
e255597e
VS
83412010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8342
6d0fa83c 8343 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8344
8345 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8346 new tags as supported.
8347 (acpiv2_size): New function.
8348 (grub_multiboot_get_mbi_size): Take new tags into account.
8349 (grub_multiboot_make_mbi): Add new tags.
8350 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8351
6cc14051 83522010-09-21 Aleš Nesrsta <starous@volny.cz>
8353
8354 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8355 Added missing configuration of USB device.
8356
df7769d8
CW
83572010-09-21 Colin Watson <cjwatson@ubuntu.com>
8358
8359 * grub-core/normal/menu_entry.c (run): Make sure we always return
8360 a value.
8361
b031012d
CW
83622010-09-21 Colin Watson <cjwatson@ubuntu.com>
8363
8364 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8365 NumberOfPages is UINT64 according to the UEFI specification, not
8366 UINTN. Fix printf format.
8367
174de8f3
CW
83682010-09-21 Colin Watson <cjwatson@ubuntu.com>
8369
8370 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8371 `err' to grub_usb_err_t.
8372 Reported and tested by: KESHAV P.R.
8373
d7dbe923
CW
83742010-09-21 Colin Watson <cjwatson@ubuntu.com>
8375
8376 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8377 tpart non-const, so that we can assign to it. (Since this is a
8378 typedef, the constness refers to the pointer rather than what it
8379 points to.)
8380
8d5e2af3
CW
83812010-09-21 Colin Watson <cjwatson@ubuntu.com>
8382
8383 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8384 $(top_srcdir)/grub-core/gnulib as well as
8385 $(top_builddir)/grub-core/gnulib.
8386 Reported by: KESHAV P.R.
8387
5c527783
CW
83882010-09-21 Colin Watson <cjwatson@ubuntu.com>
8389
8390 * util/grub-install.in: Fix the bootloader ID option to be
8391 consistently --bootloader-id, not --bootloader_id.
8392 Reported by: KESHAV P.R.
8393
d309a16e
CW
83942010-09-21 Colin Watson <cjwatson@ubuntu.com>
8395
8396 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8397 check hash checksum." consistently translatable.
8398
b830cd16
YB
83992010-09-21 Yves Blusseau <blusseau@zetam.org>
8400
8401 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8402 $(top_builddir).
8403
c4fe27a8
CW
84042010-09-21 Colin Watson <cjwatson@ubuntu.com>
8405
8406 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8407 (GRUB_MOD_INIT): Register sha1sum command.
8408 (GRUB_MOD_FINI): Unregister sha1sum command.
8409
a4c1d277
YB
84102010-09-21 Yves Blusseau <blusseau@zetam.org>
8411
8412 Keep boot and grub directory names in sync with utils scripts
8413
8414 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8415 * config.h.in: Add previous macros.
8416 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8417 * util/grub-install.in: Use $bootdir and $grubdir variables.
8418
4eff79d2
CW
84192010-09-21 Colin Watson <cjwatson@ubuntu.com>
8420
8421 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8422 convert partition names to disk names if the new `convert' parameter
8423 is set.
8424 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8425 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8426 disk in its own right. This can happen with Xen disk images.
8427
934d7e44
YB
84282010-09-21 Yves Blusseau <blusseau@zetam.org>
8429
8430 * util/grub-editenv.c: Update strings to avoid warnings when generating
8431 grub.pot file.
8432 * util/grub-setup.c: Likewise.
934d7e44 8433
df3367cc
VS
84342010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * configure.ac: Change version to 1.99~beta0.
8437
77a94e98
VS
84382010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8441 Add BADRAM.
8442 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8443 Likewise.
8444 * include/multiboot.h: Resynced with specification.
8445 * include/multiboot2.h: Likewise.
8446
269004c1
CW
84472010-09-21 Colin Watson <cjwatson@ubuntu.com>
8448
8449 Fix po directory handling.
8450
8451 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8452 * grub-core/gnulib/Makefile.am: Import gettext module.
8453 * m4/gnulib-cache.m4: Likewise.
8454 * m4/gnulib-comp.m4: Likewise.
8455 * m4/gettext.m4: New file, from gnulib.
8456 * m4/glibc2.m4: Likewise.
8457 * m4/iconv.m4: Likewise.
8458 * m4/intdiv0.m4: Likewise.
8459 * m4/intl.m4: Likewise.
8460 * m4/intldir.m4: Likewise.
8461 * m4/intlmacosx.m4: Likewise.
8462 * m4/intmax.m4: Likewise.
8463 * m4/inttypes-pri.m4: Likewise.
8464 * m4/lcmessage.m4: Likewise.
8465 * m4/lib-ld.m4: Likewise.
8466 * m4/lib-link.m4: Likewise.
8467 * m4/lib-prefix.m4: Likewise.
8468 * m4/lock.m4: Likewise.
8469 * m4/nls.m4: Likewise.
8470 * m4/po.m4: Likewise.
8471 * m4/printf-posix.m4: Likewise.
8472 * m4/progtest.m4: Likewise.
8473 * m4/threadlib.m4: Likewise.
8474 * m4/uintmax_t.m4: Likewise.
8475 * m4/visibility.m4: Likewise.
8476 * po/Makefile.am: Remove.
8477 * po/Makefile.in.in: New file, from gettext.
8478 ($(DOMAIN).pot-update): Support POTFILES-shell.
8479 * po/Makevars: New file.
8480 * po/POTFILES-shell: Rename to ...
8481 * po/POTFILES-shell.in: ... this. Update.
8482 * po/POTFILES: Rename to ...
8483 * po/POTFILES.in: ... this. Update.
8484 * po/Rules-quot: New file, from gettext.
8485 * po/boldquot.sed: Likewise.
8486 * po/en@boldquot.header: Likewise.
8487 * po/en@quot.header: Likewise.
8488 * po/insert-header.sin: Likewise.
8489 * po/quot.sed: Likewise.
8490 * po/remove-potcdate.sin: Likewise.
8491
3e0fa5d0
VS
84922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8495
ade9bd66
VS
84962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * util/grub.d/20_linux_xen.in: Use submenus.
8499
fc55cc4c
VS
85002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Support submenus.
8503
8504 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8505 parameter submenu. All users updated.
8506 * grub-core/normal/main.c (free_menu): Rename to ...
8507 (grub_normal_free_menu): ... this. Made global.
8508 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8509 if requested.
8510 * grub-core/normal/menu_entry.c (screen): New field submenu.
8511 (make_screen): Set submenu.
8512 (run): Open new context if requested.
8513 * include/grub/menu.h (grub_menu_entry): New field submenu.
8514 * include/grub/normal.h (grub_normal_free_menu): New proto.
8515
600cedf7
VS
85162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Menu entries extractor.
8519
8520 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8521 variants.
8522 (GRUB_MOD_INIT): Register new variants.
8523 (GRUB_MOD_FINI): Unregister new variants.
8524 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8525 into grub_cmd_legacy_source.
8526 (grub_cmd_legacy_source): Implement extractor variants.
8527 (GRUB_MOD_INIT): Register new variants.
8528 (GRUB_MOD_FINI): Unregister new variants.
8529 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8530 as an extractor.
8531 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8532 search as an extractor.
8533 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8534 test as an extractor.
8535 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8536 as an extractor.
8537 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8538 (grub_env_new_context): New function.
8539 (grub_env_context_open): Likewise.
8540 (grub_env_extractor_open): Likewise.
8541 (grub_env_extractor_close): Likewise.
8542 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8543 grub_extractor_level.
8544 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8545 * include/grub/env.h (grub_env_extractor_open): New proto.
8546 (grub_env_extractor_close): Likewise.
8547 * include/grub/normal.h (grub_extractor_level): New external variable.
8548
7bda3a87
VS
85492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Make cutmem accept a region specification.
8552 Suggested by: Samuel Thibault
8553
8554 * grub-core/mmap/mmap.c (parsemem): New function.
8555 (grub_cmd_cutmem): Handle new arguments.
8556
2ea57f88
VS
85572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 New command cutmem.
8560
8561 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8562 (GRUB_MOD_INIT): Register new command.
8563 (GRUB_MOD_FINI): Unregister new command.
8564
74342e31
VS
85652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Support some annoying BSD and Minix subpartitions.
8568
8569 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8570 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8571 Properly handle concatenation.
8572 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8573 * grub-core/normal/completion.c (iterate_partition): Likewise.
8574 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8575 contain partition. All users updated.
8576 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8577 struct.
8578 (grub_openbsdlabel_partition_map): Likewise.
8579 (bsdlabel_partition_map_iterate): Rename to ..
8580 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8581 (bsdlabel_partition_map_iterate): New function.
8582 (netopenbsdlabel_partition_map_iterate): Likewise.
8583 (netbsdlabel_partition_map_iterate): Likewise.
8584 (openbsdlabel_partition_map_iterate): Likewise.
8585 (GRUB_MOD_INIT): Register new partmaps.
8586 (GRUB_MOD_FINI): Unregister new partmaps.
8587 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8588 (grub_partition_msdos_iterate): ... this. All users updated.
8589 Don't support embedding other than in a minix partition.
8590 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8591 proto.
8592 * include/grub/partition.h (grub_partition): New field msdostype.
8593 * util/grub-install.in: Handle openbsd and netbsd types being in
8594 part_bsd module.
8595
1e8d555b
VS
85962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8599
8600 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8601 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8602 (mdraid09): ... this.
8603 (mdraid1x): New module.
8604 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8605 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8606
899d8af4
VS
86072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8610 vsprintf.
8611
40901acd
CW
86122010-09-20 Colin Watson <cjwatson@ubuntu.com>
8613
8614 * grub-core/commands/efi/lsefimmap.c: Correct header.
8615 * NEWS: Update.
8616
dfe3b247
CW
86172010-09-20 Colin Watson <cjwatson@ubuntu.com>
8618
8619 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8620 as printf format strings; the translations might contain '%' which
8621 could cause a crash.
8622 (main): Likewise.
8623 * util/grub-fstest.c (argp_parser): Likewise.
8624 * util/grub-setup.c (argp_parser): Likewise.
8625 (main): Likewise.
8626
3286a4b4
VS
86272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 Use argp in grub-fstest.
8630
8631 * util/grub-fstest.c: Don't include getopt.h.
8632 Include argp.h.
8633 (root): New variable.
8634 (args_count): Likewise.
8635 (nparm): Likewise.
8636 (num_disks): Likewise.
8637 (images): Likewise.
8638 (cmd): Likewise.
8639 (debug_str): Likewise.
8640 (args): Likewise.
8641 (options): Transformed to argp.
8642 (usage): Removed.
8643 (main): Split argument parsing into ...
8644 (argp_parser): ... this. Changed to argp format.
8645 (argp): New variable.
8646 (main): Use argp_parse.
8647
3dccbe4b
TG
86482010-09-20 Tristan Gingold <gingold@free.fr>
86492010-09-20 Robert Millan <rmh.grub@aybabtu.com>
86502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * grub-core/commands/efi/lsefimmap.c: New file.
8653 * grub-core/Makefile.core.def (lsefimmap): New module.
8654 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8655
38c259a7
VS
86562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Pause the execution (10s max) if any errors are displayed so the user
8659 has a chance to see them.
8660
8661 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8662 (grub_print_error): Increment grub_err_printed_errors.
8663 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8664 execution if any errors were displayed.
8665 (show_menu): Remove old code for pause.
8666 * grub-core/normal/menu_entry.c (run): Likewise.
8667 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8668 users updated.
8669 (grub_normal_get_char_counter): Likewise.
8670 * include/grub/err.h (grub_err_printed_errors): New external variable.
8671 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8672
f218b09c
VS
86732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 Support multiboot VBE info.
8676
8677 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8678 Take VBE info into account.
8679 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8680 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8681 Call fill_vbe_info when appropriate.
8682 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8683 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8684 as supported.
8685 (grub_multiboot_get_mbi_size): Take new tags into account.
8686 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8687 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8688 Call fill_vbe_tag when appropriate.
8689 (grub_multiboot_make_mbi): Properly align tags.
8690 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8691 function.
8692 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8693 proto.
8694 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8695
a9cc5438
VS
86962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 Suport manual terminal geometry specification.
8699
8700 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8701 Save state in grub_ofconsole_terminfo_output.
8702 (grub_ofconsole_term): Use grub_terminfo_getwh.
8703 (grub_ofconsole_getwh): Removed.
8704 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8705 (grub_serial_term): Use grub_terminfo_getwh.
8706 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8707 (options): New struct.
8708 (OPTION_*): New enum.
8709 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8710 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8711 width and height.
8712 (grub_terminfo_getwh): New proto.
8713 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8714
1a8fed20
VS
87152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 Handle legacy "terminal" command.
8718
8719 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8720 and FLAG_TERMINAL.
8721 (legacy_commands): Add terminal and title.
8722 (grub_legacy_parse): Handle terminal. Simplify title handling.
8723
41e9c57d
VS
87242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8727 parameters overflow.
8728
61c874c5
CW
87292010-09-20 Colin Watson <cjwatson@ubuntu.com>
8730
8731 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8732 widthspec.h.
8733
8734 * docs/grub.texi (Shell-like scripting): Document `!'.
8735 (Network): Simplify using new i386-pc-pxe format. Mention
8736 grub-mknetdir.
8737
8738 * NEWS: Update.
8739
943682b4
CW
87402010-09-20 Colin Watson <cjwatson@ubuntu.com>
8741
8742 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8743 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8744 when needed.
8745
6d3d698d
CW
87462010-09-20 Colin Watson <cjwatson@ubuntu.com>
8747
8748 * grub-core/commands/efi/lsefisystab.c: Correct header.
8749 * grub-core/commands/efi/lssal.c: Likewise.
8750 * grub-core/commands/testload.c: Likewise.
8751
c982589f
CW
87522010-09-20 Colin Watson <cjwatson@ubuntu.com>
8753
8754 * util/grub-mkrescue.in: Add explicit root argument to --set to
8755 prevent the UUID being interpreted as an argument to --set (matches
8756 previous change to prepare_grub_to_access_device).
8757
a63c31b6
CW
87582010-09-20 Colin Watson <cjwatson@ubuntu.com>
8759
8760 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8761 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8762 the verbosity of later #ifs.
8763 (find_partition_start): Define this function on FreeBSD too.
8764 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8765 function.
8766 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8767 on FreeBSD.
8768
6439b8ee
YB
87692010-09-20 Yves Blusseau <blusseau@zetam.org>
8770
8771 * util/grub-editenv.c: Use argp instead of getopt.
8772
c5930ec8
YB
87732010-09-20 Yves Blusseau <blusseau@zetam.org>
8774
8775 * util/grub-setup.c: Use argp instead of getopt.
8776
15c69261
YB
87772010-09-20 Yves Blusseau <blusseau@zetam.org>
8778
8779 Use gnulib-tool to create gnulib source files.
8780
8781 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8782 grub-core/gnulib directories
8783 * .bzignore: Add **/.deps and autogenerated gnulib files
8784 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8785 of gnulib macros, add grub-core/gnulib/Makefile
8786 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8787 include m4 directory to aclocal.
8788 * Makefile.util.def: Remove direct compilation of gnulib source files
8789 and use the new grub-core/gnulib/libgnu.a.
8790 * build-aux/config.rpath: move config.rpath from top directory to
8791 build-aux
8792 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8793 in gnulib headers
8794 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8795 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8796 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8797 header.
8798 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8799 string.
8800
e511c9f5
YB
88012010-09-20 Yves Blusseau <blusseau@zetam.org>
8802
8803 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8804 grub-core/genmod.sh and grub-core/gensyminfo.sh
8805
c2dede05
BC
88062010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8807
8808 Add a test for echo command options.
8809
8810 * tests/grub_cmd_echo.in: New test.
8811 * Makefile.util.def: Rules for new test.
8812
c55f5018
SJ
88132010-09-20 Szymon Janc <szymon@janc.net.pl>
8814
8815 Remove crc.mod and move crc command to hashsum.mod.
8816 Remove lib/crc.c - users updated to use gcrypt implementation.
8817
8818 * grub-core/commands/crc.c: Removed.
8819 * grub-core/Makefile.core.def (crc): Module removed.
8820 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8821 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8822 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8823 * grub-core/lib/crc.c: Removed.
8824 * include/grub/lib/crc.h: Removed.
8825 * Makefile.util.def (crc): Remove lib/crc.c
8826 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8827 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8828 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8829 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8830 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8831 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8832
e0337366
VS
88332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8836
742f9232
VS
88372010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 Split config.h for util and core.
8840
8841 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8842 (ADDR32): Likewise.
8843 (DATA32): Likewise.
8844 (BSS_START_SYMBOL): Likewise.
8845 (END_SYMBOL): Likewise.
8846 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8847 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8848 * config.h.in: New file.
8849 * configure.ac: Use config-util.h as config define file.
8850 Rename MACHINE into GRUB_MACHINE. All users updated.
8851 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8852 updated.
8853 (NESTED_FUNC_ATTR): Likewise.
8854 Substitue new variables.
8855 (COND_HAVE_ASM_USCORE): New conditional.
8856 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8857 (kernel_syms.lst): Use ASM_PREFIX.
8858 * grub-core/kern/emu/console.c: Include config-util.h.
8859 * grub-core/kern/emu/misc.c: Likewise.
8860 * grub-core/kern/emu/mm.c: Likewise.
8861 * include/grub/emu/misc.h: Likewise.
8862 * include/grub/libgcc.h: Likewise.
8863
39feb0e8
VS
88642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8867 constants usage.
8868 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8869 Fix GRUB_TERM_KEY_* constants usage.
8870 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8871
9af6dac3
VS
88722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8875 print pointer.
8876 * grub-core/bus/usb/uhci.c: Remove empty define.
8877 (grub_uhci_check_transfer): Add missing cast.
8878 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8879 print pointer.
8880 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8881 PRIuGRUB_SIZE.
8882 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8883
d6d94820
VS
88842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/Makefile.core.def (legacycfg): Add
8887 lib/i386/pc/vesa_modes_table.c on emu.
8888
3572f2b6
BC
88892010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8890
8891 Reduce number of temporary files generated by build system.
8892
8893 * grub-core/gencmdlist.sh: Removed.
8894 * grub-core/genfslist.sh: Removed.
8895 * grub-core/genhandlerlist.sh: Removed.
8896 * grub-core/genmodsrc.sh: Removed.
8897 * grub-core/genpartmaplist.sh: Removed.
8898 * grub-core/genparttoollist.sh: Removed.
8899 * grub-core/gentermiinallist.sh: Removed.
8900 * grub-core/genvideolist.sh: Removed.
8901
8902 * grub-core/genmod.sh.in: New file.
8903 * grub-core/gensyminfo.sh.in: New file.
8904
8905 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8906 * conf/Makefile.extra-dist: Update with new files.
8907 * gentpl.py: Remove rules related to unnecessary temporary files.
8908 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8909 and und-* files.
8910 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8911 genmod.sh scripts.
8912 * grub-core/bus/usb/uhci.c: Remove empty #define.
8913 * grub-core/genmoddep.awk: Updated with new syminfo format.
8914 * util/bash-completion.d/Makefile.am: Add config.log to
8915 CLEANFILES.
8916
c836b030
YB
89172010-09-19 Yves Blusseau <blusseau@zetam.org>
8918
8919 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8920
2f4e8053
BC
89212010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8922
8923 * util/grub-mkconfig.in: Check the config script for syntax errors
8924 before saving.
8925
75831c34
CW
89262010-09-19 Colin Watson <cjwatson@ubuntu.com>
89272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8930 platforms.
8931 * util/grub-install.in: Add EFI and IEEE1275 support.
8932 * util/i386/efi/grub-install.in: Removed.
8933 * util/ieee1275/grub-install.in: Likewise.
8934
eaf41b25
VS
89352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8938 (grub_cmd_cmosclean): Likewise.
8939 (GRUB_MOD_INIT): Register command cmosclean.
8940 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8941 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8942
1a9130dd
CPE
89432010-09-18 Carles Pina i Estany <carles@pina.cat>
89442010-09-18 Aleš Nesrsta <starous@volny.cz>
89452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 Add keyboard layouts support.
8948
8949 * Makefile.util.def (grub-mklayout): New file.
8950 (grub-kbdcomp): New script.
8951 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8952 Add keyboard_layouts.h.
8953 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8954 commands/boot.c on yeeloong.
8955 (keylayouts): New module.
8956 * grub-core/bus/usb/ohci.c
8957 * grub-core/bus/usb/uhci.c
8958 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8959 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8960 (attach_root_port): Likewise.
8961 (poll_nonroot_hub): Likewise.
8962 (grub_usb_poll_devices): Likewise.
8963 (detach_device): Close transfer.
8964 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8965 function.
8966 (grub_usb_bulk_setup_readwrite): Likewise.
8967 (grub_usb_bulk_finish_readwrite): Likewise.
8968 * grub-core/commands/keylayouts.c: New file.
8969 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8970 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8971 aliases.
8972 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8973 support scancode 2.
8974 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8975 * include/grub/keyboard_layouts.h: New file.
8976 * util/grub-mklayout.c: New file.
8977 * util/grub-kbdcomp.in: Likewise.
8978
a1d84a5e
VS
89792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 Unify memory types.
8982
8983 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8984 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8985 types.
8986 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8987 (grub_upper_mem): Likewise.
8988 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8989 * include/grub/memory.h (grub_memory_type_t): New enum.
8990 All users updated.
8991
9696382e
VS
89922010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/Makefile.core.def (lsapm): New module.
8995 * grub-core/commands/i386/pc/lsapm.c: New file.
8996 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8997 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8998 Likewise.
8999 * include/grub/i386/pc/apm.h: New file.
9000 * include/multiboot.h (multiboot_apm_info): New struct.
9001
90022010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 GRUB-legacy configuration file support.
9005
9006 * Makefile.util.def (grub-menulst2cfg): New util.
9007 * docs/man/grub-menulst2cfg.h2m: New file.
9008 * grub-core/Makefile.core.def (legacycfg): New module.
9009 * grub-core/commands/legacycfg.c: New file.
9010 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9011 (grub_normal_add_menu_entry): ... this.
9012 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9013 (grub_normal_set_password): ...this.
9014 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9015 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9016 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9017 * grub-core/lib/legacy_parse.c: New file.
9018 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9019 * include/grub/i386/pc/vesa_modes_table.h: New file.
9020 * include/grub/legacy_parse.h: Likewise.
9021 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9022 * util/grub-menulst2cfg.c: New file.
9023
bf8d1338
CW
90242010-09-17 Colin Watson <cjwatson@ubuntu.com>
9025
9026 * grub-core/kern/emu/hostdisk.c
9027 (convert_system_partition_to_system_disk): Initialise node.
9028
9c0bad2e
CW
90292010-09-17 Colin Watson <cjwatson@ubuntu.com>
9030
9031 * grub-core/kern/emu/hostdisk.c
9032 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9033 leak.
9034 Reported and based on patch by: Modestas Vainius.
9035
a939d135
CW
90362010-09-17 Colin Watson <cjwatson@ubuntu.com>
9037
9038 Fix DM-RAID probing with recent versions of device-mapper udev
9039 rules.
9040
9041 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9042 canonicalise device paths under /dev/mapper/.
9043 (convert_system_partition_to_system_disk): Compare the
9044 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9045 path, since device nodes under /dev/mapper/ are often symlinks.
9046
0f7ee3c9
YB
90472010-09-17 Yves Blusseau <blusseau@zetam.org>
9048
9049 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9050
10854d0d
YB
90512010-09-16 Yves Blusseau <blusseau@zetam.org>
9052
9053 * configure.ac: Avoid some annoying error messages if freetype-config
9054 program is not found.
9055
108538d8
CW
90562010-09-16 Colin Watson <cjwatson@ubuntu.com>
9057
9058 Support RAID on virtio devices, and others.
9059
9060 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9061 Rename to ...
9062 [__MINGW32__] (grub_find_device): ... this.
9063 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9064 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9065 reasonable default if dir is NULL.
9066 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9067 ...
9068 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9069 (grub_guess_root_device): Update callers.
9070 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9071
9072 * util/raid.c (grub_util_getdiskname): Remove.
9073 (grub_util_raid_getmembers): Use grub_find_device rather than
9074 grub_util_getdiskname.
9075
e5bfc130
CW
90762010-09-16 Colin Watson <cjwatson@ubuntu.com>
9077
9078 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9079 needing to be compiled with serial support.
9080 (ls): Indicate that multiple files are accepted.
9081 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9082 indicate that multiple files are accepted.
9083
be458ae2
CW
90842010-09-16 Colin Watson <cjwatson@ubuntu.com>
9085
9086 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9087 libgrub_a_init.c, and util/bash-completion.d/grub.
9088
cb731b5e
VS
90892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * util/grub-setup.c (setup): Fix incorrect container semantics.
9092
35139e8a
VS
90932010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9096 misusage.
9097 Reported by: J. Nick Terry
9098
e50fca4a
VS
90992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 Move embedding routines to partmap sources files.
9102
9103 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9104 [GRUB_UTIL]: New variable.
9105 (gpt_partition_map_iterate): Set part.parent.
9106 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9107 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9108 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9109 New function.
9110 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9111 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9112 (grub_partition_map) [GRUB_UTIL]: New field embed.
9113 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9114 (setup): Use ->embed.
9115
f00478b7
VS
91162010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9119 function.
9120 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9121 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9122
2b94e3ff
YB
91232010-09-15 Yves Blusseau <blusseau@zetam.org>
9124
9125 Add function to get completions from usage.
9126
9127 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9128 completions from usage. Use LC_ALL=C to get options properly.
9129
2e04a006
VS
91302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * grub-core/gnulib/basename-lgpl.c: Imported.
9133 * grub-core/gnulib/basename.c: Likewise.
9134 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9135 * grub-core/gnulib/dirname.c: Likewise.
9136 * grub-core/gnulib/dirname.h: Likewise.
9137 * grub-core/gnulib/stripslash.c: Likewise.
9138
5dcdf93a
VS
91392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * grub-core/gnulib/error.c: Resynced.
9142 * grub-core/gnulib/getopt.c: Likewise.
9143 * grub-core/gnulib/getopt_int.h: Likewise.
9144 * grub-core/gnulib/regex.h: Likewise.
9145 * grub-core/gnulib/regex_internal.c: Likewise.
9146 * grub-core/gnulib/regex_internal.h: Likewise.
9147
014f47b7
SJ
91482010-09-15 Szymon Janc <szymon@janc.net.pl>
9149
9150 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9151 CRC calculations and validity checks.
9152 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9153 calculations.
9154
dd521a4a
SJ
91552010-09-15 Szymon Janc <szymon@janc.net.pl>
9156
9157 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9158
79c4eeb9
VS
91592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 Fix incorrect echo options handling.
9162 Reported by: Yves Blusseau.
9163
9164 * include/grub/command.h (grub_command_flags_t): New flags
9165 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9166 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9167 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9168
ed80f7d5
VS
91692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9172 users updated.
9173 (GRUB_COMMAND_FLAG_MENU): Likewise.
9174 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9175 (GRUB_COMMAND_FLAG_TITLE): Removed.
9176 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9177 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9178 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9179 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9180 (grub_command_flags_t): New enum. All users updated.
9181
5fe7620a
SG
91822010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9183
9184 Fix solaris compilation.
9185
9186 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9187 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9188 (grub-emu-list): Likewise.
9189
545b752f
VS
91902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 Remove deprecated root command.
9193
9194 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9195 updated.
9196
6c1a338c
VS
91972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * util/i386/pc/grub-setup.c: Merge this ...
9200 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9201 * util/grub-setup.c: ... into this.
9202 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9203 New struct.
9204
92052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9208 possible.
9209
d2ea4551
VS
92102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9213 allocate p.
9214
3c3b5040
VS
92152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9218 explicit root argument to set to prevent UUID to be interpreted as
9219 argument to set.
9220
b71c3fae
VS
92212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9224
275433e6
VS
92252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 Don't export grub_gate_a20.
9228
9229 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9230 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9231 to ...
9232 (grub_gate_a20): ... this. All users updated.
9233 * include/grub/i386/pc/init.h: Removed. All users updated.
9234
a5dbb1f1
VS
92352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 Create euro.pf2 which supports most European languages.
9238
9239 * Makefile.am (grubdata_DATA): Add euro.pf2.
9240 (euro.pf2): New target.
9241 (CLEANFILES): Add euro.pf2.
9242
62a747cb
VS
92432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * configure.ac: Disable emu-usb by default to prevent inadvertent
9246 device takeover.
9247
608e43b1
VS
92482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Disable usbserial on grub-emu since our libusb code isn't good enough
9251 yet.
9252
9253 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9254 (usbserial_pl2303): Likewise.
9255 (usbserial_ftdi): Likewise.
9256
94564f81
VS
92572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * include/grub/disk.h (grub_disk): Remove has_partitions.
9260 All users updated.
9261 * disk/loopback.c (grub_loopback): Remove has_partitions.
9262 All users updated.
9263 (options): Remove partitions. All users updated.
9264 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9265 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9266 actual partition table is found.
9267
3352800b
VS
92682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 Remove readability checks (too many false negatives).
9271
9272 * util/grub-install.in: Remove readability checks.
9273 * util/grub-mkconfig.in: Likewise.
9274 * util/grub.d/10_hurd.in: Likewise.
9275 * util/grub.d/10_kfreebsd.in: Likewise.
9276 * util/grub.d/10_linux.in: Likewise.
9277 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9278 way.
9279
2419f17a
VS
92802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 Enable acpi shutdown on all ACPI platforms.
9283
9284 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9285 on coreboo, multiboot and EFI.
9286 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9287 (grub_acpi_halt): Likewise.
9288 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9289 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9290 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9291 * grub-core/lib/i386/halt.c (grub_halt)
9292 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9293
0575c7c3
VS
92942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9297 context.
9298
54ac3cd1
VS
92992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9302 * grub-core/video/efi_uga.c: Likewise.
9303
b2a30ac5
VS
93042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 Filter devaliases and never open same device twice.
9307
9308 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9309 (last_ihandle): Likewise.
9310 (ofdisk_hash_ent): New member shortest.
9311 (ofdisk_hash_add): Add canonical path too.
9312 (scan): New function.
9313 (grub_ofdisk_iterate): Iterate over hashed entries.
9314 (compute_dev_path): Don't add :0.
9315 (grub_ofdisk_open): Don't really open the disk.
9316 (grub_ofdisk_close): Avoid closing unrelated disk.
9317 (grub_ofdisk_read): Implement reopen logic.
9318 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9319 New function.
9320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9321 New proto.
9322
fb53b340
VS
93232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Fix sparc64.
9326
9327 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9328 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9329 right address. Add sparc64_ieee1275_ldflags.
9330 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9331 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9332 to grub_host_to_target_addr
9333 (load_image): Likewise.
9334
f452b040
VS
93352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/normal/completion.c (complete_file): Handle device
9338 containing slash.
9339 Fix based on patch by Doug Nazar.
9340
9b5b2541
VS
93412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 grub-mknetdir script.
9344
9345 * Makefile.util.def (grub-mknetdir): New module.
9346 * tests/util/grub-shell.in: Support boot=net
9347 * util/grub-mknetdir.in: New file.
9348
9d2be652
VS
93492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 videoinfo on non-vbe.
9352
9353 * grub-core/Makefile.core.def (vbeinfo): Removed.
9354 (vbetest): Removed.
9355 (videoinfo): New module.
9356 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9357 * grub-core/commands/i386/pc/vbetest.c: Removed.
9358 * grub-core/commands/videoinfo.c: New file.
9359 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9360 specification.
9361 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9362 as vbetest.
9363 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9364 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9365 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9366 mode_number. New parameter mode. All users updated.
9367 (grub_video_gop_iterate): New function.
9368 (grub_video_efi_gop): New member iterate.
9369 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9370 (grub_vbe_set_video_mode): Remove setting useless fields.
9371 (vbe2videoinfo): New function.
9372 (grub_video_vbe_iterate): Likewise.
9373 (grub_video_vbe_setup): Use vbe2videoinfo.
9374 (grub_video_vbe_print_adapter_specific_info): New function.
9375 (grub_video_vbe_adapter): New fields iterate and
9376 print_adapter_specific_info.
9377 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9378 All users updated.
9379 (grub_video_mode_info): New field mode_number.
9380 (grub_video_adapter): New fields iterate and
9381 print_adapter_specific_info.
9382
179503f5
TG
93832010-09-13 Tristan Gingold <gingold@free.fr>
93842010-09-13 Robert Millan <rmh.grub@aybabtu.com>
93852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/commands/efi/lsefisystab.c: New file.
9388 * grub-core/commands/efi/lssal.c: Likewise.
9389 * grub-core/Makefile.core.def (lsacpi): New module.
9390 (lsefisystab): Likewise.
9391 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9392 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9393 (grub_efi_sal_system_table): New struct.
9394 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9395 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9396 (grub_efi_sal_system_table_platform_features): Likewise.
9397 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9398 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9399 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9400 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9401
cf9827de
VS
94022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Support explicit user claim that a device is BIOS-visible.
9405
9406 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9407 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9408 * grub-core/kern/emu/hostdisk.c
9409 (convert_system_partition_to_system_disk): Support mdX.
9410 (find_system_device): New parameter add. All users updated.
9411 (grub_util_biosdisk_is_present): New function.
9412 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9413 proto.
9414
53f0eb1f
VS
94152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 Search hints support.
9418
9419 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9420 All users updated.
9421
b23ffd70
YB
94222010-09-13 Yves Blusseau <blusseau@zetam.org>
9423
9424 Bash completion script for util commands
9425
9426 * Makefile.am: Add util/bash-completion.d directory
9427 * configure.ac: Likewise.
9428 * util/bash-completion.d/Makefile.am: New file.
9429 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9430
d547dc28
VS
94312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9434 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9435 Reported by: Yves Blusseau.
9436
2fc8ccb9
VS
94372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9440 partition size and offset.
9441
d8a84076
VS
94422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9445
84fb3b3d
VS
94462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9449
768ec2e2
VS
94502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9453 (grub_xvasprintf): Likewise.
9454
4870900f
VS
94552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9458
faca6bec
VS
94592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9462 args ending with NULL.
9463
94642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9465
9466 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9467 pointer.
9468
3c70f225
SJ
94692010-09-11 Szymon Janc <szymon@janc.net.pl>
9470
9471 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9472
4df7996d
VS
94732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Shutdown using ACPI.
9476
9477 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9478 * grub-core/commands/acpihalt.c: New file.
9479 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9480 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9481 (grub_acpi_halt): New proto.
9482 (GRUB_ACPI_SLP_EN): New const.
9483 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9484 (GRUB_ACPI_OPCODE_*): New enum.
9485 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9486
126b4c32
TG
94872010-09-11 Tristan Gingold <gingold@free.fr>
94882010-09-11 Robert Millan <rmh.grub@aybabtu.com>
94892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * commands/lsacpi.c: New file.
9492 * grub-core/Makefile.core.def (lsacpi): New module.
9493 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9494 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9495 (grub_acpi_madt_entry_header): New struct.
9496 (grub_acpi_madt): Likewise.
9497 (grub_acpi_madt_entry_interrupt_override): Likewise.
9498 (grub_acpi_madt_entry_sapic): Likewise.
9499 (grub_acpi_madt_entry_lsapic): Likewise.
9500 (grub_acpi_madt_entry_platform_int_source): Likewise.
9501 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9502 (PRIuGRUB_UINT32_T): Likewise.
9503 (PRIxGRUB_UINT64_T): Likewise.
9504
1aa4fe88
VS
95052010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 Implement loading palette on ieee1275_fb.
9508
9509 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9510 (have_setcolors): Likewise.
9511 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9512 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9513 (grub_video_ieee1275_set_palette): Implement.
9514
25761e13
VS
95152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
95162010-09-11 Colin Watson <cjwatson@ubuntu.com>
9517
9518 * util/grub-install.in (grub_partition): New variable.
9519 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9520 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9521 Fixes a bug reported by Yves Blusseau.
9522
050abaea
VS
95232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 Fix emu on mipsel.
9526
9527 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9528 =grub_cpu_flush_cache on all mips and not only yeeloong.
9529 * configure.ac (COND_mips): New conditional.
9530 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9531 platforms.
9532 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9533 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9534 [GRUB_LINKER_HAVE_INIT]: New function.
9535 (grub_emu_post_init): Likewise.
9536 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9537 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9538 * include/grub/cache.h (_mips): Include mips/cache.h.
9539 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9540 LVM and RAID prototypes.
9541 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9542 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9543 function.
9544
5ed7d816
CW
95452010-09-10 Colin Watson <cjwatson@ubuntu.com>
9546
9547 * util/grub-install.in: Don't try to verify core.img until after
9548 running grub-mkimage to create it.
9549
90367e04
RM
95502010-09-10 Robert Millan <rmh@gnu.org>
9551
9552 * util/grub.d/10_hurd.in: Add misc readability checks.
9553 * util/grub.d/10_kfreebsd.in: Likewise.
9554 * util/grub.d/10_linux.in: Likewise.
9555
c452fa66
CW
95562010-09-10 Colin Watson <cjwatson@ubuntu.com>
9557
9558 * util/grub-install.in: ${imgext} won't be defined here until the
9559 install branch is merged. For the meantime, only verify core.img on
9560 i386-pc and sparc64-ieee1275 platforms.
9561
c38fe9f4
RM
95622010-09-10 Robert Millan <rmh@gnu.org>
9563
9564 Solaris support in grub_find_zpool_from_dir(). Thanks
9565 Seth Goldberg for referring to getextmntent() facility.
9566
9567 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9568 `sys/mkdev.h'.
9569 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9570 `<sys/mnttab.h>'.
9571 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9572 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9573 method for finding zpool name.
9574
905f7773
CW
95752010-09-10 Colin Watson <cjwatson@ubuntu.com>
9576
9577 grub-fstest needs the host and hostfs modules while other utilities
9578 actively require those modules to be absent, so grub-fstest needs
9579 its own initialisation and finalisation code.
9580
9581 * Makefile.am (grub_fstest.pp): New target.
9582 (grub_fstest_init.lst): Likewise.
9583 (grub_fstest_init.c): Likewise.
9584 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9585
fb90b546
RM
95862010-09-10 Robert Millan <rmh@gnu.org>
9587
9588 * configure.ac: Check for `struct statfs.f_fstypename' and
9589 `struct statfs.f_mntfromname'.
9590
9591 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9592 kFreeBSD-specific code.
9593
66d4bea5
RM
95942010-09-10 Robert Millan <rmh@gnu.org>
9595
9596 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9597 on ZFS. Now non-main filesystems are supported as / too.
9598
b6a690ee
CW
95992010-09-09 Colin Watson <cjwatson@ubuntu.com>
9600
9601 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9602 and grub-core/disk/host.c to ...
9603 (grub-fstest): ... here. Having the host disk implementation
9604 present confuses grub-probe and other utility programs.
9605
9606 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9607 when writing to a file, not when writing to stdout.
9608
8901b00c 96092010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9610
9611 * tests/partmap_test.in: New test for partitions.
9612 * Makefile.util.def: Rules for new test.
9613
7bf45fdd
RM
96142010-09-09 Robert Millan <rmh@gnu.org>
9615
9616 * util/grub-probe.c (probe): Fix a pair of unhandled error
9617 conditions.
9618
4dfbc574
RM
96192010-09-09 Robert Millan <rmh@gnu.org>
9620
9621 Basic Btrfs support (detection and UUID).
9622
9623 * grub-core/fs/btrfs.c: New file.
9624 * Makefile.util.def (library): Register btrfs.c.
9625 * grub-core/Makefile.core.def: Likewise.
9626
6b8e78ae
RM
96272010-09-08 Robert Millan <rmh@gnu.org>
9628
9629 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9630 with (optional) parameters to specify device and relative path.
9631 * util/grub-install.in: Use is_path_readable_by_grub() to
9632 verify readability of a few critical files.
9633 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9634 verify readability of grub.cfg.new.
9635
27f21a8b
VS
96362010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Split minix.mod into minix.mod and minix2.mod.
9639
9640 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9641 * grub-core/Makefile.core.def (minix2): New module.
9642 * grub-core/fs/minix.c: Use definitions instead of runtime version
9643 checking.
9644 * grub-core/fs/minix2.c: New file.
9645
c0e53ea5
YB
96462010-09-08 Yves Blusseau <blusseau@zetam.org>
9647
9648 Add new --boot-directory option to replace --root-directory
9649
9650 * util/grub-install.in: Add new --boot-directory option
9651 * util/grub-reboot.in: Likewise.
9652 * util/grub-set-default.in: Likewise.
9653
b9fe6ea2
YB
96542010-09-08 Yves Blusseau <blusseau@zetam.org>
9655
9656 * util/grub-mkconfig.in: Use new variable.
9657
d87aedff
YB
96582010-09-08 Yves Blusseau <blusseau@zetam.org>
9659
9660 * configure.ac: Define some useful variables.
9661
e55e8495
VS
96622010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9665 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9666 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9667 Use terminfo and don't use cursor-on/cursor-off unless it's known
9668 to work.
9669 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9670 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9671
6fa6d675
CW
96722010-09-08 Colin Watson <cjwatson@ubuntu.com>
9673
9674 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9675 starts with "(,", fill the drive containing the loaded image in
9676 between those two characters, but expect that a full partition
9677 specification including partition map names will follow.
9678
92f2aef0
RM
96792010-09-08 Robert Millan <rmh@gnu.org>
9680
9681 * configure.ac: Remove `--enable-grub-fstest' option.
9682 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9683
9684 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9685 `grub-fstest' instead of `grub-probe' for readability verification.
9686 * util/grub-probe.c (probe): Remove readability verification kludge.
9687
99fd620d
RM
96882010-09-08 Robert Millan <rmh@gnu.org>
9689
9690 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9691 initializing `GRUB_FS'.
9692
058e30ac 96932010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9694
9695 Not command (!) support to GRUB script.
9696
9697 * tests/grub_script_not.in: New test.
9698 * Makefile.util.def: Rules for new test.
9699
9700 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9701 ! command as a special case.
9702 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9703
b61d05ed 97042010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9705
058e30ac 9706 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9707 grub_free.
b61d05ed 9708
4d69c786 97092010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9710
9711 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9712
aa3119c4 97132010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9714
9715 * docs/grub.texi (Shell-like scripting): Documentation for break,
9716 continue, shift and return commands.
9717
db0f7e3d
VS
97182010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 Rename CD-ROM to cd on BIOS.
9721
9722 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9723 "cd".
9724 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9725
88b87c93
VS
97262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9729 * util/grub-probe.c (main): Likewise.
9730 * util/i386/pc/grub-setup.c (main): Likewise.
9731 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9732 Reported and debugged by: alexxy
9733
294f324d
VS
97342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9737 diagnostic info.
9738
d7ee3441
JS
97392010-09-05 Jo Shields <directhex@apebox.org>
9740
9741 * util/grub.d/30_os-prober.in: Add missing classes.
9742
d7e06c1f
VS
97432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 * docs/grub.texi (Theme file format): Document new position format.
9746
fc157e53
VS
97472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9750 a table. Use @code instead of @verbatim.
9751
506e9a1c
CB
97522010-09-05 Colin D Bennett <colin@gibibit.com>
9753
9754 Gfxmenu documentation.
9755
9756 * docs/grub.texi (Theme file format): New chapter.
9757
f0aff67c
SJ
97582010-09-05 Szymon Janc <szymon@janc.net.pl>
9759
9760 * grub-core/Makefile.core.def (xzio): New module.
9761 * grub-core/io/xzio.c: New file.
9762 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9763 * grub-core/lib/xzembed/xz_config.h: Likewise.
9764 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9765 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9766 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9767 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9768 * grub-core/lib/xzembed/xz_private.h: Likewise.
9769 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9770 * include/grub/file.h (grub_file_filter_id): New compression filter
9771 GRUB_FILE_FILTER_XZIO.
9772
82a85062
VS
97732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9776 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9777 size.
9778
3579415d
VS
97792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9782 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9783
5124ae6d
VS
97842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 Uncompressed checksum support.
9787
9788 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9789 (check_list): New parameter uncompress.
9790 (grub_cmd_hashsum): Handle --uncompress.
9791
9aadb3d1
VS
97922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 Reintroduce testload.
9795
9796 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9797 from here ...
9798 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9799 (GRUB_MOD_INIT): New function.
9800 (GRUB_MOD_FINI): Likewise.
9801 * grub-core/Makefile.core.def (testload): New module.
9802
a17792c3
SJ
98032010-09-05 Szymon Janc <szymon@janc.net.pl>
9804
9805 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9806 (uint8_t): New type.
9807 (uint16_t): Likewise.
9808 (uint32_t): Likewise.
9809 (uint64_t): Likewise.
9810
b81e40a3
SJ
98112010-09-05 Szymon Janc <szymon@janc.net.pl>
9812
9813 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9814
fc2ef117
VS
98152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9818 Made static.
9819 (grub_gzfile_open): Removed. All users updated.
9820 (GRUB_MOD_INIT): New function.
9821 (GRUB_MOD_FINI): Likewise.
9822 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9823 (grub_file_filters_enabled): Likewise.
9824 (grub_file_open): Handle filters.
9825 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9826 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9827 * include/grub/file.h (grub_file_filter_id_t): New type.
9828 (grub_file_filter_t): Likewise.
9829 (grub_file_filters_all): New extern variable.
9830 (grub_file_filters_enabled): Likewise.
9831 (grub_file_filter_register): New inline function.
9832 (grub_file_filter_unregister): Likewise.
9833 (grub_file_filter_disable): Likewise.
9834 (grub_file_filter_disable_compression): Likewise.
9835 * include/grub/gzio.h: Removed.
9836
35ee15e0
BC
98372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9838
9839 Filename expansion support for wildcards in GRUB script.
9840
9841 * tests/grub_script_expansion.in: New test.
9842 * Makefile.util.def: Rule for new test.
9843
9844 * grub-core/commands/wildcard.c: New file, implements filename
9845 expansion support for GRUB script.
9846 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9847 * grub-core/script/argv.c: Cosmetic changes.
9848 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9849 Refactored to perform wildcard expansion on arguments.
9850 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9851 struct.
9852
9853 * tests/util/grub-shell.in: Fix quoting for read input.
9854
5f0c4aca
BC
98552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9856
9857 Support for updating environment variables with matched substrings
9858 of regexp.
9859
9860 * tests/grub_cmd_regexp.in: New test.
9861 * Makefile.util.def: Rule for new test.
9862
9863 * grub-core/commands/regexp.c: New option -s to update environment
9864 variables with regexp matches.
9865
3759a35f
SJ
98662010-09-04 Szymon Janc <szymon@janc.net.pl>
9867
9868 * include/grub/file.h (grub_file): New member not_easly_seekable.
9869 (grub_file_seekable): New inline function.
9870 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9871 easily seekable.
9872 (grub_gzio_open): Set not_easly_seekable.
9873 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9874 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9875
ed8c6dec
BC
98762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9877
9878 Support for options to appear multiple times on cmdline.
9879
9880 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9881 * grub-core/commands/extcmd.c: Support for repeatable option.
9882 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9883 repeatable option support.
9884
9885 Refactor menuentry into a regular command.
9886
9887 * grub-core/commands/menuentry.c: New file, menuentry command
9888 implementation.
9889 * grub-core/Makefile.core.def: Rule update for normal.mod.
9890 * grub-core/normal/main.c: Moved menuentry creation to
9891 grub-core/commands/menuentry.c.
9892 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9893 (grub_menu_execute_entry_real): Removed.
9894 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9895 function.
9896 (grub_script_execute_menuentry): Removed.
9897 * grub-core/script/parser.y (menuentry): Removed.
9898 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9899 * grub-core/script/yylex.l (menuentry): Removed.
9900 * include/grub/menu.h (grub_menu_init): New prototype.
9901 (grub_menu_fini): New prototype.
9902 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9903 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9904 (grub_script_execute_sourcecode): New prototype.
9905
dacd0cf0
BC
99062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9907
9908 "return" command for GRUB script functions.
9909
9910 * tests/grub_script_return.in: New test.
9911 * Makefile.util.def: Rules for new test.
9912
9913 * grub-core/script/execute.c (grub_script_return): New function.
9914 * grub-core/script/main.c: Register/unregister return commaond.
9915 * include/grub/script_sh.h (grub_script_return): New prototype.
9916
52e72f9d
BC
99172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9918
9919 "setparams" command to update positional parameters.
9920
9921 * tests/grub_script_setparams.in: New test.
9922 * Makefile.util.def: Rules for new test.
9923
9924 * grub-core/script/argv.c (grub_script_argv_make): New function.
9925 * grub-core/script/execute.c (replace_scope): New function.
9926 (grub_script_setparams): New function.
9927 * grub-core/script/lexer.c: Remove unused variables.
9928 * grub-core/script/main.c: Register/unregister setparams command.
9929 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9930 (grub_script_setparams): New prototype.
9931
25b60c91
BC
99322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9933
9934 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9935 grub_free order.
9936
37e7bf68
BC
99372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9938
9939 Support for passing block of commands as an argument to extcmds.
9940
9941 * Makefile.util.def: Rules for new test.
9942 * tests/grub_script_blockarg.in: New test.
9943 * grub-core/tests/test_blockarg.c: New file, block argument
9944 command used in the test.
9945
9946 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9947 (grub_register_extcmd_prio): New function prototype.
9948 (grub_extcmd_dispatcher): New function prototype.
9949 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9950 type.
9951 * include/grub/script_sh.h (struct grub_script): New members
9952 `children', `next_siblings' and `refcnt' for block arguments and
9953 reference counting.
9954 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9955 (grub_script_arg): New member `script' for block argument.
9956 (grub_script_argv): New member `script' for block argument.
9957 (grub_parser_param): New member `scripts' for block argument.
9958 (grub_script_mem_free): New extern function prototype.
9959 (grub_script_ref): New function prototype.
9960 (grub_script_unref): New function prototype.
9961
9962 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9963 extcmd form to support block arguments.
9964 * grub-core/script/argv.c: Block arguments support.
9965 * grub-core/script/execute.c: Likewise.
9966 * grub-core/script/lexer.c: Likewise.
9967 * grub-core/script/main.c: Likewise.
9968 * grub-core/script/script.c: Likewise.
9969 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9970 non-terminals.
9971
9972 * grub-core/commands/acpi.c: Update extcmd implementations with
9973 grub_extcmd_context_t.
9974 * grub-core/commands/cat.c: Likewise.
9975 * grub-core/commands/echo.c: Likewise.
9976 * grub-core/commands/extcmd.c: Likewise.
9977 * grub-core/commands/hashsum.c: Likewise.
9978 * grub-core/commands/hdparm.c: Likewise.
9979 * grub-core/commands/help.c: Likewise.
9980 * grub-core/commands/hexdump.c: Likewise.
9981 * grub-core/commands/i386/cpuid.c: Likewise.
9982 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9983 * grub-core/commands/i386/pc/halt.c: Likewise.
9984 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9985 * grub-core/commands/iorw.c: Likewise.
9986 * grub-core/commands/keystatus.c: Likewise.
9987 * grub-core/commands/loadenv.c: Likewise.
9988 * grub-core/commands/ls.c: Likewise.
9989 * grub-core/commands/lspci.c: Likewise.
9990 * grub-core/commands/memrw.c: Likewise.
9991 * grub-core/commands/probe.c: Likewise.
9992 * grub-core/commands/search_wrap.c: Likewise.
9993 * grub-core/commands/setpci.c: Likewise.
9994 * grub-core/commands/sleep.c: Likewise.
9995 * grub-core/disk/loopback.c: Likewise.
9996 * grub-core/hello/hello.c: Likewise.
9997 * grub-core/loader/i386/bsd.c: Likewise.
9998 * grub-core/loader/xnu.c: Likewise.
9999 * grub-core/term/gfxterm.c: Likewise.
10000 * grub-core/term/serial.c: Likewise.
10001 * grub-core/tests/lib/functional_test.c: Likewise.
10002
888d1500
BC
100032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10004
10005 Multi-line quoted strings support.
10006
10007 * grub-core/script/lexer.c (append_newline): Removed.
10008 (grub_script_lexer_yywrap): Refactored.
10009 (grub_script_lexer_init): Refactored.
10010 * grub-core/script/yylex.l (yywrap): New function.
10011 (grub_lexer_resplit): New function.
10012 (grub_lexer_unput): New function.
10013 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10014 and resplit.
10015 * tests/grub_script_echo1.in: Added few more testcases.
10016
dda060dd
VS
100172010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/kern/misc.c: Don't add abort alias in utils.
10020 Reported by: echoline.
10021
6556eba9
BC
100222010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10023
10024 Add missing files into "make dist" tarball for other platforms.
10025
10026 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10027 * conf/Makefile.common (dist_noinst_DATA): New variable.
10028 * conf/Makefile.extra-dist: Added missing make dist files.
10029 * grub-core/Makefile.core.def: Likewise.
10030
c8e7bf5f
VS
100312010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 Compress grub_prefix.
10034
10035 * grub-core/boot/i386/pc/lnxboot.S: Use
10036 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10037 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10038 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10039 GRUB_MACHINE_PREFIX_END. All users updated.
10040 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10041 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10042 + 0x40.
10043 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10044 * util/grub-mkimage.c (image_target_desc): Change data_end to
10045 prefix_end. All users updated.
10046
a7c00cdb
VS
100472010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10050 value.
10051 (grub_openbsd_boot): Likewise.
10052 (grub_netbsd_boot): Likewise.
10053 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10054 (grub_xnu_boot): Likewise.
10055
9f915872
VS
100562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * configure.ac: Clean LIBS variable after tests.
10059
efa1bee7
CW
100602010-09-02 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10063
61d720e5
VS
100642010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10067 echo if libdevmapper will be used.
10068
ef8e0ec8
IT
100692010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10070
10071 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10072 constant for the same file.
10073
03e261d8
VS
100742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10077
c2a4eba6
CW
100782010-09-02 Colin Watson <cjwatson@ubuntu.com>
10079
10080 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10081 grub-core/*.pp.
10082
9056cbf3
CW
100832010-09-02 Colin Watson <cjwatson@ubuntu.com>
10084
10085 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10086 required by the boot protocol.
10087
10088 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10089 ebp and edi members.
10090 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10091 state.ebp and state.edi.
10092 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10093 %ebp and %edi according to grub_relocator32_ebp and
10094 grub_relocator32_edi respectively.
10095 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10096 and state.edi.
10097
529cc99a
VS
100982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Add i386-pc-pxe image target.
10101
10102 * util/grub-mkimage.c (image_target_desc): New enum value
10103 IMAGE_I386_PC_PXE.
10104 (image_targets): New target i386-pc-pxe.
10105 (generate_image): Handle i386-pc-pxe image.
10106
9a093920
VS
101072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 Fix grub_pxe_scan.
10110
10111 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10112 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10113 All users updated.
10114 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10115 (grub_pxe_pxenv): Correct type.
10116
f9cefc4e
CW
101172010-09-01 Colin Watson <cjwatson@ubuntu.com>
10118
10119 * NEWS: Document most of the important changes since 1.98.
10120
4066f57f
CW
101212010-09-01 Colin Watson <cjwatson@ubuntu.com>
10122
10123 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10124 generated manual page) a little.
10125
da2891f9
CW
101262010-09-01 Colin Watson <cjwatson@ubuntu.com>
10127
10128 * docs/grub.texi: Add myself as an author.
10129
ad717fae
VS
101302010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * Makefile.util.def (libgrub.a): Add missing sunpc.
10133 Reported by: Seth Goldberg.
10134
eefe8abd
VS
101352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Interrupt wrapping and code simplifications.
10138
9494ef9a
VS
10139 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10140 x86_noieee1275 which are functionaly equivalent in this case.
10141 (grub-install): Make source on each platform explicit. Enable on
10142 all noemu.
10143 * gentpl.py (x86_efi_pc): Removed group.
10144 (x86_noefi): Likewise.
10145 (i386_noefi): Likewise.
10146 (x86_noieee1275): Likewise.
10147 (i386_noieee1275): Likewise.
10148 (i386_noefi_noieee1275): Likewise.
10149 (i386_pc_qemu_coreboot): Likewise.
10150 (i386_coreboot_multiboot): Likewise.
10151 (i386_pc_coreboot_multiboot_qemu): Likewise.
10152 (x86_noefi_mips): Likewise.
10153 (noieee1275): Likewise.
10154 (ieee1275_mips): Likewise.
10155 (noemu_noieee1275): Likewise.
10156 (cmos): New group.
10157 (usb): Likewise.
10158 (videoinkernel): Likewise.
10159 (videomodules): Likewise.
eefe8abd 10160 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10161 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10162 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10163 include/grub/loader.h, include/grub/msdos_partition.h,
10164 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10165 include/grub/machine/console.h, include/grub/machine/vga.h,
10166 include/grub/machine/vbe.h, include/grub/machine/init.h,
10167 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10168 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10169 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10170 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10171 * grub-core/Makefile.core.def (kernel): Explicit the source for
10172 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10173 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10174 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10175 Use videoinkernel tag.
10176 (usb): Enable on all usb.
10177 (usbserial_common): Likewise.
10178 (usbserial_pl2303): Likewise.
10179 (usbserial_ftdi): Likewise.
10180 (uhci): Enable on all x86.
10181 (ohci): Enable on all pci.
10182 (cmostest): Enable on all CMOS.
10183 (acpi): Include commands/acpi.c on all platforms.
10184 (halt): Add relevant lib/*/halt.c.
10185 (hdparm): Enable on all pci.
10186 (lspci): Likewise.
10187 (usbtest): Enable on all usb.
10188 (ata): Enable on all pci.
10189 (ata_pthru): Likewise.
10190 (usbms): Enable on all usb.
10191 (usb_keyboard): Likewise.
10192 (font): Use tag videomodules.
10193 (bufio): Likewise.
10194 (datetime): Use tag cmos. Enable on all noemu.
10195 (mmap): Use tags common and x86.
10196 (gfxterm): Use tag videomodules.
10197 (bitmap): Likewise.
10198 (bitmap_scale): Likewise.
10199 (video_fb): Likewise.
10200 (video): Likewise.
10201 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10202 adjust padding accordingly. All users updated.
10203 (grub_ohci_transaction): Fix bad format specification.
10204 (GRUB_MOD_INIT): Add asserts for struct size.
10205 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10206 (grub_alloc_td): Likewise.
10207 (grub_free_queue): Likewise.
10208 (grub_uhci_transfer): Likewise.
10209 (grub_uhci_transaction): Fix bad format specification.
10210 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10211 (grub_usb_bulk_readwrite): Likewise.
10212 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10213 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10214 Made static.
10215 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10216 Made static.
10217 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10218 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10219 Transformed into C.
10220 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10221 Moved from here ...
10222 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10223 ... here. Transformed into C. Made static.
10224 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10225 Moved from here ...
10226 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10227 ... here. Transformed into C. Made static.
10228 * grub-core/kern/i386/pc/startup.S
10229 (grub_biosdisk_check_int13_extensions): Moved from here ...
10230 * grub-core/disk/i386/pc/biosdisk.c
10231 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10232 Made static.
10233 * grub-core/kern/i386/pc/startup.S
10234 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10235 * grub-core/disk/i386/pc/biosdisk.c
10236 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10237 Transformed into C. Made static.
10238 * grub-core/kern/i386/pc/startup.S
10239 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10240 * grub-core/disk/i386/pc/biosdisk.c
10241 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10242 Transformed into C. Made static.
10243 * grub-core/kern/i386/pc/startup.S
10244 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10245 * grub-core/disk/i386/pc/biosdisk.c
10246 (grub_biosdisk_get_diskinfo_standard): ... here.
10247 Transformed into C. Made static.
10248 * grub-core/kern/i386/pc/startup.S
10249 (grub_biosdisk_get_num_floppies): Moved from here ...
10250 * grub-core/disk/i386/pc/biosdisk.c
10251 (grub_biosdisk_get_num_floppies): ... here.
10252 Transformed into C. Made static.
10253 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10254 New function.
10255 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10256 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10257 Transformed into C. Made static.
10258 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10259 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10260 Transformed into C. Made static.
10261 * grub-core/kern/i386/ieee1275/init.c: Removed.
10262 * grub-core/kern/i386/misc.S: Likewise.
10263 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10264 Splitted from here ...
10265 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10266 Transformed into C. Made static. All users updated.
10267 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10268 Transformed into C. Made static. All users updated.
10269 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10270 Moved from here...
10271 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10272 Transformed into C. Made static. All users updated.
10273 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10274 Moved from here...
10275 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10276 Transformed into C. Made static. All users updated.
10277 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10278 Removed (replaced by C version).
10279 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10280 Moved from here...
10281 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10282 Transformed into C. Made static.
10283 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10284 Moved from here...
10285 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10286 ... here. Transformed into C.
10287 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10288 Moved from here...
10289 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10290 ... here. Transformed into C.
10291 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10292 Moved from here...
10293 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10294 ... here. Transformed into C. Made static.
10295 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10296 Moved from here...
10297 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10298 ... here. Transformed into C.
21ed554b
VS
10299 * grub-core/kern/i386/pc/startup.S
10300 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10301 * grub-core/video/i386/pc/vbe.c
10302 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10303 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10304 Moved from here...
10305 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10306 ... here. Transformed into C.
10307 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10308 Moved from here...
10309 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10310 ... here. Transformed into C.
10311 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10312 Moved from here...
10313 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10314 ... here. Transformed into C.
10315 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10316 Moved from here...
10317 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10318 ... here. Transformed into C.
10319 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10320 Moved from here...
10321 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10322 ... here. Transformed into C. Made static.
10323 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10324 Moved from here...
10325 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10326 ... here. Transformed into C. Made static.
10327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10328 Moved from here...
10329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10330 ... here. Transformed into C. Made static.
10331 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10332 pxe_rm_entry as third argument.
10333 (grub_bios_interrupt): New function.
10334 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10335 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10336 of calling grub_stop.
10337 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10338 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10339 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10340 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10341 * grub-core/lib/i386/halt.c: Moved from here ...
10342 * grub-core/lib/i386/halt.c: ... here.
10343 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10344 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10345 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10346 grub_stop_floppy.
10347 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10348 * include/grub/i386/coreboot/init.h: Removed.
10349 * include/grub/i386/multiboot/init.h: Likewise.
10350 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10351 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10352 * include/grub/i386/pc/int.h: New file.
10353 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10354 (grub_pxe_scan): Removed.
10355 (grub_pxe_call): Update prototype.
10356 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10357 prototypes.
10358 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10359 * include/grub/i386/qemu/init.h: Removed.
10360 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10361 noreturn.
10362 (grub_halt): Likewise.
10363 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10364 (grub_reboot): Likewise.
10365 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10366 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10367 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10368
215dd471
RM
103692010-08-30 Robert Millan <rmh@gnu.org>
10370
10371 * NEWS: Document addition of ZFS support in `grub-install' and
10372 `grub-mkconfig'.
10373
ebd65b82
BC
103742010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10375
10376 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10377 dprintf output.
10378
11721d19
VS
103792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Remove leftover embedding of font objects.
10382
10383 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10384 * util/grub-install.in (font): Removed.
10385 * util/grub-mkimage.c (generate_image): Remove font support. All users
10386 updated.
10387
37837d4e
VS
103882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 Remove leftover embedding of font objects.
10391
10392 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10393 * util/grub-install.in (font): Removed.
10394 * util/grub-mkimage.c (generate_image): Remove font support. All users
10395 updated.
10396
b4c1aae0
VS
103972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10400 Reported by: Ian Turner
b4c1aae0 10401
8920a08d
VS
104022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10405 timeout to avoid indefinite boot stalling.
10406
f21db033
VS
104072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10410 (grub_env_write_color_highlight): Likewise.
10411
9a9de209
VS
104122010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/normal/term.c (print_more): Return to normal and not
10415 to standard state after printing "---MORE---".
10416
3dca01d7
VS
104172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10420 Mask out the bit 0x80 since it has other meaning that specifiing color.
10421
0b986c40
VS
104222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 New relocator. Allows for more kernel support and more straightforward
10425 loader writing.
10426
10427 * Makefile.am (BOOTTARGET): New variable.
10428 (QEMU32): Likewise.
10429 (linux.init.x86_64): New target.
10430 (linux.init.i386): Likewise.
10431 (multiboot.elf): Likewise.
10432 (kfreebsd.elf): Likewise.
10433 (kfreebsd.aout): Likewise.
10434 (pc-chainloader.elf): Likewise.
10435 (pc-chainloader.bin): Likewise.
10436 (ntldr.elf): Likewise.
10437 (ntldr.bin): Likewise.
10438 (multiboot2.elf): Likewise.
10439 (kfreebsd.init.x86_64): Likewise.
10440 (kfreebsd.init.i386): Likewise.
10441 (knetbsd.init.i386): Likewise.
10442 (kopenbsd.init.i386): Likewise.
10443 (knetbsd.init.x86_64): Likewise.
10444 (kopenbsd.init.x86_64): Likewise.
10445 (linux-initramfs.i386): Likewise.
10446 (linux-initramfs.x86_64): Likewise.
10447 (kfreebsd-mfsroot.i386.img): Likewise.
10448 (knetbsd.image.i386): Likewise.
10449 (kopenbsd.image.i386): Likewise.
10450 (kopenbsd.image.x86_64): Likewise.
10451 (knetbsd.miniroot-image.i386.img): Likewise.
10452 (kfreebsd-mfsroot.x86_64.img): Likewise.
10453 (knetbsd.image.x86_64): Likewise.
10454 (knetbsd.miniroot-image.x86_64.img): Likewise.
10455 (kfreebsd-mfsroot.i386.gz): Likewise.
10456 (bootcheck-kfreebsd-i386): Likewise.
10457 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10458 (bootcheck-kfreebsd-x86_64): Likewise.
10459 (knetbsd.miniroot-image.i386.gz): Likewise.
10460 (bootcheck-knetbsd-i386): Likewise.
10461 (bootcheck-kopenbsd-i386): Likewise.
10462 (bootcheck-kopenbsd-x86_64): Likewise.
10463 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10464 (bootcheck-knetbsd-x86_64): Likewise.
10465 (bootcheck-linux-i386): Likewise.
10466 (bootcheck-linux-x86_64): Likewise.
10467 (bootcheck-linux16-i386): Likewise.
10468 (bootcheck-linux16-x86_64): Likewise.
10469 (bootcheck-multiboot): Likewise.
10470 (bootcheck-multiboot2): Likewise.
10471 (bootcheck-kfreebsd-aout): Likewise.
10472 (bootcheck-pc-chainloader): Likewise.
10473 (bootcheck-ntldr): Likewise.
10474 (CLEANFILES): Add new targets.
10475 (BOOTCHECKS): New variable.
10476 (.PHONY): Add bootchecks.
10477 (SUCCESSFUL_BOOT_STRING): New variable.
10478 (BOOTCHECK_TIMEOUT): Likewise.
10479 (bootcheck): New target
10480 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10481 * configure.ac: Correct efiemu excuse.
10482 * docs/grub.texi (Supported kernels): New chapter.
10483 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10484 include/grub/mm_private.h. Simplify inclusion of
10485 include/grub/boot.h, include/grub/loader.h
10486 and include/grub/msdos_partition.h
10487 (KERNEL_HEADER_FILES) [i386_coreboot]:
10488 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10489 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10490 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10491 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10492 include/grub/machine/loader.h.
10493 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10494 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10495 extra_dist.
10496 (pci.mod): Enable on i386-multiboot.
10497 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10498 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10499 i386-qemu.
10500 (relocator.mod): Rewritten.
10501 (aout.mod): Enable on all x86.
10502 (bsd.mod): Likewise.
10503 (ntldr.mod): New module.
10504 (linux.mod): Use loader/i386/linux.c on all x86.
10505 (xnu.mod): Enable on all x86.
10506 (vga_text.mod): disable on EFI and QEMU.
10507 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10508 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10509 * grub-core/efiemu/loadcore.c: Likewise.
10510 * grub-core/efiemu/main.c: Likewise.
10511 (grub_efiemu_exit_boot_services): Removed.
10512 (grub_efiemu_finish_boot_services): Likewise.
10513 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10514 function.
10515 * grub-core/efiemu/i386/nocfgtables.c: New file.
10516 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10517 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10518 (grub_efi_finish_boot_services): Moved from here ...
10519 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10520 Fille finish memory map and related data.
10521 (finish_mmap_buf): New variable.
10522 (grub_efi_uintn_t finish_mmap_size): Likewise.
10523 (grub_efi_uintn_t finish_key): Likewise.
10524 (grub_efi_uintn_t finish_desc_size): Likewise.
10525 (grub_efi_uint32_t finish_desc_version): Likewise.
10526 (grub_efi_is_finished): Likewise.
10527 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10528 finished.
10529 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10530 (grub_elf64_phdr_iterate): Likewise.
10531 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10532 (grub_os_area_size): Likewise.
10533 (grub_machine_init): Don't reserve os area.
10534 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10535 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10536 * grub-core/kern/i386/loader.S: Removed.
10537 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10538 (grub_os_area_size): Likewise.
10539 (grub_machine_init): Don't reserve os area.
10540 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10541 Don't call grub_dl_unload_all.
10542 Don't include loader.S.
10543 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10544 Declare the memory after _end as available.
10545 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10546 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10547 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10548 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10549 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10550 * include/grub/mm_private.h (grub_mm_header): ... here.
10551 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10552 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10553 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10554 (grub_mm_region): ..here. Removed addr. Added pre_size.
10555 All users updated.
10556 * grub-core/kern/mm.c (base): Renamed to ...
10557 (grub_mm_base): ... this. Made global.
10558 (grub_real_malloc): Alloc from end of region.
10559 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10560 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10561 * grub-core/kern/powerpc/cache_flush.S: ... here.
10562 * grub-core/lib/efi/relocator.c: New file.
10563 * grub-core/lib/i386/relocator.c: Rewritten.
10564 * grub-core/lib/i386/relocator16.S: New file.
10565 * grub-core/lib/i386/relocator32.S: Likewise.
10566 * grub-core/lib/i386/relocator64.S: Likewise.
10567 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10568 * grub-core/lib/i386/relocator_common.S: New file.
10569 * grub-core/lib/ieee1275/relocator.c: Likewise.
10570 * grub-core/lib/mips/relocator.c: Rewritten.
10571 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10572 stylistic adjustments.
10573 * grub-core/lib/powerpc/relocator.c: New file.
10574 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10575 * grub-core/lib/relocator.c: Rewritten.
10576 * grub-core/lib/x86_64/relocator_asm.S: New file.
10577 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10578 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10579 (bsd_tag): New struct.
10580 (tags): New variable.
10581 (tags_last): Likewise.
10582 (netbsd_module): New struct.
10583 (netbsd_mods): New variable.
10584 (netbsd_mods_last): Likewise.
10585 (openbsd_opts): New parameter "serial".
10586 (OPENBSD_SERIAL_ARG): New definition.
10587 (netbsd_opts): New parameter "serial".
10588 (NETBSD_SERIAL_ARG): New definition.
10589 (grub_freebsd_add_meta): Reorganised into ...
10590 (grub_bsd_add_meta): ...this. All users updated.
10591 (grub_freebsd_add_mmap): Reorganised into ...
10592 (generate_e820_mmap): ...this...
10593 (grub_bsd_add_mmap): ...and this. All users updated.
10594 (grub_freebsd_list_modules): Use tags.
10595 (grub_netbsd_add_meta_module): New function.
10596 (grub_netbsd_list_modules): Likewise.
10597 (grub_freebsd_boot): Use relocator and finish EFI.
10598 (grub_openbsd_boot): Likewise.
10599 (grub_netbsd_setup_video): New function.
10600 (grub_netbsd_add_modules): Likewise.
10601 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10602 and finish EFI.
10603 (grub_bsd_unload): Unload tags.
10604 (grub_bsd_load_aout): Use relocator.
10605 (grub_bsd_elf32_size_hook): New function.
10606 (grub_bsd_elf32_hook): Use relocator.
10607 (grub_bsd_elf64_size_hook): New function.
10608 (grub_bsd_elf64_hook): Use relocator.
10609 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10610 (grub_bsd_load): Zero-out openbsd_ramdisk.
10611 (grub_bsd_load): Use relocator.
10612 (grub_cmd_openbsd): Support serial.
10613 (grub_cmd_netbsd): Support modules.
10614 (grub_cmd_freebsd_module): Use relocator.
10615 (grub_netbsd_module_load): New function.
10616 (grub_cmd_netbsd_module): Likewise.
10617 (grub_cmd_openbsd_ramdisk): Likewise.
10618 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10619 kopenbsd_ramdisk.
10620 (GRUB_MOD_FINI): Unregister new commands.
10621 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10622 (grub_freebsd_load_elfmodule_obj): Use relocator.
10623 (grub_freebsd_load_elfmodule): Likewise.
10624 (grub_freebsd_load_elf_meta): Likewise.
10625 (grub_netbsd_load_elf_meta): New function.
10626 (grub_openbsd_find_ramdisk): Likewise.
10627 * grub-core/loader/i386/bsd_helper.S: Removed.
10628 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10629 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10630 * grub-core/loader/i386/efi/linux.c: Likewise.
10631 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10632 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10633 (DEFAULT_VIDEO_MODE): Likewise.
10634 (real_mode_target): New variable.
10635 (prot_mode_target): Likewise.
10636 (initrd_mem_target): Likewise.
10637 (relocator): Likewise.
10638 (efi_mmap_buf): Likewise.
10639 (efi_mmap_size): Likewise.
10640 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10641 (free_pages): Use relocator.
10642 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10643 (grub_linux_setup_video): Return error.
10644 (grub_linux_trampoline_start): Removed.
10645 (grub_linux_trampoline_end): Likewise.
10646 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10647 andd video parameters depending on firmware.
10648 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10649 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10650 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10651 (grub_cmd_initrd): Use relocator.
10652 * grub-core/loader/i386/linux_trampoline.S: Removed.
10653 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10654 (elf_sec_entsize): Likewise.
10655 (elf_sec_shstrndx): Likewise.
10656 (elf_sections): Likewise.
10657 (grub_multiboot_load): Use relocator.
10658 (grub_multiboot_get_mbi_size): Account for sections.
10659 (grub_multiboot_make_mbi): Use relocator and support sections.
10660 (grub_multiboot_add_elfsyms): New function.
10661 (grub_multiboot_free_mbi): Free sections.
10662 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10663 (grub_linux_real_target): Likewise.
10664 (grub_linux_real_chunk): Likewise.
10665 (grub_linux16_prot_size): Likewise.
10666 (grub_linux16_boot): Use relocator.
10667 (grub_linux_unload): Unload relocator.
10668 (grub_cmd_linux): Use relocator.
10669 (grub_cmd_initrd): Likewise.
10670 * grub-core/loader/i386/pc/ntldr.c: New file.
10671 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10672 Don't try to guess CPU frequency.
10673 (grub_xnu_set_video): Stretch bitmap.
10674 (grub_xnu_boot): Use relocator.
10675 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10676 (grub_linux_unload): Free relocator.
10677 (grub_linux_load32): Use relocator.
10678 (grub_linux_load64): Likewise.
10679 (grub_cmd_initrd): Likewise.
10680 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10681 (grub_multiboot_unload): Unload relocator.
10682 (grub_cmd_multiboot): Use relocator.
10683 (grub_cmd_module): Likewise.
10684 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10685 Use relocator and support sections.
10686 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10687 (elf_sec_entsize): Likewise.
10688 (elf_sec_shstrndx): Likewise.
10689 (elf_sections): Likewise.
10690 (grub_multiboot_load): Use relocator.
10691 (grub_multiboot_get_mbi_size): Account for sections.
10692 (grub_multiboot_make_mbi): Use relocator and support sections.
10693 (grub_multiboot_add_elfsyms): New function.
10694 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10695 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10696 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10697 Prototype changed. All users updated.
10698 (grub_xnu_align_heap): Simplified.
10699 (grub_xnu_writetree_toheap): Likewise.
10700 (grub_xnu_unload): Unload relocator.
10701 (grub_cmd_xnu_kernel): Use relocator.
10702 (grub_cmd_xnu_kernel64): Likewise.
10703 (grub_xnu_register_memory): Simplified.
10704 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10705 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10706 EFI is finished.
10707 (grub_console_checkkey): Likewise.
10708 (grub_console_getkey): Likewise.
10709 (grub_console_getwh): Likewise.
10710 (grub_console_getxy): Likewise.
10711 (grub_console_gotoxy): Likewise.
10712 (grub_console_cls): Likewise.
10713 (grub_console_setcolorstate): Likewise.
10714 (grub_console_setcursor): Likewise.
10715 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10716 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10717 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10718 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10719 * grub-core/tests/boot/kernel-8086.S: Likewise.
10720 * grub-core/tests/boot/kernel-i386.S: Likewise.
10721 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10722 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10723 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10724 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10725 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10726 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10727 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10728 * grub-core/tests/boot/linux.cfg: Likewise.
10729 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10730 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10731 * grub-core/tests/boot/linux16.cfg: Likewise.
10732 * grub-core/tests/boot/multiboot.cfg: Likewise.
10733 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10734 * grub-core/tests/boot/ntldr.cfg: Likewise.
10735 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10736 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10737 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10738 New definition.
10739 * include/grub/dl.h (grub_dl_unload_all): Removed.
10740 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10741 (grub_efi_finish_boot_services): Change prototype.
10742 (grub_efi_is_finished): New variable.
10743 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10744 Changed prototype.
10745 (grub_efiemu_finish_boot_services): Removed.
10746 (grub_machine_efiemu_init_tables): New prototype.
10747 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10748 (grub_elf64_phdr_iterate): Likewise.
10749 * include/grub/i386/bsd.h: Include relocator.h.
10750 (freebsd_tag_header): New struct.
10751 (grub_openbsd_bios_mmap): Removed.
10752 (grub_unix_real_boot): Removed.
10753 (grub_freebsd_load_elfmodule32): Changed prototype.
10754 (grub_freebsd_load_elfmodule_obj64): Likewise.
10755 (grub_freebsd_load_elf_meta32): Likewise.
10756 (grub_freebsd_load_elf_meta64): Likewise.
10757 (grub_freebsd_add_meta): Removed.
10758 (grub_netbsd_load_elf_meta32): New prototype.
10759 (grub_netbsd_load_elf_meta64): Likewise.
10760 (grub_bsd_add_meta): Likewise.
10761 (grub_openbsd_ramdisk_descriptor): New struct.
10762 (grub_openbsd_find_ramdisk32): New prototype.
10763 (grub_openbsd_find_ramdisk64): Likewise.
10764 * include/grub/i386/coreboot/loader.h: Removed.
10765 * include/grub/i386/efi/loader.h: Likewise.
10766 * include/grub/i386/ieee1275/loader.h: Likewise.
10767 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10768 to grub_uint32_t.
10769 * include/grub/i386/loader.h: Removed.
10770 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10771 value.
10772 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10773 (grub_phys_addr_t): New type.
10774 (grub_vtop): New inline function.
10775 (grub_map_memory): Likewise.
10776 (grub_unmap_memory): Likewise.
10777 * include/grub/i386/multiboot/loader.h: Removed.
10778 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10779 (NETBSD_BTINFO_CONSOLE): New definition.
10780 (NETBSD_BTINFO_SYMTAB): Likewise.
10781 (NETBSD_BTINFO_MODULES): Likewise.
10782 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10783 (grub_netbsd_bootinfo): New struct.
10784 (grub_netbsd_btinfo_common): Use explicit bitsize.
10785 (grub_netbsd_btinfo_mmap_entry): Removed.
10786 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10787 (grub_netbsd_btinfo_bootdisk): New struct.
10788 (grub_netbsd_btinfo_symtab): Likewise.
10789 (grub_netbsd_btinfo_serial): Likewise.
10790 (grub_netbsd_btinfo_modules): Likewise.
10791 (grub_netbsd_btinfo_framebuf): Likewise.
10792 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10793 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10794 Likewise.
10795 (grub_openbsd_bootargs): Use explicit bitsize.
10796 (grub_openbsd_bootarg_console): New struct.
10797 (GRUB_OPENBSD_COM_MAJOR): New definition.
10798 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10799 * include/grub/i386/pc/efiemu.h: Removed.
10800 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10801 * include/grub/i386/qemu/loader.h: Removed.
10802 * include/grub/i386/relocator.h: Rewritten.
10803 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10804 * include/grub/mips/memory.h: New file.
10805 * include/grub/mips/multiboot.h: Rewritten.
10806 * include/grub/mips/relocator.h: Rewritten.
10807 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10808 (grub_vtop): New function.
10809 (grub_map_memory): Likewise.
10810 (grub_unmap_memory): Likewise.
10811 * include/grub/misc.h (ALIGN_DOWN): New definition.
10812 * include/grub/mm.h (grub_mm_check_real): New proto.
10813 (GRUB_MM_CHECK): New definition.
10814 * include/grub/mm_private.h: New file.
10815 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10816 (grub_multiboot_get_mbi_size): Removed.
10817 (grub_multiboot_make_mbi): Change prottype.
10818 (grub_multiboot_set_accepts_video): New proto.
10819 (grub_multiboot_add_elfsyms): Likewise.
10820 (grub_multiboot_payload_eip): New variable.
10821 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10822 New prototype.
10823 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10824 New definition.
10825 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10826 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10827 * include/grub/powerpc/ieee1275/loader.h: Removed.
10828 * include/grub/powerpc/memory.h: New file.
10829 * include/grub/powerpc/relocator.h: Likewise.
10830 * include/grub/relocator.h: Likewise.
10831 * include/grub/relocator_private.h: Likewise.
10832 * include/grub/sparc64/ieee1275/loader.h: Removed.
10833 * include/grub/x86_64/memory.h: New file.
10834 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10835 (grub_xnu_heap_malloc): Likewise.
10836 (grub_xnu_heap_real_start): Removed.
10837 (grub_xnu_heap_start): Likewise.
10838 (grub_xnu_relocator): New variable.
10839 (grub_xnu_heap_target_start): Likewise.
10840 * tests/util/grub-shell.in: Support non-pc.
10841 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10842
5303b85d
VS
108432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10846 on malloc error.
10847 (grub_bidi_logical_to_visual): Check that malloc succeded.
10848 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10849 puts.
10850 (grub_xputs_normal): Likewise.
10851
d768d159
VS
108522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10855 extra_dist.
10856
108572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10860
5bf84df4
VS
108612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10864
3626810e
VS
108652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10868 dprintf.
10869
a7363f53
BC
108702010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10871
10872 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10873
902f75f6
VS
108742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/normal/term.c (print_more): Fix a memory leak.
10877 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10878 (grub_xputs_normal): Likewise.
10879
3c707967
VS
108802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10883 the begining of the string
10884
2053cc07
VS
108852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 * grub-core/script/script.c (grub_script_parse): Free parsed on
10888 failure.
10889
46422ebf
VS
108902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10893 on failure.
10894
9e0fa3f6
VS
108952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10898 return.
10899
3393cf16
VS
109002010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10903 (scroll_up): Fix a memory leak.
10904
b17540cb
VS
109052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10908 errors.
10909
67140446
VS
109102010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Handle USB pendrives exposed as floppies.
10913
10914 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10915 floppy.
10916 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10917 Check for partitions on all devices.
10918
e35e46fc
VS
109192010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10922 (readkey): Likewise.
10923
d24c6190
BC
109242010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10925
10926 Multiple variable names support to "export" command.
10927
10928 * normal/context.c (grub_cmd_export): "export" command supports
10929 multiple variable names.
10930
04ddcc6a
ST
109312010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10932
10933 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10934 --target=drive output to Mach device name.
10935
0c8b61d8
BC
109362010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10937
10938 New Automake based build system for GRUB.
10939
10940 * ABOUT-NLS: New file.
10941 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10942 in Makefile.util.def file.
10943 * Makefile.util.def: New file. Autogen build definitions file for
10944 GRUB host utils.
10945 * conf/Makefile.common: New file. Common variables for GRUB host
10946 utils and target modules.
10947 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10948 * docs/Makefile.am: New file. Automake file for docs.
10949 * gentpl.py: New file. Python script to generate Autogen
10950 template.
10951 * grub-core/Makefile.am: New file. GRUB target modules' rules
10952 that doesn't fit in Makefile.core.def file.
10953 * grub-core/Makefile.core.def: New file. Autogen build
10954 definitions file for GRUB target modules.
10955 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10956 specific setjmp.S file.
10957 * po/Makefile.am: New file.
10958
10959 * .bzrignore: New ignores.
10960 * INSTALL: New requirements, without Ruby.
10961 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10962 * autogen.sh: Updated to invoke autogen as necessary.
10963 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10964 and defines for Automake conditionals.
10965 * geninit.sh: Refactoring.
10966
10967 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10968 necessary.
10969 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10970 New prototype.
10971
10972 * include/grub/test.h: Fix functional test modules' naming.
10973 * grub-core/tests/example_functional_test.c: Fix test module name.
10974
10975 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10976 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10977 * util/grub-editenv.c: Likewise.
10978 * util/grub-fstest.c: Likewise.
10979 * util/grub-mkdevicemap.c: Likewise.
10980 * util/grub-mkfont.c: Likewise.
10981 * util/grub-mkimage.c: Likewise.
10982 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10983 * util/grub-probe.c: Likewise.
10984 * util/grub-script-check.c: Likewise.
10985 * util/i386/pc/grub-setup.c: Likewise.
10986 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10987
10988 * tests/util/grub-shell.in: Fix override directory path.
10989 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10990 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10991
10992 * util/lvm.c: Update #includes.
10993 * util/raid.c: Likewise.
10994 * util/resolve.c: Likewise.
10995 * grub-core/bus/emu/pci.c: Likewise.
10996 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10997 * grub-core/lib/posix_wrap/string.h: Likewise.
10998 * grub-core/kern/emu/main.c: Likewise.
10999
11000 * grub-core/gensymlist.sh: New file. Script for generating kernel
11001 symbols file.
11002 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11003
11004 * grub-core/gentrigtables.c: Fix unused variable warnings.
11005
11006 * Makefile.in: Removed.
11007 * conf/any-emu.rmk: Removed.
11008 * conf/common.rmk: Removed.
11009 * conf/i386-coreboot.rmk: Removed.
11010 * conf/i386-efi.rmk: Removed.
11011 * conf/i386-ieee1275.rmk: Removed.
11012 * conf/i386-multiboot.rmk: Removed.
11013 * conf/i386-pc.rmk: Removed.
11014 * conf/i386-qemu.rmk: Removed.
11015 * conf/i386.rmk: Removed.
11016 * conf/mips-yeeloong.rmk: Removed.
11017 * conf/mips.rmk: Removed.
11018 * conf/powerpc-ieee1275.rmk: Removed.
11019 * conf/sparc64-ieee1275.rmk: Removed.
11020 * conf/tests.rmk: Removed.
11021 * conf/x86-efi.rmk: Removed.
11022 * conf/x86_64-efi.rmk: Removed.
11023 * gendistlist.sh: Removed.
11024 * geninitheader.sh: Removed.
11025 * genkernsyms.sh.in: Removed.
11026 * genmk.rb: Removed.
11027 * gensymlist.sh.in: Removed.
11028 * mkinstalldirs: Removed.
11029 * boot: Moved ...
11030 * grub-core/boot: ... to here.
11031 * bus: Moved ...
11032 * grub-core/bus: ... to here.
11033 * commands: Moved ...
11034 * grub-core/commands: ... to here.
11035 * disk: Moved ...
11036 * grub-core/disk: ... to here.
11037 * efiemu: Moved ...
11038 * grub-core/efiemu: ... to here.
11039 * font: Moved ...
11040 * grub-core/font: ... to here.
11041 * fs: Moved ...
11042 * grub-core/fs: ... to here.
11043 * gencmdlist.sh: Moved ...
11044 * grub-core/gencmdlist.sh: ... to here.
11045 * genemuinit.sh: Moved ...
11046 * grub-core/genemuinit.sh: ... to here.
11047 * genemuinitheader.sh: Moved ...
11048 * grub-core/genemuinitheader.sh: ... to here.
11049 * genfslist.sh: Moved ...
11050 * grub-core/genfslist.sh: ... to here.
11051 * genhandlerlist.sh: Moved ...
11052 * grub-core/genhandlerlist.sh: ... to here.
11053 * genmoddep.awk: Moved ...
11054 * grub-core/genmoddep.awk: ... to here.
11055 * genmodsrc.sh: Moved ...
11056 * grub-core/genmodsrc.sh: ... to here.
11057 * genpartmaplist.sh: Moved ...
11058 * grub-core/genpartmaplist.sh: ... to here.
11059 * genparttoollist.sh: Moved ...
11060 * grub-core/genparttoollist.sh: ... to here.
11061 * genterminallist.sh: Moved ...
11062 * grub-core/genterminallist.sh: ... to here.
11063 * gentrigtables.c: Moved ...
11064 * grub-core/gentrigtables.c: ... to here.
11065 * genvideolist.sh: Moved ...
11066 * grub-core/genvideolist.sh: ... to here.
11067 * gettext: Moved ...
11068 * grub-core/gettext: ... to here.
11069 * gfxmenu: Moved ...
11070 * grub-core/gfxmenu: ... to here.
11071 * gnulib: Moved ...
11072 * grub-core/gnulib: ... to here.
11073 * hello: Moved ...
11074 * grub-core/hello: ... to here.
11075 * hook: Moved ...
11076 * grub-core/hook: ... to here.
11077 * io: Moved ...
11078 * grub-core/io: ... to here.
11079 * kern: Moved ...
11080 * grub-core/kern: ... to here.
11081 * lib: Moved ...
11082 * grub-core/lib: ... to here.
11083 * loader: Moved ...
11084 * grub-core/loader: ... to here.
11085 * mmap: Moved ...
11086 * grub-core/mmap: ... to here.
11087 * normal: Moved ...
11088 * grub-core/normal: ... to here.
11089 * partmap: Moved ...
11090 * grub-core/partmap: ... to here.
11091 * parttool: Moved ...
11092 * grub-core/parttool: ... to here.
11093 * script: Moved ...
11094 * grub-core/script: ... to here.
11095 * term: Moved ...
11096 * grub-core/term: ... to here
11097 * tests/example_functional_test.c: Moved ...
11098 * grub-core/tests/example_functional_test.c: ... to here.
11099 * tests/lib/functional_test.c: Moved ...
11100 * grub-core/tests/lib/functional_test.c: ... to here.
11101 * tests/lib/test.c: Moved ...
11102 * grub-core/tests/lib/test.c: ... to here.
11103 * video: Moved ...
11104 * grub-core/video: ... to here.
11105
645586e6
BC
111062010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11107
11108 Replace --enable-grub-emu-modules with grub-emu-lite.
11109
11110 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11111 cache.S.
11112
11113 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11114 * kern/emu/full.c: New file. For grub-emu specific initialization.
11115 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11116 * kern/emu/main.c: Call initialization function grub_emu_init.
11117
11118 * Makefile.in: Include grub-emu-lite in install.
11119 * commands/parttool.c: Use grub_no_autoload to differentiate
11120 between grub-emu and grub-emu-lite.
11121 * include/grub/misc.h: New variable grub_no_autoload.
11122
11123 * conf/any-emu.rmk: New rules for grub-emu-lite.
11124 * configure.ac: Remove --enable-grub-emu-modules.
11125 * genmk.rb: Cleanup unnecessary rules.
11126 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11127
11128 * normal/main.c: Don't load list files on grub-emu-lite.
11129 * util/misc.c (grub_arch_sync_caches): Removed.
11130
f86a4030
CW
111312010-08-23 Colin Watson <cjwatson@ubuntu.com>
11132
11133 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11134 grub-mkimage rather than grub-mkelfimage.
11135 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11136
06776944
VS
111372010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11140 a key after CapsLock or NumLock. It's just a qemu bug.
11141
df262419
VS
111422010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11145 needed by libusb wrapper.
11146
b40ea81b
ST
111472010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11148
11149 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11150
dee50575
VS
111512010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11154 --nounzip is passed.
11155
fb1d7b79
VS
111562010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 USB hotunplugging and USB serial support.
11159
11160 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11161 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11162 (grub_uhci_transfer): Respect timeout and set *actual.
11163 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11164 non-standard length.
11165 (grub_usb_device_attach): Autoload modules.
11166 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11167 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11168 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11169 users updated.
11170 (grub_usb_add_hub): Fill nports and children.
11171 (attach_root_port): Receive hub instead of controller.
11172 All users updated. Fill hub->devices.
11173 (grub_usb_root_hub): Allocate hub->devices.
11174 (detach_device): New function.
11175 (poll_nonroot_hub): Fill children and detach devices.
11176 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11177 actual arguments. All users updated.
11178 (grub_usb_bulk_read_extended): New function.
11179 * bus/usb/serial/common.c: New file.
11180 * bus/usb/serial/ftdi.c: Likewise.
11181 * bus/usb/serial/pl2303.c: Likewise.
11182 * commands/terminal.c (handle_command): Support wildcard.
11183 * commands/usbtest.c: Output "Unknown" instead of empty string.
11184 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11185 (usbserial_common_mod_SOURCES): New variable.
11186 (usbserial_common_mod_CFLAGS): Likewise.
11187 (usbserial_common_mod_LDFLAGS): Likewise.
11188 (pkglib_MODULES): Add usbserial_pl2303.mod.
11189 (usbserial_pl2303_mod_SOURCES): New variable.
11190 (usbserial_pl2303_mod_CFLAGS): Likewise.
11191 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11192 (pkglib_MODULES): Add usbserial_ftdi.mod.
11193 (usbserial_ftdi_mod_SOURCES): New variable.
11194 (usbserial_ftdi_mod_CFLAGS): Likewise.
11195 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11196 (pkglib_MODULES): Add serial.mod.
11197 (serial_mod_SOURCES): New variable.
11198 (serial_mod_CFLAGS): Likewise.
11199 (serial_mod_LDFLAGS): Likewise.
11200 * conf/i386-pc.rmk: Likewise.
11201 * conf/mips-yeeloong.rmk: Likewise.
11202 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11203 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11204 * disk/usbms.c (first_available_slot): New variable.
11205 (grub_usbms_attach): Don't reuse free slots due to potential cache
11206 problems.
11207 * include/grub/serial.h: Moved to ..
11208 * include/grub/ns8250.h: ...this.
11209 * include/grub/serial.h: New file.
11210 * include/grub/term.h (grub_term_poll_usb): New variable.
11211 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11212 readkey. All users updated.
11213 (grub_terminfo_output_state): Pass term to put.
11214 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11215 (grub_usb_controller_dev): Add timeout and actual arguments to
11216 transfer. All users updated.
11217 (grub_usb_interface): New field detach_data.
11218 (grub_usb_device): New fields children and nports.
11219 (grub_usb_ep_type_t): New type.
11220 (grub_usb_get_ep_type): New function.
11221 (grub_usb_bulk_read_extended): Likewise.
11222 * include/grub/usbdesc.h (grub_usb_desc): New type.
11223 * include/grub/usbserial.h: New file.
11224 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11225 * kern/term.c (grub_term_poll_usb): New variable.
11226 (grub_getkey): Call grub_term_poll_usb if set.
11227 (grub_checkkey): Likewise.
11228 (grub_getkeystatus): Likewise.
11229 * term/serial.c: Moved controller-specific parts to ...
11230 * term/ns8250.c: ... here.
11231 * term/serial.c: Mostly rewritten.
11232 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11233 according to spec.
11234
21a313de
RM
112352010-08-20 Robert Millan <rmh@gnu.org>
11236
11237 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11238 a separate module and maybe other interesting combinations.
11239
11240 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11241 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11242 (kfreebsd_entry): Add generic filesystem module load routine.
11243 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11244
63c734a6
CW
112452010-08-20 Colin Watson <cjwatson@ubuntu.com>
11246
11247 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11248 "numcenter" (I misunderstood the purpose of this entry).
11249 * docs/grub.texi (sendkey): Likewise.
11250
c4d16542
CW
112512010-08-20 Colin Watson <cjwatson@ubuntu.com>
11252
11253 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11254 status flag options; simply omitting the option is equivalent and
11255 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11256 (keysym_table): Rename "num5numlock" to "numlock".
11257 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11258 can uniformly say that only the last of multiple `sendkey'
11259 invocations has any effect.
11260 * docs/grub.texi (sendkey): New section.
11261
93541d66
CW
112622010-08-19 Colin Watson <cjwatson@ubuntu.com>
11263
11264 * commands/i386/pc/sendkey.c (options): Fix three typos.
11265
b4ece5e1
VS
112662010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 Implement sendkey support.
11269
11270 * commands/i386/pc/sendkey.c: New file.
11271 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11272 (sendkey_mod_SOURCES): New variable.
11273 (sendkey_mod_CFLAGS): Likewise.
11274 (sendkey_mod_LDFLAGS): Likewise.
11275
51f1f5af
CW
112762010-08-18 Colin Watson <cjwatson@ubuntu.com>
11277
11278 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11279 fix warnings from Autoconf.
11280
9da94e05
CW
112812010-08-18 Colin Watson <cjwatson@ubuntu.com>
11282
11283 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11284 to avoid false positives with some assemblers that output things
11285 like "someprefix_func" as part of their output.
11286
729a0f2e
RM
112872010-08-15 Robert Millan <rmh@gnu.org>
11288
11289 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11290 errors.
11291 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11292 grub_get_libzfs_handle() errors.
11293
f3710e08
RM
112942010-08-14 Robert Millan <rmh@gnu.org>
11295
11296 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11297 filesystem is not ZFS.
11298
7a3c13de
BC
112992010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11300
11301 Fix for misspelled color names defaulting to black/black (bug
11302 reported by Doug Nazar)
11303
11304 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11305 status to prototype.
11306 * normal/color.c (grub_parse_color_name_pair): Return failure
11307 status.
11308 (grub_env_write_color_normal): Ignore bad color names.
11309 (grub_env_write_color_highlight): Likewise.
11310 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11311
ab8ba50d
BC
113122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11313
11314 "shift" command support to GRUB script.
11315
11316 * include/grub/script_sh.h (grub_script_shift): New prototype.
11317 * script/execute.c (grub_script_shift): New function.
11318 * script/main.c (grub_script_init): Register shift command.
11319 (grub_script_fini): Unregister shift command.
11320 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11321
11322 * tests/grub_script_shift.in: New testcase.
11323 * conf/tests.rmk: Rules for new testcase.
11324
4d61999e
BC
113252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11326
11327 "continue" command support to GRUB script.
11328
11329 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11330 (grub_script_break): Continue support.
11331 * script/main.c (grub_script_init): Register continue command.
11332 (grub_script_fini): Unregister continue command.
11333
11334 * tests/grub_script_continue.in: New testcase.
11335 * conf/tests.rmk: Rules for new testcase.
11336
4df51e00
BC
113372010-08-12 BVK Chaitanya <bvk@dbook>
11338
11339 "break" command support to GRUB script.
11340
11341 * conf/common.rmk: Rule updates to grub-script-check.
11342 * include/grub/misc.h (grub_min): New function.
11343 * include/grub/script_sh.h (grub_script_init): New prototype.
11344 (grub_script_fini): New prototype.
11345 (grub_script_break): New prototype.
11346 * script/main.c (grub_script_init): New function.
11347 (grub_script_fini): New function.
11348 * script/execute.c (grub_script_break): New function.
11349 * normal/main.c: Calls to grub_script_{init,fini}.
11350 * util/grub-script-check.c (grub_script_break): New function.
11351
11352 * tests/grub_script_break.in: New testcase.
11353 * conf/tests.rmk: Rules for new test case.
11354
f12c8420
BC
113552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11356
11357 Function parameters support to GRUB script.
11358
11359 * script/yylex.l (VARIABLE): Regular expression update.
11360 * script/function.c (grub_script_function_call): Moved ...
11361 * script/execute.c (grub_script_function_call): ... to here.
11362 (grub_script_execute_arglist_to_argv): Removed.
11363 (grub_script_arglist_to_argv): New function.
11364 * script/argv.c: New file.
11365 (grub_script_argv_free): New function.
11366 (grub_script_argv_next): Likewise.
11367 (grub_script_argv_append): Likewise.
11368 (grub_script_argv_split_append): Likewise.
11369 * include/grub/script_sh.h (grub_script_argv): New struct.
11370 (grub_script_argv_free): New function.
11371 (grub_script_argv_next): Likewise.
11372 (grub_script_argv_append): Likewise.
11373 (grub_script_argv_split_append): Likewise.
11374
11375 * conf/common.rmk (normal.mod): New source script/argv.c.
11376
11377 * tests/grub_script_echo1.in: More tests.
11378 * tests/grub_script_vars1.in: Likewise.
11379 * tests/grub_script_functions.in: New test case.
11380 * conf/tests.rmk: Rules for new testcase.
11381
8022b748
BC
113822010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11383
11384 Remove grub_script_cmdblock struct.
11385
11386 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11387 * script/parser.y: Likewise.
11388 * script/execute.c: Rename cmdblock suffix to cmdlist.
11389 * script/script.c: Likewise.
11390 * util/grub-script-check.c: Likewise.
11391
79a6ba61
YB
113922010-08-11 Yves Blusseau <blusseau@zetam.org>
11393
11394 * .bzrignore: add grub-macho2img
11395
d04b9414
VS
113962010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11399
f947ab49
VS
114002010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 Remove the dump of sm712 initialisation sequence.
11403
11404 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11405 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11406 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11407 (GRUB_VGA_CR_*): Added many registers.
11408 (GRUB_VGA_SR_*): Likewise.
11409 (GRUB_VGA_GR_*): Likewise.
11410 (grub_vga_write_arx): New function.
11411 (grub_video_hw_config): New struct.
11412 (grub_vga_set_geometry): New function.
11413 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11414 GRUB_PCI_CLASS_SUBCLASS_VGA.
11415 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11416 * video/sm712.c (grub_sm712_write_reg): New function
11417 (grub_sm712_read_reg): Likewise.
11418 (grub_sm712_sr_write): Likewise.
11419 (grub_sm712_gr_write): Likewise.
11420 (grub_sm712_cr_write): Likewise.
11421 (grub_sm712_write_arx): Likewise.
11422 (grub_sm712_cr_shadow_write): Likewise.
11423 (grub_sm712_write_dda_lookup): Likewise.
11424 (grub_video_sm712_setup): Initialise the video rather then
11425 blindly replay the dump.
11426 (main) [TEST]: Add a routine to be able to compile as standalone for
11427 tests.
11428 * video/sm712_init.c (sm712_init): Removed.
11429 (sm712_sr_seq1): New array.
11430 (sm712_sr_seq2): Likewise.
11431
f0206638
VS
114322010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * include/grub/vga.h: Add missing grub/pci.h include.
11435
2764da3b
YB
114362010-08-10 Yves Blusseau <blusseau@zetam.org>
11437
11438 * util/grub-macho2img.c (main): fix typo
11439
cf0c775e
VS
114402010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11443 (grub_vga_gr_read): Likewise.
11444 (grub_vga_cr_write): Likewise.
11445 (grub_vga_cr_read): Likewise.
11446 (grub_vga_sr_write): Likewise.
11447 (grub_vga_sr_read): Likewise.
11448 (grub_vga_palette_read): Likewise.
11449 (grub_vga_palette_write): Likewise.
11450 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11451 (grub_sm712_sr_read): New function.
11452 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11453 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11454
07f360e9
RM
114552010-08-09 Robert Millan <rmh@gnu.org>
11456
11457 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11458 out unused variables on non-ZFS build.
11459
346c2072
RM
114602010-08-08 Robert Millan <rmh@gnu.org>
11461
11462 Fix path generation for sub-filesystems in ZFS.
11463
11464 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11465 missing slash.
11466
71175420
RM
114672010-08-08 Robert Millan <rmh@gnu.org>
11468
11469 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11470
0d8286f3
RM
114712010-08-08 Robert Millan <rmh@gnu.org>
11472
11473 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11474 exist, issue a proper error message (rely on `ls' for translated
11475 strings).
11476
55dd2924
RM
114772010-08-08 Robert Millan <rmh@gnu.org>
11478
11479 Fix grub-probe invocation.
11480
11481 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11482
d3dd9e80
RM
114832010-08-04 Robert Millan <rmh@gnu.org>
11484
11485 * configure.ac: Remove checks for getfsstat() and getmntany().
11486 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11487 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11488 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11489 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11490 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11491 function.
11492 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11493 via find_mount_point_from_dir() and getfsstat() / getmntany().
11494
0de22aa9
RM
114952010-08-04 Robert Millan <rmh@gnu.org>
11496
11497 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11498 (grub_find_zpool_from_mount_point): Merge into ...
11499 (grub_find_zpool_from_dir): ... this.
11500 * kern/emu/misc.c: Likewise.
11501
11502 * kern/emu/misc.c
11503 (grub_make_system_path_relative_to_its_root): Replace
11504 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11505 with grub_find_zpool_from_dir().
11506 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11507
62858144
RM
115082010-08-04 Robert Millan <rmh@gnu.org>
11509
11510 Support OpenSolaris in ZFS device resolution.
11511
11512 * configure.ac: Check for getmntany().
11513 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11514 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11515 support.
11516
9dd6fd50
RM
115172010-08-03 Robert Millan <rmh@gnu.org>
11518
11519 Fix grub-emu build.
11520
11521 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11522 * include/grub/emu/misc.h: ... here.
11523
11524 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11525 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11526
11527 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11528 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11529 (grub_get_libzfs_handle): Move to ...
11530 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11531 (grub_get_libzfs_handle): ... here.
11532
c9f7ff97
BC
115332010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11534
11535 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11536 as command name case.
11537
a870a783
CW
115382010-08-02 Colin Watson <cjwatson@ubuntu.com>
11539
11540 * disk/raid.c (insert_array): Select unique numbers for named arrays
11541 as well, for use as keys in the disk cache.
11542
c7db243b
RM
115432010-08-01 Robert Millan <rmh@gnu.org>
11544
11545 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11546 kFreeBSD device name, except on ZFS where the filesystem label is
11547 used.
11548 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11549 `/boot/zfs/zpool.cache'.
11550 Set mountfrom kernel variable using ${kfreebsd_device}.
11551
f7abdefb
RM
115522010-08-01 Robert Millan <rmh@gnu.org>
11553
11554 Make it even harder to use uninitialized `libzfs_handle' (and
11555 make the interface a bit simpler).
11556
11557 * include/grub/util/misc.h (grub_util_init_libzfs)
11558 (libzfs_handle): Remove.
11559 (grub_get_libzfs_handle): New prototype.
11560
11561 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11562 attribute.
11563 (grub_util_init_libzfs): Remove.
11564 (grub_get_libzfs_handle): New function.
11565
11566 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11567 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11568 accessing `libzfs_handle' directly.
11569
c882acc0
RM
115702010-08-01 Robert Millan <rmh@gnu.org>
11571
11572 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11573 (grub_find_zpool_from_mount_point): New function prototypes.
11574
11575 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11576 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11577
11578 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11579 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11580 `static' attribute.
11581
11582 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11583 finding zpool from mount point into ...
11584 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11585
11586 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11587 requested path is part of a ZFS pool, use
11588 grub_find_zpool_from_mount_point() to detect its filesystem name,
11589 and generate a path with `/fsname@path' syntax.
11590
8bfe31d8
CW
115912010-08-01 Colin Watson <cjwatson@ubuntu.com>
11592
11593 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11594 (void) rather than () so that this is a proper prototype.
11595
553df63d
VS
115962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11599
8687cf07
VS
116002010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11603 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11604
ea9be8ea
CW
116052010-08-01 Colin Watson <cjwatson@ubuntu.com>
11606
11607 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11608
6eea041a
CW
116092010-08-01 Colin Watson <cjwatson@ubuntu.com>
11610
11611 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11612
2cfb45df
CW
116132010-08-01 Colin Watson <cjwatson@ubuntu.com>
11614
11615 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11616 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11617 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11618 disable gfxpayload.
11619 (Shell-like scripting): Add real content.
11620 (Serial terminal): Suggest `terminal_input serial; terminal_output
11621 serial' rather than putting the two commands on separate lines,
11622 since console input will be inoperative after the first command.
11623 (menuentry): Document --class, --users, and --hotkey options.
11624 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11625 Vladimir Serbinenko).
11626
7decd202
VS
116272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
116282010-08-01 Colin Watson <cjwatson@ubuntu.com>
11629
11630 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11631
c882acc0
RM
116322010-08-01 Robert Millan <rmh@gnu.org>
11633
11634 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11635 (grub_find_zpool_from_mount_point): New function prototypes.
11636
11637 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11638 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11639
11640 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11641 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11642 `static' attribute.
11643
11644 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11645 finding zpool from mount point into ...
11646 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11647
11648 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11649 requested path is part of a ZFS pool, use
11650 grub_find_zpool_from_mount_point() to detect its filesystem name,
11651 and generate a path with `/fsname@path' syntax.
11652
deb0caa3
RM
116532010-08-01 Robert Millan <rmh@gnu.org>
11654
11655 Prevent accidental use of uninitialized libzfs_handle.
11656
11657 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11658 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11659 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11660
ce04ef47
CW
116612010-08-01 Colin Watson <cjwatson@ubuntu.com>
11662
11663 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11664 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11665
ebf53056
RM
116662010-08-01 Robert Millan <rmh@gnu.org>
11667
11668 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11669
3710bb6b
RM
116702010-07-31 Robert Millan <rmh@gnu.org>
11671
11672 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11673
8072efeb
RM
116742010-07-31 Robert Millan <rmh@gnu.org>
11675
11676 * kern/emu/misc.c: Add missing license header.
11677
3169f4c7
RM
116782010-07-31 Robert Millan <rmh@gnu.org>
11679
11680 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11681
11682 * include/grub/util/libnvpair.h: Include `<config.h>'.
11683 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11684 declaring libnvpair prototypes ourselves.
11685 * include/grub/util/libzfs.h: Include `<config.h>'.
11686 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11687 declaring libzfs prototypes ourselves.
11688
11689 (libzfs_handle): Moved to ...
11690 * include/grub/util/misc.h (libzfs_handle): ... here.
11691 Include `<grub/util/libzfs.h>'.
11692
c9a00aee
RM
116932010-07-30 Robert Millan <rmh@gnu.org>
11694
11695 * include/grub/emu/misc.h: Add missing license header.
11696
a184f9c8
RM
116972010-07-30 Robert Millan <rmh@gnu.org>
11698
11699 Enable `grub-probe -t device' resolution on ZFS.
11700
11701 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11702 * include/grub/util/libnvpair.h: New file.
11703 * include/grub/util/libzfs.h: New file.
11704
11705 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11706 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11707 `<grub/util/libnvpair.h>'.
11708 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11709
11710 (find_mount_point_from_dir): New static function.
11711 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11712 function.
11713 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11714 find_root_device_from_libzfs() before ressorting to find_root_device().
11715
11716 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11717 prototype.
11718 * util/misc.c: Include `<grub/util/libzfs.h>'.
11719 (grub_util_init_libzfs): New function.
11720 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11721 [HAVE_LIBZFS] (fini_libzfs): New static function.
11722 (grub_util_init_libzfs): New function.
11723 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11724
f7790cdd
RM
117252010-07-30 Robert Millan <rmh@gnu.org>
11726
11727 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11728 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11729 `warn_unused_result' attribute.
11730 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11731 (grub_xasprintf, grub_xvasprintf): Likewise.
11732 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11733
0806b63c
RM
117342010-07-29 Robert Millan <rmh@gnu.org>
11735
11736 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11737 (probe): Handle `PRINT_FS_LABEL'.
11738 (main): Handle `-t fs_label'.
11739
9f841f5c
RM
117402010-07-29 Robert Millan <rmh@gnu.org>
11741
11742 * configure.ac: Remove grub-mkisofs checks.
11743
46371121
VS
117442010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11747 Reported by: Lennart Sorensen.
11748
117492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11752 prior to terminal_input/terminal_output separation. It's been over 1.5
11753 years and those versions weren't widely deployed.
11754
a9600892
CW
117552010-07-22 Colin Watson <cjwatson@ubuntu.com>
11756
11757 * disk/raid.c (insert_array): Don't count named arrays when looking
11758 for unused array numbers.
697e053c 11759 Reported and tested by: Michael Guntsche.
a9600892 11760
c03507df
CW
117612010-07-20 Colin Watson <cjwatson@ubuntu.com>
11762
11763 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11764 implementation of this so that grub-emu links again, with a note
11765 that this should support hotplugging in the future.
11766
b26f1c11
CW
117672010-07-20 Colin Watson <cjwatson@ubuntu.com>
11768
11769 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11770
efc9d7f1
CW
117712010-07-20 Colin Watson <cjwatson@ubuntu.com>
11772
11773 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11774 handle on failure.
11775 (grub_loopback_close): Remove empty function.
11776 (grub_loopback_dev): Remove close method.
11777
dd8ff5c9
CW
117782010-07-20 Colin Watson <cjwatson@ubuntu.com>
11779
11780 Disable EFI cursor when the EFI console becomes inactive.
11781
11782 * term/efi/console.c (grub_efi_console_init): New function.
11783 (grub_efi_console_fini): New function.
11784 (grub_console_term_output): Register init and fini methods.
11785
5e3bec67
VS
117862010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11789 sh script.
11790
afaec079
VS
117912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * disk/loopback.c (grub_loopback): Replace filename with file.
11794 (delete_loopback): Handle new semantics.
11795 (grub_cmd_loopback): Likewise.
11796 (grub_loopback_iterate): Likewise.
11797 (grub_loopback_close): Likewise.
11798
a6a11f3c
VS
117992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11802 with -p "".
11803 Reported by: Tito Keitel.
11804
64a638b0
VS
118052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 * docs/grub.texi (Naming convention): Document new naming convention.
11808
ab8ba957
VS
118092010-07-20 Vadim Solomin <vadic052@gmail.com>
118102010-07-20 Colin Watson <cjwatson@ubuntu.com>
11811
11812 Generate device.map in something closer to the old ordering.
11813
11814 * util/deviceiter.c (struct device): New declaration.
11815 (compare_file_names): Rename to ...
11816 (compare_devices): ... this. Sort by kernel name in preference to
11817 the stable by-id name, but keep the latter as a fallback comparison.
11818 Update header comment.
11819 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11820 of `struct device' rather than of plain file names.
11821
a29d6a4b
TF
118222010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11823
11824 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11825 on i386.
11826
39d824e8
VS
118272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11830 hardcoding size.
11831 (setv1table): Likewise.
11832
f058276b
FZ
118332010-07-20 Colin Watson <cjwatson@ubuntu.com>
11834
11835 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11836 removing the homehost if present.
11837 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11838 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11839 removing the homehost if present.
11840 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11841 if possible.
11842 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11843
11844 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11845 parameter. Set its pointer target to 0.
11846 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11847 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11848 `data_offset' value from the superblock for 1.x metadata.
11849 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11850 data on the device.
11851 (insert_array): Record the start sector of data on the device.
11852 (grub_raid_register): Pass start_sector parameters to
11853 grub_raid_list->detect and insert_array.
11854 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11855 member.
11856 (struct grub_raid): Add start_sector parameter to `detect'.
11857
11858 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11859 __attribute__ ((packed)), leaving a comment.
11860 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11861 (grub_mdraid_detect_09): ... here and ...
11862 (grub_mdraid_detect_1x): ... here.
11863
118642010-07-20 Peter Henn <peter.henn@web.de>
11865
11866 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11867 chunk size and disk size, which are already given as sector counts
11868 as distinct from the 0.90 units. Fetch the correct device number
11869 from the role table instead of using the table index.
11870
118712010-07-20 Felix Zielcke <fzielcke@z-51.de>
11872
11873 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11874 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11875 (WriteMostly1): New macro.
11876 Set array->name to NULL for metadata format 0.90. Add support for
11877 metadata 1.x. Fix some comments.
11878 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11879 few comments.
11880 * util/getroot.c (grub_util_get_grub_dev): Add support for
11881 /dev/md/name style devices.
11882
4b761da9
CW
118832010-07-20 Colin Watson <cjwatson@ubuntu.com>
11884
11885 * .bzrignore: Ignore 20_linux_xen.
11886
5771289a
CW
118872010-07-17 Colin Watson <cjwatson@ubuntu.com>
11888
11889 * util/import_unicode.py: Remove unnecessary imports.
11890
5dab68df
AN
118912010-07-17 Aleš Nesrsta <starous@volny.cz>
11892
11893 Hotplugging and USB hub support.
11894
11895 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11896 (grub_ohci): Likewise.
11897 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11898 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11899 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11900 (GRUB_OHCI_CTRL_EDS): Likewise.
11901 (GRUB_OHCI_BULK_EDS): Likewise.
11902 (GRUB_OHCI_TDS): Likewise.
11903 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11904 (grub_ohci_ed_phys2virt): New function.
11905 (grub_ohci_virt_to_phys): Likewise.
11906 (grub_ohci_td_phys2virt): Likewise.
11907 (grub_ohci_td_virt2phys): Likewise.
11908 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11909 attachment.
11910 (grub_ohci_find_ed): New function.
11911 (grub_ohci_alloc_td): Likewise.
11912 (grub_ohci_free_td): Likewise.
11913 (grub_ohci_free_tds): Likewise.
11914 (grub_ohci_transfer): Use previously allocated memory.
11915 (grub_ohci_portstatus): Reset status changed bit.
11916 (grub_ohci_detect_dev): Supply status changed.
11917 (grub_ohci_fini_hw): Free memory.
11918 (grub_ohci_restore_hw): Reallocate memory.
11919 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11920 Reset status change.
11921 (grub_uhci_detect_dev): Supply status_change.
11922 * bus/usb/usb.c (attach_hooks): New var.
11923 (grub_usb_device_attach): New function.
11924 (grub_usb_register_attach_hook_class): Likewise.
11925 (grub_usb_unregister_attach_hook_class): Likewise.
11926 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11927 (grub_usb_add_hub): Reset connection changed bit.
11928 (attach_root_port): New function.
11929 (grub_usb_root_hub): Likewise.
11930 (poll_nonroot_hub): Likewise.
11931 (grub_usb_poll_devices): Likewise.
11932 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11933 * disk/usbms.c (grub_usbms_open): Use device hooks.
11934 (grub_usbms_iterate) :Poll devices.
11935 (grub_usbms_finddevs): Split into ...
11936 (grub_usbms_attach): ... this ...
11937 (grub_usbms_attach): ... and this.
11938 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11939 in detect_dev.
11940 (grub_usb_interface): New fields attached and detach_hook.
11941 (grub_usb_attach_hook_class): New type.
11942 (grub_usb_attach_desc): New struct.
11943 (grub_usb_register_attach_hook_class): New function.
11944 (grub_usb_unregister_attach_hook_class): Likewise.
11945 (grub_usb_poll_devices): Likewise.
11946 (grub_usb_device_attach): Likewise.
11947 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11948 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11949
3222efaf
VS
119502010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11953 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11954 delta determination style. Works with most NetBSD partitions too.
11955
139b714a
VS
119562010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11959 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11960
986aad56
VS
119612010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11964
99be513c
AB
119652010-07-14 Anton Blanchard <anton@samba.org>
11966
11967 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11968 ET_DYN files.
11969
18075f62
GS
119702010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11971
11972 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11973
8d9a5b15
GS
119742010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11975
11976 * kern/partition.c (grub_partition_check_containment): New function to
11977 check that a partition is physically contained in a parent. Since
11978 offsets are relative (and non-negative), this reduces to checking that
11979 the partition ends before its parent.
11980 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11981 (grub_partition_iterate): Likewise.
11982 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11983 comments.
11984 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11985 partitions that start before their parent, and add debug printfs.
11986
19563c25
CW
119872010-07-13 Colin Watson <cjwatson@ubuntu.com>
11988
11989 * Makefile.in (.SUFFIX): Spell correctly, as ...
11990 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11991 bare module name without `.mod', e.g. `test') tried to invoke a
11992 Modula-2 compiler.
11993
1a1f1e67
CW
119942010-07-13 Colin Watson <cjwatson@ubuntu.com>
11995
11996 * README: Point to the Info manual.
11997
811b0dca
JS
119982010-07-13 Jiro SEKIBA <jir@unicus.jp>
11999
12000 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12001 2nd superblock position from partition size.
12002
e4f4eafc
CW
120032010-07-10 Colin Watson <cjwatson@ubuntu.com>
12004
12005 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12006 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12007 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12008 outputs.
12009
4274c30f
VS
120102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Restructure SCSI .id handling.
12013 Reported and tested by: Aleš Nesrsta.
12014
12015 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12016 (grub_atapi_dev): Changed .name to "ata". New field .id.
12017 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12018 (grub_usbms_dev): New field .id.
12019 * disk/scsi.c (grub_scsi_iterate): Generate name.
12020 (grub_scsi_open): Parse name.
12021 * include/grub/scsi.h (grub_make_scsi_id): New function.
12022 (grub_scsi_dev): Change iterate and open to number instead of naming
12023 busses. All users updated.
12024 (grub_scsi): Remove name. Add .bus.
12025
5bc24388
VS
120262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * commands/help.c (grub_cmd_help): Fix a typo.
12029
249975ba
VS
120302010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12033 Reported and tested by: Colin Watson.
12034
3eaac1a1
VS
120352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12038 in this context.
12039
becce1b1
VS
120402010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12043
f7bf0918
CW
120442010-07-07 Colin Watson <cjwatson@ubuntu.com>
12045
12046 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12047 indentation.
12048
0b0f9620
CW
120492010-07-06 Colin Watson <cjwatson@ubuntu.com>
12050
12051 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12052 and disk/raid6_recover.c.
12053 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12054 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12055
1e545469
CW
120562010-07-06 Colin Watson <cjwatson@ubuntu.com>
12057
12058 * term/gfxterm.c (repaint_schedulded): Rename to ...
12059 (repaint_scheduled): ... this. Update all callers.
12060 (repaint_was_schedulded): Rename to ...
12061 (repaint_was_scheduled): ... this. Update all callers.
12062
5357687a
CW
120632010-07-06 Colin Watson <cjwatson@ubuntu.com>
12064
12065 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12066 which we expect to be handled by upper layers.
12067
29d7e783
BC
120682010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12069
12070 * bus/usb/usbhub.c: #include time.h header.
12071
37582066
CW
120722010-07-06 Colin Watson <cjwatson@ubuntu.com>
12073
12074 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12075 entry_name also for entries without stat blocks (e.g. ".."); fixes
12076 corruption of the first entry in a directory.
12077
c8c06953
CW
120782010-07-06 Colin Watson <cjwatson@ubuntu.com>
12079
12080 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12081 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12082 doesn't work otherwise.
12083
e75056f1
CW
120842010-07-05 Colin Watson <cjwatson@ubuntu.com>
12085
12086 * docs/grub.texi (Features): Update list of supported file systems.
12087 (GNU/Linux): Update for GRUB 2.
12088 (Serial terminal): Remove mention of --disable-serial, which was a
12089 GRUB Legacy configure option. Update instructions to use
12090 `terminal_input' and `terminal_output' rather than `terminal'.
12091 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12092 configuration' and `Installing GRUB using grub-install'.
12093 (Menu entry editor): Update for GRUB 2.
12094 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12095 Document new -a, -u, and -v options.
12096 (initrd): New section.
12097 (initrd16): New section.
12098 (linux): New section.
12099 (linux16): New section.
12100 (search): The `var' argument to `--set' is optional.
12101 (GRUB only offers a rescue shell): Go into a little more detail on
12102 drive ordering.
12103
5cf69151
CW
121042010-07-05 Colin Watson <cjwatson@ubuntu.com>
12105
12106 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12107
e3f90044
CW
121082010-07-05 Colin Watson <cjwatson@ubuntu.com>
12109
12110 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12111 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12112
38d8f4f3
CW
121132010-07-05 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12116 install_prefix, in line with install_dos_part and install_bsd_part.
12117 Add new prefix variable, which is copied to install_prefix after
12118 comparing core.img in memory with the one read from disk in the
12119 no-embedding case, and use that rather than overwriting
12120 install_prefix immediately when installing to a partition.
12121 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12122 Bicakci.
12123
57ebd41e
GS
121242010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12125
12126 * configure.ac: Avoid == in test command, it's not portable.
12127 * util/grub.d/30_os-prober.in: Likewise.
12128
cb7f64b2
CW
121292010-07-04 Colin Watson <cjwatson@ubuntu.com>
12130
12131 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12132
6b654bb0
GS
121332010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12134
12135 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12136 multiple (top-level) partmaps.
12137
72a2026d
VS
121382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12141 Reported by: Tino Keitel.
72a2026d 12142
df3eb88f
VS
121432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Bidi and diacritics support.
12146
12147 * Makefile.in (widthspec.bin): New target.
12148 (widthspec.h): Likewise.
12149 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12150 * autogen.sh: Generate unidata.c.
12151 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12152 * commands/ls.c (grub_ls_list_devices): Likewise.
12153 (grub_ls_list_files): Likewise.
12154 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12155 (grub_mini_cmd_lsmod): Likewise.
12156 * commands/read.c: Likewise.
12157 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12158 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12159 * lib/arg.c (grub_arg_show_help): Likewise.
12160 * lib/crypto.c (grub_password_get): Likewise.
12161 * normal/auth.c (grub_username_get): Likewise.
12162 * normal/misc.c (grub_normal_print_device_info): Likewise.
12163 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12164 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12165 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12166 (normal/charset.c_DEPENDENCIES): New variable.
12167 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12168 (pkglib_MODULES): Remove charset.mod.
12169 (charset_mod_SOURCES): Removed.
12170 (charset_mod_CFLAGS): Likewise.
12171 (charset_mod_LDFLAGS): Likewise.
12172 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12173 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12174 and term/tparm.c.
12175 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12176 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12177 (kernel_img_HEADERS): Add terminfo.h.
12178 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12179 Fill ->font. Reverse ascii bitmaps.
12180 (grub_font_get_xheight): New function.
12181 * font/font.c (grub_font_get_string_width): Moved from here ...
12182 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12183 * font/font.c (grub_font_draw_string): Moved from here ...
12184 * gfxmenu/font.c (grub_font_draw_string): ... here.
12185 * font/font.c (grub_font_dup_glyph): New function.
12186 (grub_font_blit_glyph): Likewise.
12187 (grub_font_blit_glyph_mirror): Likewise.
12188 (blit_comb): Likewise.
12189 (grub_font_construct_dry_run): Likewise.
12190 (grub_font_get_constructed_device_width): Likewise.
12191 (grub_font_construct_glyph): Likewise.
12192 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12193 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12194 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12195 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12196 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12197 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12198 (grub_font_get_xheight): New proto.
12199 (grub_font_get_constructed_device_width): Likewise.
12200 (grub_font_construct_glyph): Likewise.
12201 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12202 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12203 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12204 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12205 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12206 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12207 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12208 (grub_console_getcharwidth): Likewise.
12209 * include/grub/misc.h (grub_xputs): New proto.
12210 (grub_puts): Inlined.
12211 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12212 (grub_normal_get_line_counter): Removed.
12213 (grub_install_newline_hook): Likewise.
12214 (grub_normal_get_char_counter): New proto.
12215 (grub_normal_reset_more): Likewise.
12216 (grub_xputs_normal): Likewise.
12217 * include/grub/powerpc/ieee1275/console.h: Removed.
12218 * include/grub/sparc64/ieee1275/console.h: Likewise.
12219 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12220 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12221 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12222 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12223 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12224 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12225 (grub_term_input): Pass reference to self. All users updated.
12226 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12227 Pass reference to self. New fields normal_color, highlight_color and
12228 data. All users updated.
12229 (grub_putchar): Removed.
12230 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12231 (grub_unicode_estimate_width): New function.
12232 (grub_term_getcharwidth): Add defaults.
12233 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12234 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12235 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12236 (grub_cls): Remove EXPORT_FUNC.
12237 (grub_setcolorstate): Inline.
12238 (grub_newline_hook): Removed.
12239 * include/grub/terminfo.h: Rewritten. All users updated.
12240 * include/grub/unicode.h: New file.
12241 * include/grub/video.h (grub_video_signed_rect): New type.
12242 * kern/emu/console.c (grub_console_highlight_color): Removed.
12243 (grub_console_normal_color): Likewise.
12244 (grub_console_standard_color): Made static.
12245 (grub_ncurses_putchar): Remove mapping.
12246 (grub_ncurses_getcharwidth): Removed.
12247 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12248 (grub_ncurses_setcolor): Removed.
12249 (grub_ncurses_getcolor): Likewise.
12250 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12251 (grub_console_putchar): ... this.
12252 (grub_console_putchar): Handle argument difference.
12253 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12254 console_init_early and console_init_lately.
12255 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12256 * kern/misc.c (grub_puts): Removed.
12257 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12258 (grub_vsnprintf_real): Remove str = NULL support.
12259 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12260 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12261 * kern/term.c (grub_putcode): Renamed to ...
12262 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12263 (grub_putchar): Removed.
12264 (grub_xputs_dumb): New function.
12265 (grub_xputs): New variable.
12266 * lib/charset.c: Move from here ...
12267 * normal/charset.c: ... to here.
12268 (grub_ucs4_to_utf8): New function.
12269 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12270 (join_types): New variable.
12271 (unpack_join): New function.
12272 (bidi_types): New variable.
12273 (unpack_bidi): New function.
12274 (get_bidi_type): Likewise.
12275 (get_join_type): Likewise.
12276 (is_mirrored): Likewise.
12277 (grub_unicode_get_comb_type): Likewise.
12278 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12279 (is_type_after): Likewise.
12280 (grub_unicode_aglomerate_comb): Likewise.
12281 (bidi_line_wrap): Likewise.
12282 (grub_bidi_line_logical_to_visual): Likewise.
12283 (grub_bidi_logical_to_visual): Likewise.
12284 (grub_unicode_mirror_code): Likewise.
12285 (grub_unicode_shape_code): Likewise.
12286 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12287 Don't use grub_putchar.
12288 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12289 (grub_normal_reader_init): Likewise.
12290 (grub_xputs_saved): New variable.
12291 (GRUB_MOD_INIT): Set grub_xputs.
12292 (GRUB_MOD_FINI): Restore grub_xputs.
12293 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12294 (menu_init): Avoid printing gfxmenu error.
12295 (show_menu): Use grub_normal_get_char_counter.
12296 * normal/menu_entry.c (update_screen): Fix out-of-array.
12297 (complete): Avoid NULL dereferencing.
12298 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12299 * normal/menu_text.c (print_spaces): Removed.
12300 (grub_print_ucs4): Likewise.
12301 (grub_print_message_indented): Use grub_print_ucs4.
12302 (print_message): Use grub_putcode.
12303 (print_entry): Hanlde diacritics.
12304 * normal/term.c (term_state): New type.
12305 (grub_more_lines): Removed.
12306 (term_states): New variable.
12307 (grub_normal_line_counter): Renamed to ..
12308 (grub_normal_char_counter): ...this. All users updated.
12309 (grub_normal_get_line_counter): Renamed to ...
12310 (grub_normal_get_char_counter): ... this.
12311 (grub_normal_reset_more): New function.
12312 (process_newline): Removed.
12313 (print_more): New function.
12314 (grub_install_newline_hook): Removed.
12315 (map_code): New function.
12316 (grub_puts_terminal): Use grub_print_ucs4.
12317 (putglyph): New function.
12318 (putcode_real): Likewise.
12319 (grub_putcode): Use putcode_real.
12320 (get_maxwidth): New function.
12321 (get_startwidth): Likewise.
12322 (print_ucs4_terminal): Likewise.
12323 (find_term_state): Likewise.
12324 (put_glyphs_terminal): Likewise.
12325 (print_backlog): Likewise.
12326 (print_ucs4_real): Likewise.
12327 (grub_print_ucs4): Likewise.
12328 (grub_xputs_normal): Likewise.
12329 * term/efi/console.c (grub_console_putchar): Output diacritics.
12330 (grub_console_getcharwidth): Removed.
12331 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12332 * term/gfxterm.c (clear_char): Free chars.
12333 (scroll_up): Avoid leaking memory.
12334 (grub_gfxterm_putchar): Support diacritics.
12335 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12336 * term/i386/pc/console.c (grub_console_term_output): Declare as
12337 GRUB_TERM_CODE_TYPE_VGA.
12338 * term/i386/pc/vga.c (grub_vga_term): Declare as
12339 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12340 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12341 GRUB_TERM_CODE_TYPE_VGA.
12342 * term/i386/vga_common.c (map_char): Removed.
12343 (grub_console_putchar): Likewise.
12344 (grub_console_getcharwidth): Likewise.
12345 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12346 (colors): Reordered to match terminfo.
12347 (grub_ofconsole_normal_color): Removed.
12348 (grub_ofconsole_writeesc): Likewise.
12349 (grub_ofconsole_highlight_color): Likewise.
12350 (grub_ofconsole_getcharwidth): Likewise.
12351 (grub_ofconsole_setcolorstate): Likewise.
12352 (grub_ofconsole_setcolor): Likewise.
12353 (grub_ofconsole_getcolor): Likewise.
12354 (grub_ofconsole_readkey): Renamed to ...
12355 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12356 key.
12357 (grub_ofconsole_checkkey): Removed.
12358 (grub_ofconsole_getkey): Likewise.
12359 (grub_ofconsole_getxy): Likewise.
12360 (grub_ofconsole_gotoxy): Likewise.
12361 (grub_ofconsole_cls): Likewise.
12362 (grub_ofconsole_refresh): Likewise.
12363 (grub_ofconsole_terminfo_input): New struct.
12364 (grub_ofconsole_terminfo_output): Likewise.
12365 (grub_ofconsole_term_input): Use terminfo.
12366 (grub_ofconsole_term_output): Likewise.
12367 (grub_console_init): Split into ...
12368 (grub_console_init_early): ...this and ...
12369 (grub_console_init_lately): ...this. Use terminfo.
12370 (grub_ofconsole_putchar): Renamed to ...
12371 (put): ... this. Remove mapping.
12372 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12373 * term/serial.c: Simplify using terminfo.
12374 (xpos): Removed.
12375 (ypos): Likewise.
12376 (keep_track): Likewise.
12377 (registered): Likewise.
12378 (input_buf): Likewise.
12379 (npending): Likewise.
12380 (serial_translate_key_sequence): Likewise.
12381 (fill_input_buf): Likewise.
12382 (grub_serial_checkkey): Likewise.
12383 (grub_serial_getkey): Likewise.
12384 (grub_serial_getxy): Likewise.
12385 (grub_serial_gotoxy): Likewise.
12386 (grub_serial_putchar): Likewise.
12387 (grub_serial_cls): Likewise.
12388 (grub_serial_setcolorstate): Likewise.
12389 (grub_serial_setcursor): Likewise.
12390 (serial_hw_init): Use serial_hw_fetch.
12391 (grub_serial_terminfo_input): New variable.
12392 (grub_serial_terminfo_output): Likewise.
12393 (grub_serial_term_input): Use terminfo.
12394 (grub_serial_term_output): Likewise.
12395 * term/terminfo.c (putstr): Use put.
12396 (grub_terminfo_all_free): New function
12397 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12398 (grub_terminfo_output_register): New function.
12399 (grub_terminfo_output_unregister): Likewise.
12400 (grub_terminfo_getxy): Likewise.
12401 (grub_terminfo_readkey): Likewise.
12402 (grub_terminfo_checkkey): Likewise.
12403 (grub_terminfo_getkey): Likewise.
12404 (grub_terminfo_input_init): Likewise.
12405 (print_terminfo): Likewise.
12406 (grub_cmd_terminfo): Handle encoding.
12407 (grub_terminfo_gotoxy): Track position.
12408 (grub_terminfo_cls): Likewise.
12409 (grub_terminfo_putchar): Likewise.
12410 (grub_terminfo_setcolorstate): Handle colors
12411 (grub_terminfo_cursor_on): This ...
12412 (grub_terminfo_cursor_off): ... and this merged into ...
12413 (grub_terminfo_setcursor): ... this.
12414 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12415 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12416 * unicode/BidiMirroring.txt: Likewise.
12417 * unicode/UnicodeData.txt: Likewise.
12418 * unicode/COPYING: Likewise.
12419 * util/grub-editenv.c (grub_putchar): Removed.
12420 (grub_xputs_real): New function.
12421 (grub_xputs): New variable.
12422 * util/grub-fstest.c (grub_putchar): Removed.
12423 (grub_xputs_real): New function.
12424 (grub_xputs): New variable.
12425 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12426 (grub_xputs_real): New function.
12427 (grub_xputs): New variable.
12428 * util/grub-probe.c (grub_putchar): Removed.
12429 (grub_xputs_real): New function.
12430 (grub_xputs): New variable.
12431 * util/grub-script-check.c (grub_putchar): Removed.
12432 (grub_xputs_real): New function.
12433 (grub_xputs): New variable.
12434 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12435 (grub_xputs_real): New function.
12436 (grub_xputs): New variable.
12437 * util/import_unicode.py: New file.
12438 * util/grub-mkfont.c (ft_errmsgs): New array.
12439 (grub_glyph_info): Make bitmap a pointer.
12440 (file_formats): New type WIDTH_SPEC.
12441 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12442 (options): Add width-spec.
12443 (help): Likewise.
12444 (add_char): Renamed to ...
12445 (add_glyph): ... this.
12446 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12447 (glyph_replace): New type.
12448 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12449 (add_char): New function.
12450 (add_subst): Likewise.
12451 (process_cursive): Likewise.
12452 (add_font): Handle GSUB.
12453 (write_font_width_spec): New function.
12454 (main): Sort glyphs.
12455 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12456 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12457 * kern/term.c (grub_cls): Moved from here...
12458 * normal/term.c (grub_cls): ... here.
12459
50f0bcda
CW
124602010-07-02 Colin Watson <cjwatson@ubuntu.com>
12461
12462 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12463 suitable for using within the format argument of printf when
12464 converting grub_size_t.
12465 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12466 "x" to convert grub_size_t arguments.
12467
40372103
VS
124682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12471 too long captions.
12472 (list_get_minimal_size): Take selection box into account.
12473
942a10c7
VS
124742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12477 NULL font.
12478
2bdb2892
CW
124792010-07-02 Colin Watson <cjwatson@ubuntu.com>
12480
12481 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12482 devices when iterating over /dev/disk/by-id; they will be handled
12483 later if appropriate, which they aren't always (e.g. LVM).
12484
e03ed6c1
CW
124852010-07-02 Colin Watson <cjwatson@ubuntu.com>
12486
12487 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12488 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12489 fails.
12490 (grub_halt): Likewise.
12491 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12492 reset-all fails.
12493 (grub_halt): Don't return, even if all of shut-down, power-off, and
12494 poweroff fail.
12495
47695765
CW
124962010-07-02 Colin Watson <cjwatson@ubuntu.com>
12497
12498 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12499 arguments, not three.
12500
507736c8
CW
125012010-07-02 Colin Watson <cjwatson@ubuntu.com>
12502
12503 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12504 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12505 LVM-on-RAID is handled correctly.
12506
e3c8cd37
CW
125072010-07-02 Colin Watson <cjwatson@ubuntu.com>
12508
12509 * docs/grub.texi (Changes from GRUB Legacy): New section.
12510 (Future): Fix typo.
12511
8d4a2fec
CW
125122010-07-02 Colin Watson <cjwatson@ubuntu.com>
12513
12514 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12515 grub.d/README accidentally ends up executable for one reason or
12516 another. Ignore it.
12517
1c4827be
VS
125182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12521 (gpt_partition_map_iterate): Support non-512B sectors.
12522
d9a0c941
VS
125232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12526 Tested by: Seth Goldberg.
12527
48f27e87
VS
125282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12531 Properly align mbi.
12532 Reported by: Seth Goldberg.
12533
b0c4f956
VS
125342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * util/grub-mkrescue.in: Avoid module duplication.
12537
105a2e8c
SF
125382010-07-01 Sean Finney <seanius@seanius.net>
12539
12540 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12541
5944958c
SF
125422010-07-01 Sean Finney <seanius@seanius.net>
12543
12544 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12545
125462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * disk/lvm.c (grub_lvm_checkvalue): New function.
12549 (grub_lvm_check_flag): Likewise.
12550
b79889ba
RM
125512010-07-01 Robert Millan <rmh@gnu.org>
12552
12553 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12554 Support 'p' as partition separator on kernel of FreeBSD (used
12555 with GPT labels).
12556 (grub_util_biosdisk_get_grub_dev): Likewise.
12557
ec1d04f1
VS
125582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Yeeloong firmware port.
12561
12562 * boot/mips/yeeloong/fwstart.S: New file.
12563 * bus/cs5536.c (gpiodump): New const.
12564 (set_io_space): New function.
12565 (set_iod): Likewise.
12566 (set_p2d): Likewise.
12567 (grub_cs5536_init_geode): Likewise.
12568 * commands/mips/yeeloong/lsspd.c: New file.
12569 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12570 (serial_mod_SOURCES): New variable.
12571 (serial_mod_CFLAGS): Likewise.
12572 (serial_mod_LDFLAGS): Likewise.
12573 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12574 term/terminfo.c and term/tparm.c.
12575 (pkglib_IMAGES): Add fwstart.img.
12576 (fwstart_img_SOURCES): New variable.
12577 (fwstart_img_CFLAGS): Likewise.
12578 (fwstart_img_ASFLAGS): Likewise.
12579 (fwstart_img_LDFLAGS): Likewise.
12580 (fwstart_img_FORMAT): Likewise.
12581 (pkglib_MODULES): Add lsspd.mod.
12582 (lsspd_mod_SOURCES): New variable.
12583 (lsspd_mod_CFLAGS): Likewise.
12584 (lsspd_mod_LDFLAGS): Likewise.
12585 (pkglib_MODULES): Add halt.mod.
12586 (halt_mod_SOURCES): New variable.
12587 (halt_mod_CFLAGS): Likewise.
12588 (halt_mod_LDFLAGS): Likewise.
12589 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12590 (serial_mod_SOURCES): Removed.
12591 (serial_mod_CFLAGS): Likewise.
12592 (serial_mod_LDFLAGS): Likewise.
12593 * disk/ata.c (check_device): New function.
12594 (grub_ata_device_initialize): Use check_device.
12595 (grub_ata_iterate): Recheck devices.
12596 (grub_ata_open): Likewise.
12597 (grub_atapi_iterate): Likewise.
12598 (grub_atapi_open): Likewise.
12599 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12600 (GRUB_ATA_CH1_PORT1): Likewise.
12601 (GRUB_ATA_CH0_PORT2): Likewise.
12602 (GRUB_ATA_CH1_PORT2): Likewise.
12603 * include/grub/mips/loongson.h: New file.
12604 * include/grub/mips/yeeloong/ec.h: Likewise.
12605 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12606 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12607 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12608 * include/grub/misc.h (grub_halt): Declare as noreturn.
12609 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12610 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12611 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12612 (UART_ENABLE_DTRRTS): Likewise.
12613 (UART_ENABLE_MODEM): Removed.
12614 (UART_ENABLE_OUT2): New const.
12615 * include/grub/term.h (grub_term_register_input_active): New function.
12616 (grub_term_register_output_active): Likewise.
12617 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12618 argument.
12619 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12620 (init_pci): New function.
12621 (grub_machine_init): Execute platform init when firmware. Init serial.
12622 (grub_halt): Implement.
12623 (grub_exit): Likewise.
12624 (grub_reboot): Likewise.
12625 * term/serial.c (serial_hw_init): Update macros.
12626 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12627 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12628 (image_targets): New target mipsel-yeeloong-flash.
12629 (generate_image): Support IMAGE_YEELOONG_FLASH.
12630 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12631 (grub_video_sm712_setup): Init card.
12632 (grub_video_sm712_set_palette): Removed.
12633 * video/sm712_init.c: New file.
12634
ff4a70d2
CW
126352010-06-30 Colin Watson <cjwatson@ubuntu.com>
12636
12637 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12638 PATH when running help2man and then run it on the unadorned
12639 executable names, rather than passing $(builddir)/* paths to
12640 help2man. This avoids the build directory ending up in generated
12641 manual pages.
12642
1246efeb
CW
126432010-06-29 Colin Watson <cjwatson@ubuntu.com>
12644
12645 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12646 to avoid accidents when debugging with 'sh -x'.
12647 * util/grub-mkrescue.in: Likewise.
12648 * util/grub.d/00_header.in: Likewise.
12649 * util/grub.d/10_hurd.in: Likewise.
12650 * util/grub.d/10_kfreebsd.in: Likewise.
12651 * util/grub.d/10_linux.in: Likewise.
12652 * util/grub.d/10_netbsd.in: Likewise.
12653 * util/grub.d/10_windows.in: Likewise.
12654 * util/grub.d/20_linux_xen.in: Likewise.
12655 * util/grub.d/30_os-prober.in: Likewise.
12656 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12657
1ba9b889
CW
126582010-06-29 Colin Watson <cjwatson@ubuntu.com>
12659
12660 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12661 last character in the buffer.
12662 Reported by: Vladimir Serbinenko.
12663
dccaf99d
RM
126642010-06-29 Robert Millan <rmh@gnu.org>
12665
12666 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12667 (Command-line and menu entry commands): Document `badram' command.
12668
d500ed12
RM
126692010-06-28 Robert Millan <rmh@gnu.org>
12670
12671 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12672 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12673 command using ${GRUB_BADRAM} as parameter.
12674
20bc84a6
CW
126752010-06-28 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * docs/grub.texi (Device map): New section.
12678 (Themes): New section (stub).
12679 * Makefile.in (docs/grub.info): The info documentation now builds
12680 without errors. Make sure it stays that way.
12681
4045dee1
VS
126822010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Use normal parser for menu entries.
12685 Reported by: Thomas Frauendorfer
12686
12687 * include/grub/parser.h (grub_parser_execute): Don't export.
12688 * normal/menu.c (grub_menu_execute_entry_real): New function.
12689 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12690
bca58c7b
CW
126912010-06-28 Colin Watson <cjwatson@ubuntu.com>
12692
12693 * docs/grub.texi (Embedded configuration): New section (replacing
12694 old "Preset Menu" stub).
12695 (Images): New section.
12696 (configfile): Note that any menu entries defined in `file' are shown
12697 immediately.
12698
dec53e63
JT
126992010-06-28 Josh Triplett <josh@joshtriplett.org>
12700
12701 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12702
c06e40f7
CW
127032010-06-28 Colin Watson <cjwatson@ubuntu.com>
12704
12705 * util/grub-install.in: Add --debug-image= option.
12706
cb88052b
CW
127072010-06-28 Colin Watson <cjwatson@ubuntu.com>
12708
12709 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12710 possible on Linux.
12711
12712 * util/deviceiter.c (check_device): Rename to ...
12713 (check_device_readable_unique): ... this. Update all callers.
12714 Maintain and check a list of which devices (by canonicalized name)
12715 have already been seen.
12716 (clear_seen_devices): New function.
12717 (compare_file_names) [__linux__]: New function.
12718 (grub_util_iterate_devices): Clear the list of seen devices on exit
12719 and (just in case) on entry.
12720 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12721 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12722 seen-devices list, superseded by general code in check_device.
12723
bbe34652
CW
127242010-06-28 Colin Watson <cjwatson@ubuntu.com>
12725
12726 * commands/cat.c (options): New variable.
12727 (grub_cmd_cat): Parse options. If the --dos option is given, print
12728 DOS-style "\r\n" line endings as simple newlines (Debian bug
12729 #586358).
12730 (GRUB_MOD_INIT): Use extcmd.
12731 (GRUB_MOD_FINI): Likewise.
12732 * docs/grub.texi (cat): Document --dos.
12733
412e09f3
VS
127342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 XEN with Linux grub-mkconfig support.
12737
12738 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12739 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12740 GRUB_CMDLINE_XEN_DEFAULT.
12741 * util/grub.d/20_linux_xen.in: New file.
12742
53f3ef38 127432010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12744
12745 Initialise VGA video on qemu ourselves.
12746
12747 * boot/i386/qemu/boot.S: Don't call 0xc000.
12748 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12749 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12750 (kernel_img_HEADERS): Add pci.h.
12751 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12752 * configure.ac: Force unifont on qemu and yeeloong.
12753 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12754 (grub_vga_palette_write): Use correct register.
12755 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12756 Call grub_qemu_init_cirrus.
12757 * kern/i386/qemu/init.c: New file.
12758 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12759
12760 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12761
c75be4fb
PR
127622010-06-26 Pavel Roskin <proski@gnu.org>
12763
12764 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12765 13.
12766
d8034603
CW
127672010-06-26 Colin Watson <cjwatson@ubuntu.com>
12768
12769 * docs/grub.texi (Simple configuration): Explain that
12770 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12771 set to `true' to disable their respective recovery entries, not
12772 merely set.
12773
3fa06487
CW
127742010-06-26 Colin Watson <cjwatson@ubuntu.com>
12775
12776 Make the `source' command slightly faster.
12777
12778 * normal/main.c (grub_normal_execute): Don't re-read list files when
12779 nested.
12780
e9b29642
CW
127812010-06-23 Colin Watson <cjwatson@ubuntu.com>
12782
12783 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12784 field position and mask size to red fields from mode_info, not
12785 green.
12786 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12787 Remove redundant tag->common.framebuffer_type assignment.
12788 Reported by: Seth Goldberg.
12789
e726542f
CW
127902010-06-23 Colin Watson <cjwatson@ubuntu.com>
12791
12792 Sync up other versions of the Linux loader with Robert Millan's
12793 change of 2010-01-09, "Make loader output a bit more user-friendly".
12794
12795 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12796 grub_dprintf().
12797 (grub_cmd_linux): Likewise.
12798 (grub_cmd_initrd): Likewise.
12799 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12800 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12801
d6e98a17
CW
128022010-06-21 Colin Watson <cjwatson@ubuntu.com>
12803
12804 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12805 larger than MEMORY_MAP_SIZE.
12806
14d3f08e
BC
128072010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12808
12809 Fix parallel build.
12810
12811 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12812 dependency.
12813 * script/parser.y: #include grub_script.tab.h header.
12814
4f9613a3
VS
128152010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 Support >3GiB and <16MiB RAM in i386-qemu.
12818
12819 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12820 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12821 (grub_lower_mem): Removed.
12822 (grub_upper_mem): Likewise.
12823 (mem_size): Made static.
12824 (above_4g): New variable.
12825 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12826 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12827 support.
12828
05e51879
VS
128292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 Cirrus 5446 and Bochs video cards support.
12832
12833 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12834 video_bochs.mod
12835 (video_cirrus_mod_SOURCES): New variable.
12836 (video_cirrus_mod_CFLAGS): Likewise.
12837 (video_cirrus_mod_LDFLAGS): Likewise.
12838 (video_bochs_mod_SOURCES): Likewise.
12839 (video_bochs_mod_CFLAGS): Likewise.
12840 (video_bochs_mod_LDFLAGS): Likewise.
12841 * include/grub/vga.h: New file.
12842 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12843 (grub_video_fb_set_page_t): New type.
12844 (grub_video_fb_setup): New prototype.
12845 (grub_video_fb_swap_buffers): Likewise.
12846 (grub_video_fb_get_info_and_fini): Likewise.
12847 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12848 (CRTC_DATA_PORT): Likewise.
12849 (CRTC_CURSOR): Likewise.
12850 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12851 (CRTC_CURSOR_ADDR_LOW): Likewise.
12852 (CRTC_CURSOR_DISABLE): Likewise.
12853 (update_cursor): Use grub_vga_cr_write.
12854 (grub_vga_text_setcursor): Likewise.
12855 * video/bochs.c: New file.
12856 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12857 (palette): Likewise.
12858 (palette_size): Likewise.
12859 (framebuffer): New variable.
12860 (grub_video_fb_init): Use 'framebuffer'.
12861 (grub_video_fb_fini): Likewise.
12862 (grub_video_fb_get_info): Likewise.
12863 (grub_video_fb_get_palette): Likewise.
12864 (grub_video_fb_set_palette): Likewise.
12865 (grub_video_fb_set_viewport): Likewise.
12866 (grub_video_fb_get_viewport): Likewise.
12867 (grub_video_fb_map_color): Likewise.
12868 (grub_video_fb_map_rgb): Likewise.
12869 (grub_video_fb_map_rgba): Likewise.
12870 (grub_video_fb_unmap_color): Likewise.
12871 (grub_video_fb_unmap_color_int): Likewise.
12872 (grub_video_fb_fill_rect): Likewise.
12873 (grub_video_fb_blit_bitmap): Likewise.
12874 (grub_video_fb_blit_render_target): Likewise.
12875 (grub_video_fb_scroll): Likewise.
12876 (grub_video_fb_create_render_target): Likewise.
12877 (grub_video_fb_doublebuf_blit_init): Likewise.
12878 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12879 (doublebuf_pageflipping_update_screen): New function.
12880 (doublebuf_pageflipping_init): Likewise.
12881 (grub_video_fb_setup): Likewise.
12882 (grub_video_fb_swap_buffers): Likewise.
12883 (grub_video_fb_get_info_and_fini): Likewise.
12884 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12885 All users updated.
12886 (doublebuf_pageflipping_commit): Restructured into ...
12887 (doublebuf_pageflipping_set_page): ... this.
12888 (doublebuf_pageflipping_update_screen): Removed.
12889 (doublebuf_pageflipping_init): Likewise.
12890 (double_buffering_init): Likewise.
12891 (grub_video_vbe_setup): Use grub_video_fb_setup.
12892 (grub_video_vbe_swap_buffers): Removed.
12893 (grub_video_vbe_set_active_render_target): Likewise.
12894 (grub_video_vbe_get_active_render_target): Likewise.
12895 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12896 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12897 grub_video_fb_set_active_render_target and
12898 grub_video_fb_get_active_render_target.
12899 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12900 (SEQUENCER_DATA_PORT): Likewise.
12901 (MAP_MASK_REGISTER): Likewise.
12902 (CRTC_ADDR_PORT): Likewise.
12903 (CRTC_DATA_PORT): Likewise.
12904 (START_ADDR_HIGH_REGISTER): Likewise.
12905 (START_ADDR_LOW_REGISTER): Likewise.
12906 (GRAPHICS_ADDR_PORT): Likewise.
12907 (GRAPHICS_DATA_PORT): Likewise.
12908 (READ_MAP_REGISTER): Likewise.
12909 (INPUT_STATUS1_REGISTER): Likewise.
12910 (INPUT_STATUS1_VERTR_BIT): Likewise.
12911 (get_map_mask): Use grub_vga_sr_read.
12912 (set_map_mask): Use grub_vga_sr_write.
12913 (set_read_map): Use grub_vga_gr_write.
12914 (set_start_address): Use grub_vga_cr_write.
12915 * video/sm712.c (framebuffer): Remove leftover fields.
12916
4321c64a
CW
129172010-06-20 Colin Watson <cjwatson@ubuntu.com>
12918
12919 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12920 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12921 instead. Replace the gfxterm backend check with a check that
12922 ${GRUB_PREFIX}/video.lst is non-empty.
12923 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12924 again.
12925 (load_video): New generated function. Call it before loading
12926 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12927 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12928 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12929 * docs/grub.texi (Simple configuration): Document
12930 GRUB_VIDEO_BACKEND.
12931
129322010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 Use video functions in linux and xnu loaders.
12935
12936 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12937 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12938 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12939 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12940 loader/i386/pc/linux.c.
12941 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12942 (find_line_len): Removed.
12943 (find_framebuf): Likewise.
12944 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12945 * loader/i386/efi/xnu.c: Removed.
12946 * loader/i386/pc/xnu.c: Moved from here...
12947 * loader/i386/xnu.c: ...here.
12948
12949 Enable priorities in video drivers.
12950
12951 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12952 (grub_video_adapter): New field prio.
12953 (grub_video_register): Respect prio when inserting.
12954 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12955 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12956 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12957 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12958 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12959 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12960 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12961
12962 Fix SDL driver ID.
12963
12964 * include/grub/video.h (grub_video_driver_id_t): New value
12965 GRUB_VIDEO_DRIVER_SDL.
12966 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12967
7d24e434
CW
129682010-06-17 Colin Watson <cjwatson@ubuntu.com>
12969
12970 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12971 argument to printf.
12972 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12973
c88a83f6
CW
129742010-06-17 Colin Watson <cjwatson@ubuntu.com>
12975
12976 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12977 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12978
094dfb69
CW
129792010-06-17 Colin Watson <cjwatson@ubuntu.com>
12980
12981 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12982 directly, and recommend grub-install instead.
12983 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12984
2164da6b
CW
129852010-06-17 Colin Watson <cjwatson@ubuntu.com>
12986
12987 Fix i386-pc prefix handling with nested partitions (Debian bug
12988 #585068). Note that the case where the core image is booted using
12989 multiboot and relocated from its original location still requires
12990 more work.
12991
12992 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12993 with "(,", fill the boot drive in between those two characters, but
12994 expect that a full partition specification including partition map
12995 names will follow.
12996 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12997 specified, write a prefix without the drive name but including a
12998 full partition specification.
12999
044e2e60
CW
130002010-06-16 Colin Watson <cjwatson@ubuntu.com>
13001
13002 * util/grub-mkconfig.in: Ignore non-option arguments, for
13003 compatibility with older versions (before 2010-06-12) which did the
13004 same. In particular, this makes it easier to ship an update-grub
13005 wrapper which is compatible with that used with GRUB Legacy (Debian
13006 bug #586056).
13007
5591324f
GS
130082010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13009
13010 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13011 for manual page generation.
13012
662e24d5
GS
130132010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13014
13015 * po/POTFILES: Remove leftover commands/handler.c.
13016
8d70754e
CW
130172010-06-14 Colin Watson <cjwatson@ubuntu.com>
13018
13019 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13020 left this script non-functional.
13021
41160e2e
CW
130222010-06-14 Colin Watson <cjwatson@ubuntu.com>
13023
13024 * docs/man/grub-emu.h2m: New file.
13025
b5309cc1
CW
130262010-06-13 Colin Watson <cjwatson@ubuntu.com>
13027
13028 * docs/grub.texi (Commands): Document reduced command set in rescue
13029 mode.
13030 (cpuid): New section.
13031
fcb2d090
GS
130322010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13033
13034 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13035 new partition naming style.
13036 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13037
96e5c556
BC
130382010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13039
13040 Add "-o grub.iso" like cmdline options support.
13041
13042 * util/grub-install.in: Improve cmdline option parsing.
13043 * util/grub-mkconfig.in: Likewise.
13044 * util/grub-mkrescue.in: Likewise.
13045 * util/grub-reboot.in: Likewise.
13046 * util/grub-set-default.in: Likewise.
13047 * util/i386/efi/grub-install.in: Likewise.
13048 * util/ieee1275/grub-install.in: Likewise.
13049 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13050
c16be99b
CW
130512010-06-12 Colin Watson <cjwatson@ubuntu.com>
13052
13053 * .bzrignore: Ignore 41_custom.
13054
ce08a9fb
TS
130552010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13056
13057 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13058
7beac90c
CW
130592010-06-12 Colin Watson <cjwatson@ubuntu.com>
13060
13061 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13062 prototype declarations.
13063
13064 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13065 generating fs, partmap, and video lists.
13066 * include/grub/fs.h (grub_fs_register): Omit prototype if
13067 GRUB_LST_GENERATOR is defined.
13068 * include/grub/partition.h (grub_partition_map_register): Likewise.
13069 * include/grub/video.h (grub_video_register): Likewise.
13070
1c8f0f8d
JM
130712010-06-12 Javier Martín <lordhabbit@gmail.com>
13072
13073 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13074
a6085973
TS
130752010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13076
13077 * util/grub-mkrescue.in: Support --xorriso argument.
13078
25c56d29
VS
130792010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13082 Suggested by: Thomas Schmitt.
13083
e03e4b24
VS
130842010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13087 Suggested by: Thomas Schmitt.
13088
57711df6
VS
130892010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 custom.cfg support.
13092
13093 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13094 * util/grub.d/41_custom.in: New file.
13095
ee62c427
CW
130962010-06-12 Colin Watson <cjwatson@ubuntu.com>
13097
13098 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13099 been merged back into normal.
13100
283af07a
CW
131012010-06-11 Colin Watson <cjwatson@ubuntu.com>
13102
13103 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13104 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13105
56a0d956
CW
131062010-06-11 Colin Watson <cjwatson@ubuntu.com>
13107
13108 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13109 when generating manual pages.
13110 * docs/man/grub-bin2h.h2m: New file.
13111 * docs/man/grub-editenv.h2m: New file.
13112 * docs/man/grub-fstest.h2m: New file.
13113 * docs/man/grub-install.h2m: New file.
13114 * docs/man/grub-macho2img.h2m: New file.
13115 * docs/man/grub-mkconfig.h2m: New file.
13116 * docs/man/grub-mkdevicemap.h2m: New file.
13117 * docs/man/grub-mkfont.h2m: New file.
13118 * docs/man/grub-mkimage.h2m: New file.
13119 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13120 * docs/man/grub-mkrelpath.h2m: New file.
13121 * docs/man/grub-mkrescue.h2m: New file.
13122 * docs/man/grub-ofpathname.h2m: New file.
13123 * docs/man/grub-pe2elf.h2m: New file.
13124 * docs/man/grub-probe.h2m: New file.
13125 * docs/man/grub-reboot.h2m: New file.
13126 * docs/man/grub-script-check.h2m: New file.
13127 * docs/man/grub-set-default.h2m: New file.
13128 * docs/man/grub-setup.h2m: New file.
13129
3a37e322
VS
131302010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13131
13132 Use FOR_* macros instead of *_iterate whenever possible.
13133
13134 * commands/handler.c: Removed.
13135 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13136 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13137 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13138 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13139 (grub_probe_SOURCES): Remove kern/parser.c.
13140 (util/grub-script-check.c_DEPENDENCIES): Removed.
13141 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13142 and grub_script_check_init.c.
13143 (grub_script_check_init.lst): Removed.
13144 (grub_script_check_init.h): Likewise.
13145 (grub_script_check_init.c): Likewise.
13146 (pkglib_MODULES): Remove handler.mod and sh.mod.
13147 (handler_mod_SOURCES): Removed.
13148 (handler_mod_CFLAGS): Likewise.
13149 (handler_mod_LDFLAGS): Likewise.
13150 (normal_mod_SOURCES): Remove normal/handler.c.
13151 Add script/main.c, script/script.c, script/execute.c,
13152 script/function.c, script/lexer.c, grub_script.tab.c
13153 and grub_script.yy.c.
13154 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13155 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13156 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13157 (grub_setup_SOURCES): Remove kern/parser.c.
13158 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13159 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13160 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13161 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13162 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13163 (grub_setup_SOURCES): Remove kern/parser.c.
13164 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13165 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13166 * include/grub/command.h (grub_command_iterate): Removed.
13167 (FOR_COMMANDS): New macro.
13168 * include/grub/dl.h (grub_dl): New member next.
13169 (grub_dl_iterate): Removed.
13170 (grub_dl_head): New variable declaration.
13171 (FOR_DL_MODULES): New macro.
13172 * include/grub/fs.h: Include list.h.
13173 (grub_fs): Make next first element.
13174 (grub_fs_list): New variable declaration.
13175 (grub_fs_register): Make inline.
13176 (grub_fs_unregister): Likewise.
13177 (grub_fs_iterate): Removed.
13178 (FOR_FILESYSTEMS): New macro.
13179 * include/grub/handler.h: Removed.
13180 * include/grub/list.h (grub_list_hook_t): Removed.
13181 (grub_list_test_t): Likewise.
13182 (grub_list_pop): Likewise.
13183 (grub_list_iterate): Likewise.
13184 (grub_list_insert): Likewise.
13185 (FOR_LIST_ELEMENTS): New macro.
13186 * include/grub/parser.h (grub_parser_class): Removed.
13187 (grub_parser_register): Likewise.
13188 (grub_parser_unregister): Likewise.
13189 (grub_parser_get_current): Likewise.
13190 (grub_parser_set_current): Likewise.
13191 (grub_register_rescue_parser): Likewise.
13192 (grub_rescue_parse_line): New function.
13193 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13194 * include/grub/script_sh.h (grub_script_function_list): New variable
13195 declaration.
13196 (FOR_SCRIPT_FUNCTIONS): New macro.
13197 (grub_script_function_iterate): Removed.
13198 (grub_normal_parse_line): New prototype.
13199 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13200 (FOR_DISABLED_TERM_INPUTS): Likewise.
13201 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13202 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13203 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13204 element.
13205 (grub_video_register): Inline.
13206 (grub_video_unregister): Likewise.
13207 (grub_video_adapter_list): New variable declaration.
13208 (grub_video_iterate): Removed.
13209 (FOR_VIDEO_ADAPTERS): New macro.
13210 * kern/dl.c (grub_dl_list): Removed. All users updated.
13211 (grub_dl_iterate): Removed.
13212 * kern/fs.c (grub_fs_list): Make global.
13213 (grub_fs_register): Removed.
13214 (grub_fs_unregister): Likewise.
13215 (grub_fs_iterate): Likewise.
13216 * kern/handler.c: Removed.
13217 * kern/list.c (grub_list_pop): Removed.
13218 (grub_list_iterate): Likewise.
13219 (grub_list_insert): Likewise.
13220 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13221 (grub_prio_list_insert): Don't use grub_list_insert.
13222 * kern/main.c (grub_register_rescue_parser): Don't call
13223 grub_register_rescue_parser.
13224 * kern/parser.c (grub_parser_class): Removed.
13225 (grub_parser_execute): Use grub_rescue_parse_line.
13226 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13227 (grub_rescue_parser): Removed.
13228 (grub_register_rescue_parser): Likewise.
13229 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13230 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13231 (grub_auth_check_authentication): Likewise.
13232 * normal/completion.c (iterate_command): Removed.
13233 (grub_normal_do_completion): Use FOR_COMMANDS.
13234 * normal/handler.c: Removed.
13235 * normal/main.c (read_config_file): Remove parser changing.
13236 (grub_normal_execute): Don't call read_handler_list.
13237 (grub_normal_read_line_real): Statically allocate prompt.
13238 (grub_cmdline_run): Use grub_normal_parse_line.
13239 (GRUB_MOD_FINI): Don't call free_handler_list.
13240 * normal/menu_entry.c (run): Likewise.
13241 * script/function.c (grub_script_function_list): Make global.
13242 (grub_script_function_iterate): Removed.
13243 * script/main.c (grub_normal_parse_line): Make global.
13244 (grub_sh_parser): Removed.
13245 (GRUB_MOD_INIT): Likewise.
13246 (GRUB_MOD_FINI): Likewise.
13247 * tests/lib/functional_test.c (grub_functional_test): Use
13248 FOR_LIST_ELEMENTS.
13249 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13250 (grub_test_run): Use FOR_LIST_ELEMENTS.
13251 * tests/lib/unit_test.c (main): Likewise.
13252 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13253 grub_list_pop.
13254 * util/grub-fstest.c (grub_term_input_class): Removed.
13255 (grub_term_output_class): Likewise.
13256 * util/grub-probe.c: Likewise.
13257 * util/i386/pc/grub-setup.c: Likewise.
13258 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13259 * util/grub-script-check.c (main): Don't call grub_init_all and
13260 grub_fini_all.
13261 * video/video.c (grub_video_adapter_list): Make global.
13262 (grub_video_register): Removed.
13263 (grub_video_unregister): Likewise.
13264 (grub_video_iterate): Likewise.
13265
6289c3a7
VS
132662010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13269 reported by Henrique Ferreiro.
13270
91460247
RM
132712010-06-09 Robert Millan <rmh@gnu.org>
13272
13273 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13274 ones, when both are available.
13275
0ea7c4f9
GS
132762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13277
13278 Make --version uniform and avoid hard-coded program name.
13279
13280 * util/grub-mkimage.c (main): Use `program_name' instead of
13281 hard-coded string.
13282 * util/i386/pc/grub-setup.c (main): Likewise.
13283 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13284 * util/grub-install.in: Save the basename of $0 in $self, and use the
13285 latter in informational messages. Use the same format for --version
13286 as the binary programs.
13287 * util/grub-mkconfig.in: Likewise.
13288 * util/grub-mkrescue.in: Likewise.
13289 * util/grub-reboot.in: Likewise.
13290 * util/grub-set-default.in: Likewise.
13291 * util/i386/efi/grub-install.in: Likewise.
13292 * util/ieee1275/grub-install.in: Likewise.
13293 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13294
e8a6f3b6
GS
132952010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13296
13297 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13298 embedding area. Use <= instead of == when checking for non-emptiness.
13299
f4d095d7
GS
133002010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13301
13302 * configure.ac: Add `.' to the directories searched for unifont.
13303
50e532ca
CW
133042010-06-08 Colin Watson <cjwatson@ubuntu.com>
13305
13306 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13307 grub_script.yy.h.
13308
d39f3dec
CW
133092010-06-08 Colin Watson <cjwatson@ubuntu.com>
13310
13311 * docs/grub.texi (History): Expand to cover GRUB 2.
13312 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13313 commands, not `terminal'.
13314 (serial): Likewise.
13315 (terminal_input): New section.
13316 (terminal_output): New section.
13317 (uppermem): New section (stub).
13318 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13319
6ef0ddb4
CW
133202010-06-08 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * docs/grub.texi (Security): Menu entries are unrestricted by
13323 default, not restricted to superusers as I had previously thought.
13324 Reword to account for this.
13325
e0f4c438
CW
133262010-06-07 Colin Watson <cjwatson@ubuntu.com>
13327
13328 * kern/emu/misc.c (device_mapper_null_log): New function.
13329 (grub_device_mapper_supported): New function.
13330 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13331 prototype.
13332 * kern/emu/hostdisk.c (find_partition_start): Check whether
13333 device-mapper is supported before trying to use it.
13334 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13335
da908200
CW
133362010-06-07 Colin Watson <cjwatson@ubuntu.com>
13337
13338 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13339 (File name syntax): Likewise.
13340 (help): --all is no longer supported in GRUB 2. Be more precise
13341 about pattern matching.
13342
fb55c3ac
CW
133432010-06-07 Colin Watson <cjwatson@ubuntu.com>
13344
13345 * normal/completion.c (grub_normal_do_completion): When completing
13346 arguments to "set" and the current word contains an equals sign,
13347 skip to after the equals sign before starting completion.
13348
258c2573
CW
133492010-06-07 Colin Watson <cjwatson@ubuntu.com>
13350
13351 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13352
ee75515e
CW
133532010-06-07 Colin Watson <cjwatson@ubuntu.com>
13354
13355 * docs/grub.texi (Network): New section.
13356 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13357 `(nd)' as in GRUB Legacy.
13358 (pxe_unload): New section.
13359
a6a700aa
CW
133602010-06-07 Colin Watson <cjwatson@ubuntu.com>
13361
13362 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13363 in the rescue shell, so recommend using `set' instead. Thanks,
13364 Jordan Uggla.
13365
4003dd38
CW
133662010-06-07 Colin Watson <cjwatson@ubuntu.com>
13367
13368 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13369 (password): New section.
13370 (password_pbkdf2): New section.
13371 (search): New section.
13372 (Security): New section.
13373 (Troubleshooting): New section, currently very incomplete.
13374 (Invoking grub-mkpasswd-pbkdf2): New section.
13375 (Internals): New section, currently very incomplete.
13376
e1cbcc40
CW
133772010-06-07 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * util/grub.d/00_header.in: Add some more quoting (of
13380 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13381 work again.
13382 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13383
db8fa1ad
CW
133842010-06-07 Colin Watson <cjwatson@ubuntu.com>
13385
13386 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13387 to `count', fixing variable shadowing that broke the -c option.
13388
133892010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13390
13391 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13392 in case they contain spaces.
13393
f28a9212
CW
133942010-06-04 Colin Watson <cjwatson@ubuntu.com>
13395
13396 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13397 "part_" to partmap module names, in line with grub-install.
13398 Reported by: Jindřich Makovička (Debian bug #584426).
13399
9cdfe32f
CW
134002010-06-04 Colin Watson <cjwatson@ubuntu.com>
13401
13402 * util/grub-mkimage.c: Make target-related error messages slightly
13403 more helpful; -O talks about "format". Explicitly point to the use
13404 of -O if no target is specified.
13405 Reported by: Didier Raboud (Debian bug #584415).
13406
795b593a
CW
134072010-06-03 Colin Watson <cjwatson@ubuntu.com>
13408
13409 * INSTALL: Document several build requirements for optional features
13410 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13411
9d9b5833
GS
134122010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13413
13414 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13415 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13416 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13417
0819fec8
CW
134182010-06-02 Colin Watson <cjwatson@ubuntu.com>
13419
13420 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13421 Thanks to Jordan Uggla for spotting this.
13422
49396b4f
VS
134232010-06-02 Aleš Nesrsta <starous@volny.cz>
13424
13425 Finally make USB usable.
13426
13427 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13428 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13429 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13430 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13431 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13432 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13433 (GRUB_OHCI_FSMPS): Likewise.
13434 (GRUB_OHCI_PERIODIC_START): Likewise.
13435 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13436 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13437 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13438 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13439 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13440 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13441 (grub_ohci_transaction): Likewise.
13442 (grub_ohci_transfer): Improve condition detection algorithms.
13443 Handle toggle property. Program the transactions correctly.
13444 Improve error handling. Various important fixups.
13445 (grub_ohci_portstatus): Put register writes in right order.
13446 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13447 (grub_uhci_transfer): Don't show "failed" message on success.
13448 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13449 array.
13450 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13451 determine its size.
13452 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13453 before initialization is completed. Use IN direction for empty
13454 transfers. Use last_trans and compute toggle.
13455 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13456 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13457 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13458 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13459 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13460 (grub_usb_device): Increase toggle to 256.
13461 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13462 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13463 GRUB_USBMS_SUBCLASS_SFF8070.
13464 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13465 (grub_scsi_inquiry): New member page and alloc_length.
13466 (grub_scsi_request_sense): New structure.
13467 (grub_scsi_request_sense_data): Likewise.
13468 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13469 control.
13470 * disk/scsi.c (grub_scsi_request_sense): New function.
13471 (grub_scsi_test_unit_ready): Likewise.
13472 (grub_scsi_inquiry): Fill new fields.
13473 (grub_scsi_read_capacity): Likewise.
13474 (grub_scsi_read10): Add request sense at the end.
13475 (grub_scsi_read12): Likewise.
13476 (grub_scsi_write10): Likewise.
13477 (grub_scsi_write12): Likewise.
13478 (grub_scsi_open): Add Test Unit Ready.
13479 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13480 Support additional subclasses. Con't clear halt yet. Activate the
13481 proper config. Calculate LUNs correctly.
13482 (grub_usbms_transfer): Various important fixups.
13483
134842010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13487 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13488 (grub_ohci_fini_hw): New function.
13489 (grub_ohci_restore_hw): Likewise.
13490 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13491 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13492 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13493
134942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Dedicated DMA allocations.
13497
13498 * bus/pci.c (grub_memalign_dma32): New function
13499 (grub_dma_free): Likewise.
13500 (grub_dma_get_virt): Likewise.
13501 (grub_dma_get_phys): Likewise.
13502 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13503 (grub_ohci_pci_iter): Use dma32_alloc.
13504 (grub_ohci_transfer): Likewise.
13505 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13506 (grub_usb_bulk_readwrite): Likewise.
13507 * include/grub/pci.h: Add declarations.
13508
135092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 CS5536 support.
13512
13513 * bus/cs5536.c: New file.
13514 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13515 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13516 (cs5536_mod_SOURCES): New variable.
13517 (cs5536_mod_CFLAGS): Likewise.
13518 (cs5536_mod_LDFLAGS): Likewise.
13519 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13520 machine/pci.h.
13521 (kernel_img_SOURCES): Add bus/cs5536.c.
13522 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13523 usb_keyboard.mod.
13524 (usb_mod_SOURCES): New variable.
13525 (usb_mod_CFLAGS): New variable.
13526 (usb_mod_LDFLAGS): New variable.
13527 (usbtest_mod_SOURCES): New variable.
13528 (usbtest_mod_CFLAGS): New variable.
13529 (usbtest_mod_LDFLAGS): New variable.
13530 (ohci_mod_SOURCES): New variable.
13531 (ohci_mod_CFLAGS): New variable.
13532 (ohci_mod_LDFLAGS): New variable.
13533 (usbms_mod_SOURCES): New variable.
13534 (usbms_mod_CFLAGS): New variable.
13535 (usbms_mod_LDFLAGS): New variable.
13536 (usb_keyboard_mod_SOURCES): New variable.
13537 (usb_keyboard_mod_CFLAGS): New variable.
13538 (usb_keyboard_mod_LDFLAGS): New variable.
13539 * include/grub/smbus.h: New file.
13540 * include/grub/cs5536.h: New file.
13541
0b35b2a9
CW
135422010-06-02 Colin Watson <cjwatson@ubuntu.com>
13543
13544 * util/grub.d/00_header.in: Add safety check to make sure that
13545 ${locale_dir} exists before trying to probe it.
13546
ca0afd5b
CW
135472010-06-02 Colin Watson <cjwatson@ubuntu.com>
13548
13549 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13550 per the GNU Coding Standards; this is now too obscure to be worth
13551 documenting.
13552 (QNX): Likewise.
13553 (chainloader): Remove cross-reference to `SCO UnixWare'.
13554
1c41aa78
CW
135552010-06-02 Colin Watson <cjwatson@ubuntu.com>
13556
13557 * docs/grub.texi (Chain-loading): New section.
13558 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13559 adjusted for GRUB 2.
13560 (SCO UnixWare): Likewise.
13561 (QNX): Likewise.
13562 (chainloader): Add reference to `Block list syntax'.
13563 (drivemap): New section.
13564 (parttool): New section.
13565
bb8ea0f5
CW
135662010-06-02 Colin Watson <cjwatson@ubuntu.com>
13567
13568 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13569 the grub shell'.
13570 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13571 (Installing GRUB using grub-install): Remove reference to the grub
13572 shell; mention `grub-mkimage' and `grub-setup' instead.
13573 (Invoking grub-install): Likewise.
13574 (Interface): Add reference to `Menu entry editor'.
13575 (serial): Remove `--device' option.
13576
288dd6ed
CW
135772010-06-02 Colin Watson <cjwatson@ubuntu.com>
13578
13579 * docs/grub.texi (Configuration): New section, documenting
13580 configuration file generation using grub-mkconfig. I've left a slot
13581 for documenting the full shell scripting format but have not yet
13582 started on writing that up.
13583 (Invoking grub-mkconfig): New section.
13584
34c9f0e9
CW
135852010-06-02 Colin Watson <cjwatson@ubuntu.com>
13586
13587 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13588 (GNU GRUB manual): Likewise.
13589 (General commands): Update description of `terminfo' for GRUB 2.
13590
9121567e
CW
135912010-06-02 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13594 (GRUB_MOD_INIT): Fix capitalisation.
13595 * docs/grub.texi (Command-line and menu entry commands): Document
13596 gettext and gptsync commands.
13597
ab631611
CW
135982010-06-02 Colin Watson <cjwatson@ubuntu.com>
13599
13600 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13601 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13602
bde4a9ac
CW
136032010-06-01 Colin Watson <cjwatson@ubuntu.com>
13604
13605 Add btrfs probing support, currently only in the single-device case.
13606
13607 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13608 function.
13609 (grub_guess_root_device): Call find_root_device_from_mountinfo
13610 before looking in /dev.
13611
b1d17e10
VS
136122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13615 GRUB_DISK_SIZE_UNKNOWN.
13616 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13617
dfbfe004
JS
136182010-05-31 Jiro SEKIBA <jir@unicus.jp>
13619
13620 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13621 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13622 corrupted or not synced properly.
13623
c2ffc8e9
VS
136242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13627 Reported by: Seth Goldberg.
13628
56293166
VS
136292010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13632 addition of dest.
13633 Reported by: Seth Goldberg.
13634
7620e7de
VS
136352010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13638 Reported by: Seth Goldberg.
13639
c837af3f
VS
136402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13643 64-bit address as signed on MIPS.
13644
c7c75cf4
CW
136452010-05-28 Colin Watson <cjwatson@ubuntu.com>
13646
13647 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13648 to the empty string.
13649
fa4b8490
BC
136502010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13651
13652 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13653
13654 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13655 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13656 * kern/misc.c (__enable_execute_stack): Disable on
13657 GRUB_MACHINE_EMU.
13658
a33075b9
CW
136592010-05-28 Colin Watson <cjwatson@ubuntu.com>
13660
13661 Make grub-probe work with symbolic links under /dev/mapper as well
13662 as with real block devices. The Linux world seems to be (at best)
13663 in transition here, and GRUB shouldn't get caught in the middle.
13664
13665 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13666 /dev/mapper.
13667
d8708134
CW
136682010-05-27 Colin Watson <cjwatson@ubuntu.com>
13669
13670 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13671 input files (in which case exit zero).
13672
db2102a0
CW
136732010-05-27 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13676 return NULL for various reasons even if it has a maximum-length
13677 buffer: for example, there might be a symlink loop, or the path
13678 might exceed PATH_MAX. If this happens, return NULL.
13679
5fdba519
RM
136802010-05-27 Robert Millan <rmh@gnu.org>
13681
13682 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13683 partmap module to handle cross-partmap setups.
13684 Reported by Orestes Mas. Gràcies!
13685
d1d368e4
CW
136862010-05-27 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * util/grub-mkrescue.in: Initialise override_dir rather than
13689 assuming that it's unset or empty in the environment.
13690
95ac3c73
GS
136912010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13692
13693 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13694 variable index into p_index to suppress a warning with -Wshadow.
13695
7d8c0213
BC
136962010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13697
13698 * INSTALL: Added flex >= 2.5.35 requirement.
13699
db4d5813
VS
137002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13703
f24f4300
VS
137042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 cmostest support.
13707
13708 * commands/i386/cmostest.c: New file.
13709 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13710 (cmostest_mod_SOURCES): New variable.
13711 (cmostest_mod_CFLAGS): Likewise.
13712 (cmostest_mod_LDFLAGS): Likewise.
13713 * conf/i386-pc.rmk: Likewise.
13714 * docs/grub.texi (Vendor power-on keys): New section.
13715 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13716 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13717 and GRUB_BUTTON_CMOS_ADDRESS.
13718 * util/grub.d/00_header.in: Handle powering-on by separate button.
13719
ad603f61
VS
137202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13723 Removed drawing_scrollbar argument. All users updated
13724 Fixes #29792.
13725 Reported by Jo Shields
13726
3ecb080a
VS
137272010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13730 buffer since gfxterm handles double repaint.
13731
5f2316c1
VS
137322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13735 * term/gfxterm.c (real_scroll): Likewise.
13736
9a25f885
VS
137372010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13740 before calling BIOS.
13741
39fbb79a
VS
137422010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * include/grub/i18n.h: Always enable grub_gettext.
13745
228cfa97
VS
137462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13749 partition naming style.
13750
21717c8f
CW
137512010-05-21 Colin Watson <cjwatson@ubuntu.com>
13752
13753 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13754 not the first option.
13755
c0f48e65
CW
137562010-05-20 Colin Watson <cjwatson@ubuntu.com>
13757
13758 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13759
96779aec
CW
137602010-05-20 Colin Watson <cjwatson@ubuntu.com>
13761
13762 * util/misc.c: Move inclusion of <limits.h> to ...
13763 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13764
fa9d256e
GS
137652010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13766
13767 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13768 Fix merge error in NetBSD code.
13769 (find_partition_start) [__NetBSD__]: Likewise.
13770
123b7a85
BC
137712010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13772
13773 Fix grub-mkrescue usage unit testing.
13774
13775 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13776
74276c0d
CF
137772010-05-18 Christian Franke <franke@computer.org>
13778
13779 * util/grub.d/10_windows.in: Use path names instead of
13780 drive letters to prevent warning from Cygwin 1.7.
13781 Add drivemap command to menuentry if needed.
13782
c4f7b523
ST
137832010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13784
13785 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13786 gnumach and gnumach.gz.
13787
95b97950
VS
137882010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * include/grub/i18n.h (gettext): Inline instead of using #define.
13791 (grub_gettext): Likewise.
13792 (_): Likewise.
13793
01b8d2d7
VS
137942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13797 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13798 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13799 (main): Add a slash after pkglibdirroot.
13800
654e1d1e
VS
138012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * util/grub-install.in: Add missing "in" keyword.
13804
26966aeb
VS
138052010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13808 Reported by: Seth Goldberg.
13809
75006747
VS
138102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13813
74cbf5bd
CW
138142010-05-18 Colin Watson <cjwatson@ubuntu.com>
13815
13816 * configure.ac: Check for Linux device-mapper support.
13817
13818 * util/hostdisk.c (device_is_mapped): New function.
13819 (find_partition_start): New function, partly broken out from
13820 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13821 device-mapper support added.
13822 (linux_find_partition): Use find_partition_start.
13823 (convert_system_partition_to_system_disk): Add `st' argument.
13824 Support Linux /dev/mapper/* devices if device-mapper support is
13825 available; only DM-RAID devices are understood at present.
13826 (find_system_device): Add `st' argument. Pass it to
13827 convert_system_partition_to_system_disk.
13828 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13829 find_system_device and convert_system_partition_to_system_disk. Use
13830 find_partition_start.
13831
13832 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13833 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13834 * util/deviceiter.c [__linux__]: Define MINOR.
13835 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13836 * util/mkdevicemap.c (grub_putchar): New function.
13837 (grub_getkey): New function.
13838 (grub_refresh): New function.
13839 (main): Set debug=all if -v -v is used.
13840
355b51e9
CW
138412010-05-18 Colin Watson <cjwatson@ubuntu.com>
13842
13843 Fix build with non-GNU libcs.
13844
13845 * util/misc.c (canonicalize_file_name): Move to ...
13846 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13847 grub_make_system_path_relative_to_its_root.
13848
7fb5c25f
CW
138492010-05-18 Colin Watson <cjwatson@ubuntu.com>
13850
13851 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13852 we handle finding grub-mkimage. Default to finding grub-mkimage in
13853 ${bindir} with program_transform_name applied, and provide a
13854 --grub-mkimage option to override this.
13855
1d3293d6
VS
138562010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 Remove grub-mkisofs.
13859
13860 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13861 (grub_mkisofs_SOURCES): Removed.
13862 (grub_mkisofs_CFLAGS): Removed.
13863 * util/mkisofs/defaults.h: Removed.
13864 * util/mkisofs/eltorito.c: Likewise.
13865 * util/mkisofs/exclude.h: Likewise.
13866 * util/mkisofs/hash.c: Likewise.
13867 * util/mkisofs/include/: Likewise.
13868 * util/mkisofs/include/fctldefs.h: Likewise.
13869 * util/mkisofs/include/mconfig.h: Likewise.
13870 * util/mkisofs/include/prototyp.h: Likewise.
13871 * util/mkisofs/include/statdefs.h: Likewise.
13872 * util/mkisofs/iso9660.h: Likewise.
13873 * util/mkisofs/joliet.c: Likewise.
13874 * util/mkisofs/match.c: Likewise.
13875 * util/mkisofs/match.h: Likewise.
13876 * util/mkisofs/mkisofs.c: Likewise.
13877 * util/mkisofs/mkisofs.h: Likewise.
13878 * util/mkisofs/msdos_partition.h: Likewise.
13879 * util/mkisofs/multi.c: Likewise.
13880 * util/mkisofs/name.c: Likewise.
13881 * util/mkisofs/rock.c: Likewise.
13882 * util/mkisofs/tree.c: Likewise.
13883 * util/mkisofs/write.c: Likewise.
13884
5dde9afe
VS
138852010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 Unify grub-mkimage accross platforms.
13888
13889 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13890 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13891 (grub_mkelfimage_SOURCES): Removed.
13892 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13893 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13894 (bin_UTILITIES): Add grub-mkimage.
13895 (grub_mkimage_SOURCES): New variable.
13896 (kernel_img_HEADERS): Remove machine/kernel.h.
13897 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13898 (pkglib_PROGRAMS): Add kernel.img.
13899 (kernel_img_HEADERS): Add machine/kernel.h.
13900 (kernel_img_FORMAT): Removed.
13901 (bin_UTILITIES): Remove grub-mkimage.
13902 (grub_mkimage_SOURCES): Removed.
13903 (grub_mkimage_CFLAGS): Likewise.
13904 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13905 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13906 (pkglib_PROGRAMS): Add kernel.img.
13907 (bin_UTILITIES): Remove grub-mkimage.
13908 (grub_mkimage_SOURCES): Removed.
13909 (grub_mkimage_CFLAGS): Likewise.
13910 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13911 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13912 (pkglib_PROGRAMS): Add kernel.img.
13913 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13914 (pkglib_PROGRAMS): Add kernel.img.
13915 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13916 (grub_mkimage_SOURCES): Removed.
13917 (grub_mkimage_CFLAGS): Likewise.
13918 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13919 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13920 (pkglib_PROGRAMS): Add kernel.img.
13921 (bin_UTILITIES): Remove grub-mkimage.
13922 (grub_mkimage_SOURCES): Removed.
13923 (grub_mkimage_CFLAGS): Likewise.
13924 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13925 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13926 (grub_mkimage_SOURCES): Removed.
13927 (grub_mkimage_CFLAGS): Likewise.
13928 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13929 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13930 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13931 (grub_pe32_optional_header): ... this.
13932 (grub_pe64_optional_header): ... and this. All users updated.
13933 (GRUB_PE32_PE32_MAGIC): Split into ..
13934 (GRUB_PE32_PE32_MAGIC): .. this.
13935 (GRUB_PE32_PE64_MAGIC): .. and this.
13936 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13937 * include/grub/elf.h (PT_GNU_STACK): New definition.
13938 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13939 * include/grub/i386/efi/kernel.h: Likewise.
13940 * include/grub/i386/kernel.h: Likewise.
13941 * include/grub/i386/pc/kernel.h: Likewise.
13942 * include/grub/i386/qemu/boot.h: Likewise.
13943 * include/grub/mips/kernel.h: Likewise.
13944 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13945 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13946 * include/grub/powerpc/kernel.h: Likewise.
13947 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13948 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13949 * include/grub/sparc64/kernel.h: Likewise.
13950 * include/grub/x86_64/efi/kernel.h: Likewise.
13951 * include/grub/x86_64/kernel.h: Likewise.
13952 * include/grub/offsets.h: New file.
13953 * include/grub/kernel.h (grub_module_info): Split into ...
13954 (grub_module_info32): ... this.
13955 (grub_module_info64): ... and this.
13956 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13957 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13958 (grub_boot_blocklist): Moved from here ...
13959 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13960 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13961 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13962 * include/grub/types.h (grub_target_to_host16): Removed.
13963 (grub_target_to_host32): Likewise.
13964 (grub_target_to_host64): Likewise.
13965 (grub_host_to_target16): Likewise.
13966 (grub_host_to_target32): Likewise.
13967 (grub_host_to_target64): Likewise.
13968 (grub_host_to_target_addr): Likewise.
13969
13970 Support grub-mkrescue for efi, coreboot and qemu.
13971
13972 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13973 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13974 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13975 * util/grub-mkrawimage.c: Moved from here ...
13976 * util/grub-mkimage.c: ... here. All users updated.
13977 (ALIGN_ADDR): Use image_target.
13978 (TARGET_NO_FIELD): New const.
13979 (image_target_desc): New type.
13980 (image_targets): New array.
13981 (grub_target_to_host64): Use image_target.
13982 (grub_target_to_host32): Likewise.
13983 (grub_target_to_host16): Likewise.
13984 (grub_host_to_target64): Likewise.
13985 (grub_host_to_target32): Likewise.
13986 (grub_host_to_target16): Likewise.
13987 (grub_host_to_target_addr): Likewise.
13988 (generate_image): Handle multiimage.
13989 (main): Require -O parameter. All users updated.
13990 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13991 util/efi/grub-mkimage.c
13992 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13993 New option --rom-directory.
13994 Use xorriso.
13995 * util/i386/efi/grub-mkimage.c: Removed.
13996 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13997 (grub_target_to_host32): Likewise.
13998 (grub_target_to_host64): Likewise.
13999 (grub_host_to_target16): Likewise.
14000 (grub_host_to_target32): Likewise.
14001 (grub_host_to_target64): Likewise.
14002 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14003 (grub_target_to_host32): Likewise.
14004 (grub_target_to_host64): Likewise.
14005 (grub_host_to_target16): Likewise.
14006 (grub_host_to_target32): Likewise.
14007 (grub_host_to_target64): Likewise.
14008
f4fc97d0
BC
140092010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14010
14011 Source tree is reorganized for emu build.
14012
14013 * include/grub/util/console.h: Move from here...
14014 * include/grub/emu/console.h: ...to here.
14015 * include/grub/util/getroot.h: Move from here...
14016 * include/grub/emu/getroot.h: ...to here.
14017 * include/grub/util/hostdisk.h: Move from here...
14018 * include/grub/emu/hostdisk.h: ...to here.
14019 * util/console.c: Move from here...
14020 * kern/emu/console.c: ...to here.
14021 * util/getroot.c: Move from here...
14022 * kern/emu/getroot.c: ...to here.
14023 * util/grub-emu.c: Move from here...
14024 * kern/emu/main.c: ...to here.
14025 * util/hostdisk.c: Move from here...
14026 * kern/emu/hostdisk.c: ...to here.
14027 * util/hostfs.c: Move from here...
14028 * kern/emu/hostfs.c: ...to here.
14029 * util/mm.c: Move from here...
14030 * kern/emu/mm.c: ...to here.
14031 * util/pci.c: Move from here...
14032 * bus/emu/pci.c: ...to here.
14033 * util/sdl.c: Move from here...
14034 * video/emu/sdl.c: ...to here.
14035 * util/time.c: Move from here...
14036 * kern/emu/time.c: ...to here.
14037 * util/usb.c: Move from here...
14038 * bus/usb/emu/usb.c: ...to here.
14039
14040 * include/grub/emu/misc.h: New header for grub-emu functions.
14041 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14042
14043 * conf/any-emu.rmk: Rule updates for above renames.
14044 * conf/common.rmk: Likewise.
14045 * conf/i386-pc.rmk: Likewise.
14046 * conf/i386-qemu.rmk: Likewise.
14047 * conf/mips.rmk: Likewise.
14048 * conf/sparc64-ieee1275.rmk: Likewise.
14049 * conf/x86-efi.rmk: Likewise.
14050
14051 * disk/lvm.h: #include updates for above renames.
14052 * util/grub-mkrelpath.c: Likewise.
14053 * util/grub-probe.c: Likewise.
14054 * util/i386/pc/grub-setup.c: Likewise.
14055 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14056 * kern/emu/console.c: Likewise.
14057 * kern/emu/getroot.c: Likewise.
14058 * kern/emu/hostdisk.c: Likewise.
14059 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14060
14061 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14062 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14063 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14064 * util/misc.c: Remove grub-emu functions.
14065
cced9145
VS
140662010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 Fix gfxmenu crash.
14069 Reported by: Thorsten Grützmacher.
14070
14071 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14072 timeout hook.
14073 (circprog_set_property): Register and unregister timeout hook.
14074 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14075 (label_destroy): Free template. and unregister hook.
14076 (label_set_state): New function.
14077 (label_set_property): Handle templates and hooks.
14078 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14079 timeout hook.
14080 (progress_bar_set_property): Register and unregister timeout hook.
14081 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14082 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14083 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14084 (update_timeout_visit): Removed.
14085 (update_timeouts): New function.
14086 (redraw_timeouts): Likewise.
14087 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14088 (grub_gfxmenu_clear_timeout): Likewise.
14089 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14090 (grub_gfxmenu_timeout_notify): Likewise.
14091 (grub_gfxmenu_timeout_notifications): New external variable.
14092 (grub_gfxmenu_timeout_register): New function.
14093 (grub_gfxmenu_timeout_unregister): Likewise.
14094
c6e5caab
VS
140952010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 Transform (broken) vga terminal into (working) vga video driver.
14098
14099 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14100 video/i386/pc/vga.c.
14101 * include/grub/video.h (grub_video_driver_id):
14102 Add GRUB_VIDEO_DRIVER_VGA.
14103 * term/i386/pc/vga.c: Renamed to ...
14104 * video/i386/pc/vga.c: ...this
14105 (DEBUG_VGA): Removed.
14106 (CHAR_WIDTH): Likewise.
14107 (CHAR_HEIGHT): Likewise.
14108 (TEXT_WIDTH): Likewise.
14109 (TEXT_HEIGHT): Likewise.
14110 (DEFAULT_FG_COLOR): Likewise.
14111 (DEFAULT_BG_COLOR): Likewise.
14112 (colored_char): Likewise.
14113 (xpos): Likewise.
14114 (ypos): Likewise.
14115 (cursor_state): Likewise.
14116 (fg_color): Likewise.
14117 (bg_color): Likewise.
14118 (text_buf): Likewise.
14119 (page): Likewise.
14120 (font): Likewise.
14121 (framebuffer): New variable.
14122 (set_read_map): Disabled.
14123 (setup): New variable.
14124 (is_target): Likewise.
14125 (grub_vga_mod_init): Likewise.
14126 (grub_vga_mod_fini): Likewise.
14127 (check_vga_mem): Likewise.
14128 (write_char): Likewise.
14129 (write_cursor): Likewise.
14130 (scroll_up): Likewise.
14131 (grub_vga_putchar): Likewise.
14132 (grub_vga_getcharwidth): Likewise.
14133 (grub_vga_getwh): Likewise.
14134 (grub_vga_getxy): Likewise.
14135 (grub_vga_gotoxy): Likewise.
14136 (grub_vga_cls): Likewise.
14137 (grub_vga_setcolorstate): Likewise.
14138 (grub_vga_setcursor): Likewise.
14139 (grub_video_vga_init): New function.
14140 (grub_video_vga_setup): Likewise.
14141 (grub_video_vga_fini): Likewise.
14142 (update_target): Likewise.
14143 (grub_video_vga_blit_bitmap): Likewise.
14144 (grub_video_vga_blit_render_target): Likewise.
14145 (grub_video_vga_set_active_render_target): Likewise.
14146 (grub_video_vga_get_active_render_target): Likewise.
14147 (grub_video_vga_swap_buffers): Likewise.
14148 (grub_video_vga_set_palette): Likewise.
14149 (grub_video_vga_get_info_and_fini): Likewise.
14150 (grub_vga_term): Removed.
14151 (grub_video_vga_adapter): New variable.
14152 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14153 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14154
2bf61a98
VS
141552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * video/readers/jpeg.c: Indented.
14158
09ddcd11
VS
141592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 Various jpeg cleanups.
14162
14163 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14164 (grub_jpeg_decode_quan_table): Use sizeof.
14165 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14166
e5507505
PH
141672010-05-05 Peter Hurley <No e-mail available> (tiny change)
14168
14169 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14170 tables. Ignore non-last ac bit.
14171 (grub_jpeg_decode_quan_table): Likewise.
14172
7e720a9b
VS
141732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14176 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14177 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14178 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14179 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14180 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14181
a7fc080b
VS
141822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14185 error.
14186
2bf6012d
VS
141872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14190
265d68cd
VS
141912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14194 condition.
14195
141962010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14197
14198 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14199 part.
14200
265d68cd 142012010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14202
14203 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14204 pointers.
14205
265d68cd 142062010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14207
14208 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14209
d1b61374
CF
142102010-05-01 Christian Franke <franke@computer.org>
14211
14212 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14213 Remove broken Cygwin path conversion.
14214 * util/misc.c: [__CYGWIN__] Add include and define.
14215 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14216 for Cygwin 1.7.
14217 (make_system_path_relative_to_its_root): Simplify loop, replace early
14218 return by break.
14219 [__CYGWIN__] Add conversion to win32 path.
14220 Include "/" case in trailing slash removal.
14221
3558c6e9
VS
142222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14225 Reported by: Seth Goldberg
14226
f5f3ff93
VS
142272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 * commands/help.c (grub_cmd_help): Fix a typo.
14230 Reported by: Seth Goldberg
14231
d8b5cd40
VS
142322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14235 name and add N_.
14236 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14237 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14238 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14239 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14240 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14241 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14242 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14243 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14244 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14245 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14246 * normal/context.c (GRUB_MOD_INIT): Likewise.
14247 * normal/main.c (GRUB_MOD_INIT): Likewise.
14248 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14249 * term/serial.c (GRUB_MOD_INIT): Likewise.
14250 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14251
88c14915
VS
142522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14255 extra == 0.
14256
165134bc
VS
142572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 * commands/iorw.c: New file.
14260 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14261 (iorw_mod_SOURCES): New variable.
14262 (iorw_mod_CFLAGS): Likewise.
14263 (iorw_mod_LDFLAGS): Likewise.
14264
c5ac9b32
VS
142652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Hotkey support
14268
14269 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14270 * normal/main.c (hotkey_aliases): New variable.
14271 (grub_normal_add_menu_entry): Parse "--hotkey".
14272 * normal/menu_text.c (run_menu): Handle hotkeys.
14273
ce60689c
VS
142742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 * kern/i386/coreboot/init.c (grub_machine_init): Call
14277 grub_machine_mmap_init on qemu.
14278
0359d006
VS
142792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14280
14281 * boot/i386/qemu/boot.S: Add a missing .code16.
14282
7819a456
VS
142832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 Use LBIO on coreboot.
14286
14287 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14288 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14289 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14290 New declaration.
14291 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14292 grub_machine_mmap_init on coreboot.
14293 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14294 GRUB_LINUXBIOS_MEMBER_LINK.
14295 (grub_machine_mmap_iterate): Fix declaration.
14296 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14297
7210dca9
VS
142982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 Split coreboot and multiboot ports.
14301
14302 * conf/i386-multiboot.rmk: New file.
14303 * configure.ac: Add multiboot port.
14304 * include/grub/i386/multiboot/boot.h: New file.
14305 * include/grub/i386/multiboot/console.h: Likewise.
14306 * include/grub/i386/multiboot/init.h: Likewise.
14307 * include/grub/i386/multiboot/kernel.h: Likewise.
14308 * include/grub/i386/multiboot/loader.h: Likewise.
14309 * include/grub/i386/multiboot/memory.h: Likewise.
14310 * include/grub/i386/multiboot/serial.h: Likewise.
14311 * include/grub/i386/multiboot/time.h: Likewise.
14312 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14313 * loader/multiboot.c: Likewise.
14314 * loader/multiboot_mbi2.c: Likewise.
14315 * util/grub-mkrescue.in: Generate multiboot rescue.
14316
6f8aaf68
VS
143172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14318
3080f7a7
VS
14319 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14320
143212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14324
14325 * commands/terminal.c (abstract_terminal): New struct.
14326 (handle_command): New function. Based on grub_cmd_terminal_input.
14327 (grub_cmd_terminal_input): Use handle_command.
14328 (grub_cmd_terminal_output): Use handle_command.
14329
a8ebb841
BC
143302010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14331
14332 Fix comment handling.
14333
14334 * tests/grub_script_comments.in: New testcase.
14335 * conf/tests.rmk: Rules for new testcase.
14336 * script/yylex.l: Updated flex rules.
14337
bb06ba08
ST
143382010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14339
14340 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14341 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14342 if argc is 1.
bb06ba08 14343
cc9d2425
VS
143442010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14347 autogen issues.
14348
460d8402
CF
143492010-04-26 Christian Franke <franke@computer.org>
14350
14351 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14352 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14353 (grub_get_prefix): Remove function.
14354 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14355 make_system_path_relative_to_its_root ().
14356 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14357
553c01f9
CF
143582010-04-24 Christian Franke <franke@computer.org>
14359
14360 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14361 (kernel_img_LDFLAGS): Remove -static-libgcc.
14362
2aec1692
CF
143632010-04-24 Christian Franke <franke@computer.org>
14364
14365 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14366 and CHECK_END_SYMBOL if grub-emu is built.
14367 Unset TARGET_OBJ2ELF if grub-emu is built
14368 without module support.
14369
f67dc308
JS
143702010-04-24 Jiro SEKIBA <jir@unicus.jp>
14371
14372 Nilfs2 support.
14373
14374 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14375 (grub_fstest_SOURCES): Likewise.
14376 (pkglib_MODULES): Add nilfs2.mod.
14377 (nilfs2_mod_SOURCES): New variable.
14378 (nilfs2_mod_CFLAGS): Likewise.
14379 (nilfs2_mod_LDFLAGS): Likewise.
14380 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14381 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14382 * fs/nilfs2.c: New file.
14383
4ba8d354
VS
143842010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14387 is not supported.
14388
0d2c20c6
GS
143892010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14390
14391 Add grub-mkconfig support for NetBSD.
14392
14393 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14394 * util/grub-mkconfig.in: export new NetBSD specific variables.
14395 * po/POTFILES-shell: added 10_netbsd.in.
14396 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14397
bc4a2d83
BC
143982010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14399
14400 Fix emu build with grub-emu-pci and grub-emu-modules.
14401
14402 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14403 functions.
14404 * include/grub/libpciaccess.h: New file.
14405 * conf/any-emu.rmk: Update kernel headers for emu build.
14406
f48c87aa
VS
144072010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14410
18959385
VS
144112010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14414
0037de3f
VS
144152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14418 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14419 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14420 util/ieee1275/ofpath.c.
14421 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14422 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14423 * include/grub/sparc64/ieee1275/boot.h
14424 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14425 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14426 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14427 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14428 const char *.
14429 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14430 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14431 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14432 install.
14433
38e55e90
GS
144342010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14435
14436 * util/grub-mkconfig.in: Corrected two == equality tests.
14437 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14438 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14439 expect a number appended to it.
14440 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14441 expects a number appended to it.
14442
a9e6ff28
VS
144432010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14446
0b830b8f
VS
144472010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * util/hostdisk.c (make_device_name): Change to new partition naming.
14450
0973daeb
VS
144512010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14454
460d8402 144552010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14456
14457 * Makefile.in: Add missing localedir setting.
14458
0b456309
CW
144592010-04-14 Colin Watson <cjwatson@ubuntu.com>
14460
14461 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14462 mistake in r2156. Noticed by Anthony Fok.
14463
14464 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14465 @localedir@.
14466 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14467
08f46d62
BC
144682010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14469
14470 Fix a spurious, uninitialized variable warning.
14471
14472 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14473 Initialize variable, shdr.
14474 (grub_freebsd_load_elfmodule): Likewise.
14475 (grub_freebsd_load_elf_meta): Likewise.
14476
8c4a72d4
BC
144772010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14478
14479 Fix for escaped dollar in double quoted strings.
14480
14481 * script/yylex.l: Updated flex rules.
14482 * conf/tests.rmk: Rule for new testcase.
14483 * tests/grub_script_dollar.in: New testcase.
14484
ce44826e
CPE
144852010-04-13 Carles Pina i Estany <carles@pina.cat>
144862010-04-13 Colin Watson <cjwatson@ubuntu.com>
14487
14488 Enclose all translated strings in grub.cfg in single quotes, and
14489 escape them appropriately (Ubuntu bug #552921).
14490
14491 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14492 * util/grub.d/10_hurd.in: Use it.
14493 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14494 * util/grub.d/10_linux.in (linux_entry): Likewise.
14495
4b0cd8f8
VS
144962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 Fix cygwin compilation.
14499
14500 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14501 * include/grub/misc.h (__register_frame_info)
14502 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14503 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14504 * kern/misc.c (__register_frame_info)
14505 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14506 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14507
01fcf061
VS
145082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14511
5d04b11e
VS
145122010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 Unify libgcc processing.
14515
14516 * Makefile.in (kernel_img_LDFLAGS): New variable.
14517 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14518 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14519 overwriting.
14520 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14521 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14522 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14523 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14524 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14525 overwriting. Remove -lgcc and -static-libgcc
14526 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14527 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14528 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14529 (kernel_img_LDFLAGS): Append instead of overwriting.
14530 Remove -lgcc and -static-libgcc
14531 * conf/sparc64-ieee1275.rmk: Likewise.
14532 * include/grub/powerpc/libgcc.h: Move to ...
14533 * include/grub/libgcc.h: .. this.
14534 * include/grub/libgcc.h: Don't export most of the function on x86.
14535 (__bswapsi2): New export.
14536 (__bswapdi2): Likewise.
14537 * include/grub/mips/libgcc.h: Removed.
14538 * include/grub/sparc64/libgcc.h: Likewise.
14539
b7f3ac29
VS
145402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14541
14542 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14543 disk_info_msg (conflicts with gettexting into languages with cases).
14544
2c7031b1
GS
145452010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14546
14547 Add grub-probe support for NetBSD.
14548
14549 * util/getroot.c (find_root_device): Convert block device to
14550 character device on NetBSD.
14551 * util/probe.c (probe): Require character device on NetBSD.
14552 * util/hostdisk.c: NetBSD specific headers.
14553 (configure_device_driver): new function to tune device driver
14554 parameters (currently only for NetBSD floppy driver).
14555 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14556 via disklabel ioctl).
14557 (open_device): call configure_device_driver on NetBSD.
14558 (convert_system_partition_to_system_disk): NetBSD specific code.
14559 (device_is_wholedisk): Likewise.
14560 (grub_util_biosdisk_get_grub_dev): Likewise.
14561 (make_device_name): Fixed a typo in bsd_part_str.
14562 * configure.ac: check for opendisk() and getrawpartition() on
14563 NetBSD and set LIBUTIL.
14564 * Makefile.in: add LIBUTIL to LIBS.
14565
f516290c
BC
145662010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14567
14568 Documentation fix.
14569
14570 * util/grub-script-check.c: Better help message.
14571
d8dcc0df
BC
145722010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14573
14574 Fix FreeBSD build.
14575
14576 * configure.ac: Flex version check.
14577 * conf/common.rmk: Add -Wno-error to sh.mod.
14578 * script/yylex.l: Remove all #pragma.
14579
6734334a
VS
145802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14583 prototype.
14584 Reported by: Seth Goldberg.
14585
daea6abd
VS
145862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14589 Rename "module" to "module2".
14590 Reported by: Seth Goldberg.
14591
f2fd9d2b
VS
145922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14595 EXPORT_FUNC.
14596 Reported by: Seth Goldberg.
14597
be124579
VS
145982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * lib/posix_wrap/locale.h: Add missing file.
14601 Reported by: Seth Goldberg.
14602
ef5da797
VS
146032010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 grub-emu module load support.
14606
14607 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14608 NO_DYNAMIC_MODULES switched to this.
14609 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14610 (CFLAGS): Likewise.
14611 * conf/any-emu.rmk: Generate symlist.
14612 (kernel_img_HEADERS): Add util/datetime.h.
14613 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14614 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14615 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14616 kern/$(target_cpu)/cache.S.
14617 * configure.ac (grub-emu-modules): New option.
14618 * genmk.rb: Handle multiple source lists.
14619 * include/grub/sdl.h: New file.
14620 * include/grub/libusb.h: Likewise.
14621 * util/grub-emu.c (main): Hanle (host) root.
14622 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14623 GRUB_ERR_UNKNOWN_DEVICE.
14624 * util/misc.c: Move mm functions to ...
14625 * util/mm.c: ... here. All users updated.
14626
47822096
VS
146272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14630 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14631 missing files.
14632 (maintainer-clean): Remove libgcrypt-grub.
14633
5d7e7445
VS
146342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14637
25f4e252
EC
146382010-04-09 EFI Coder <eficoder@hotmail.com>
14639
14640 * normal/menu_text.c (print_message): Clean up the message and show
14641 the Fn information when on EFI
14642 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14643
027de555
VS
146442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14647 All users updated.
14648 * normal/crypto.c (read_crypto_list): Likewise.
14649 * normal/dyncmd.c (read_command_list): Likewise.
14650 * normal/term.c (read_terminal_list): Likewise.
14651 * normal/main.c (read_lists): Use explicit prefix.
14652 (read_lists_hook): Use read_lists.
14653 (grub_normal_execute): Likewise.
14654
47779711
VS
146552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14658 Reported by: Thomas Schmitt.
14659 Add -no-emul-boot to grub-mkisofs parameters.
14660
1118c32e
VS
146612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 * font/font.c: Indented.
14664
7d652447
BC
146652010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14666
14667 Elif support to GRUB script (by Deepak Vankadaru).
14668
14669 * tests/grub_script_if.in: New testcase.
14670 * conf/tests.rmk: Rule for new testcase.
14671 * script/parser.y: Grammar rules for elif.
14672
34bb22df
BC
146732010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14674
14675 While and until loops support to GRUB script.
14676
14677 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14678 (grub_script_create_cmdwhile): New function prototype.
14679 (grub_script_execute_cmdwhile): New function prototype.
14680 * script/execute.c (grub_script_execute_cmdwhile): New function.
14681 * script/parser.y (command): New commands.
14682 (whilecmd): New grammar rule.
14683 (untilcmd): New grammar rule.
14684 * script/script.c (grub_script_create_cmdwhile): New function.
14685 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14686 function.
14687
14688 * tests/grub_script_while1.in: New testcase.
14689 * conf/tests.rmk: Rule for new testcase.
14690
e215d8e0
VS
146912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14694 as *.jpg.
14695
d7c43ba1
MV
146962010-04-09 Mario Vazquez <mariovazq@gmail.com>
14697
14698 GRUB_BACKGROUND support.
14699
14700 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14701 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14702
d64795c0
VS
147032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14704
14705 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14706 Idea by: Mario Vazquez
d64795c0
VS
14707
14708 * util/grub.d/00_header.in: Load pf2 and image modules.
14709
f267f83a
VS
147102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 grub-mkconfig multiple terminal support.
14713
14714 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14715 * util/grub.d/00_header.in: Likewise.
14716
b7841ceb
VS
147172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14720 we use cd $(srcdir).
14721
df60998c
CW
147222010-04-08 Colin Watson <cjwatson@ubuntu.com>
14723
14724 * util/grub.d/10_linux.in: Only use the first word of
14725 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14726 spaces in GRUB_DISTRIBUTOR.
14727 * util/grub.d/10_kfreebsd.in: Likewise.
14728 * util/grub.d/10_hurd.in: Likewise.
14729
fa09c82e
BC
147302010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14731
14e18ae3 14732 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14733
14734 * tests/util/grub-shell.in: Remove -serial stdio option.
14735
daf892b3
BC
147362010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 POSIX header file wrappers.
14739
14740 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14741 equivalents.
14742 * lib/posix_wrap/ctype.h: Likewise.
14743 * lib/posix_wrap/errno.h: Likewise.
14744 * lib/posix_wrap/langinfo.h: Likewise.
14745 * lib/posix_wrap/limits.h: Likewise.
14746 * lib/posix_wrap/localcharset.h: Likewise.
14747 * lib/posix_wrap/stdint.h: Likewise.
14748 * lib/posix_wrap/stdio.h: Likewise.
14749 * lib/posix_wrap/stdlib.h: Likewise.
14750 * lib/posix_wrap/string.h: Likewise.
14751 * lib/posix_wrap/sys/types.h: Likewise.
14752 * lib/posix_wrap/unistd.h: Likewise.
14753 * lib/posix_wrap/wchar.h: Likewise.
14754 * lib/posix_wrap/wctype.h: Likewise.
14755 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14756 (grub_script.yy.h): Likewise.
14757 * script/yylex.l: Remove POSIX emulation #defines.
14758 * Makefile.in (POSIX_CFLAGS): New variable.
14759 (GNULIB_UTIL_CFLAGS): Likewise.
14760
14761 Regexp support.
14762
14763 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14764 (regexp_mod_SOURCES): New variable.
14765 (regexp_mod_CFLAGS): Likewise.
14766 (regexp_mod_LDFLAGS): Likewise.
14767 * commands/regexp.c: New file.
14768 * gnulib/regcomp.c: New file. Imported from gnulib.
14769 * gnulib/regex.c: Likewise.
14770 * gnulib/regex_internal.c: Likewise.
14771 * gnulib/regex_internal.h: Likewise.
14772 * gnulib/regexec.c: Likewise.
14773 * gnulib/regex.h: Likewise.
14774
974ac4f7
VS
147752010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14776
14777 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14778 unsupported video mode types.
14779
2622c3ff
VS
147802010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14783
064cb524
VS
147842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14787 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14788
a8c3b552
VS
147892010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14790
14791 Remove unused grub_vga_get_font.
14792
14793 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14794 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14795
187bbe3d
GS
147962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14797
14798 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14799 * include/grub/misc.h: Likewise.
14800
b9396631
GS
148012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14802
14803 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14804 for which failure is fatal.
14805
50479feb
GS
148062010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14807
14808 * util/grub-install.in: Use mkdir -p to create grub directory.
14809 * util/i386/efi/grub-install.in: Likewise.
14810 * util/ieee1275/grub-install.in: Likewise.
14811
b1654fdf
GS
148122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14813
14814 * Makefile.in (LEX): new variable.
14815
bd5a6415
GS
148162010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14817
14818 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14819 `=' and added double quotes on operands of this equality test.
14820
3db3a82b
VS
148212010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * Makefile.in (uninstall): Remove a leftover debug echo.
14824 Reported by: Grégoire Sutre
14825
38023412
VS
148262010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 MIPS multiboot2 support.
14829
14830 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14831 (multiboot2_mod_SOURCES): New variable.
14832 (multiboot2_mod_CFLAGS): Likewise.
14833 (multiboot2_mod_LDFLAGS): Likewise.
14834 (multiboot2_mod_ASFLAGS): Likewise.
14835 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14836 definition.
14837 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14838 (MULTIBOOT_MBI_REGISTER): Likewise.
14839 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14840 (MULTIBOOT_ELF32_MACHINE): Likewise.
14841 (MULTIBOOT_ELF64_MACHINE): Likewise.
14842 * include/grub/mips/multiboot.h: New file.
14843 * include/grub/video.h (grub_video_driver_id): New type
14844 GRUB_VIDEO_DRIVER_SM712.
14845 (grub_video_get_info_and_fini): Export.
14846 (grub_video_get_palette): Likewise.
14847 (grub_video_get_driver_id): Likewise.
14848 * include/multiboot2.h: Resynced with spec.
14849 * loader/i386/multiboot.c: Moved from here ...
14850 * loader/multiboot.c: ... here. All users updated.
14851 (grub_multiboot_boot): Use platform-specific macros.
14852 * loader/i386/multiboot_elfxx.c: Moved from here ...
14853 * loader/multiboot_elfxx.c: ... here. All users updated.
14854 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14855 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14856 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14857
47674667
VS
148582010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Import gnulib argp module.
14861
14862 * gnulib/argp-ba.c: New file.
14863 * gnulib/argp-eexst.c: Likewise.
14864 * gnulib/argp-fmtstream.c: Likewise.
14865 * gnulib/argp-fmtstream.h: Likewise.
14866 * gnulib/argp-fs-xinl.c: Likewise.
14867 * gnulib/argp-help.c: Likewise.
14868 * gnulib/argp-namefrob.h: Likewise.
14869 * gnulib/argp-parse.c: Likewise.
14870 * gnulib/argp-pin.c: Likewise.
14871 * gnulib/argp-pv.c: Likewise.
14872 * gnulib/argp-pvh.c: Likewise.
14873 * gnulib/argp-version-etc.c: Likewise.
14874 * gnulib/argp-version-etc.h: Likewise.
14875 * gnulib/argp-xinl.c: Likewise.
14876 * gnulib/argp.h: Likewise.
14877
495442ed
VS
148782010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * kern/device.c (grub_device_iterate): Clear errors after failed
14881 opening device.
14882
f9fd65df
VS
148832010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14886 returned by firmware.
14887
af09641e
VS
148882010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14891 compilation on coreboot and qemu
14892
016883a5
VS
148932010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * include/multiboot2.h: Resync with spec.
14896
f97e1f7d
VS
148972010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 Multiboot2 tag support
14900
14901 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14902 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14903 Remove loader/multiboot_loader.c.
14904 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14905 (grub_multiboot2_real_boot): Likewise.
14906 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14907 (grub_get_multiboot_mmap_count): New proto.
14908 (grub_fill_multiboot_mmap): Likewise.
14909 (grub_multiboot_set_video_mode): Likewise.
14910 (grub_multiboot_set_console): Likewise.
14911 (grub_multiboot_load): Likewise.
14912 (grub_multiboot_load_elf): Likewise.
14913 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14914 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14915 * include/multiboot.h: Resynced with specification.
14916 * include/multiboot2.h: Resynced with specification.
14917 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14918 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14919 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14920 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14921 users updated.
14922 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14923 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14924 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14925 Removed.
14926 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14927 Moved from here...
14928 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14929 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14930 Moved from here...
14931 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14932 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14933 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14934 All users updated.
14935 * loader/i386/multiboot_mbi2.c: New file.
14936
3506b90b
VS
149372010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 Resync with gnulib.
14940
14941 * Makefile.in (GNULIB_CFLAGS): New variable.
14942 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14943 (grub_script_check_CFLAGS): New variable.
14944 * gnulib/alloca.h: Resync with gnulib.
14945 * gnulib/error.c: Likewise.
14946 * gnulib/error.h: Likewise.
14947 * gnulib/fnmatch.c: Likewise.
14948 * gnulib/fnmatch_loop.c: Likewise.
14949 * gnulib/getdelim.c: Likewise.
14950 * gnulib/getline.c: Likewise.
14951 * gnulib/getopt.c: Likewise.
14952 * gnulib/getopt1.c: Likewise.
14953 * gnulib/getopt_int.h: Likewise.
14954 * gnulib/gettext.h: Likewise.
14955 * gnulib/progname.c: Likewise.
14956 * gnulib/progname.h: Likewise.
14957
394a3120
GS
149582010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14959
14960 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14961 which is the case with --disabled-nls.
14962
14963 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14964 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14965 * util/misc.c: Likewise.
14966 * util/mkisofs/mkisofs.c: Likewise.
14967 * util/mkisofs/mkisofs.h: Likewise.
14968
969d1c78
VS
149692010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 Simplify Apple CC support.
14972
14973 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14974 Add 0 byte at the end not to have a symbol with empty target.
14975 * mmap/i386/pc/mmap_helper.S: Likewise.
14976 * genmk.rb: Ignore errors 2030 and 2050.
14977 * kern/i386/pc/startup.S: Use LOCAL when possible.
14978
8d2977bb
BC
149792010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14980
14981 Testcase and the fix for final semicolon on cmdline.
14982
14983 * tests/grub_script_final_semicolon.in: New testcase.
14984 * conf/tests.rmk: Rules for the new testcase.
14985 * script/parser.y: Grammar fix.
14986
a7bd6915
BC
149872010-03-26 BVK Chaitanya <bvk@localhost>
14988
14989 Blank lines testcase for GRUB script.
14990
14991 * tests/grub_script_blanklines.in: New testcase.
14992 * conf/tests.rmk: Rules for the new testcase.
14993
e4ff6628
VS
149942010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14995
14996 Don't use __FILE__.
14997
14998 * genmk.rb: Add -DGRUB_FILE to all C targets.
14999 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15000 * include/grub/list.h: Likewise.
15001 * include/grub/misc.h: Likewise.
15002 * include/grub/mm.h: Likewise.
15003 * include/grub/test.h: Likewise.
15004 * kern/mm.c: Likewise.
15005 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15006
6a5cf6b6
VS
150072010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 Sunpc partitions support.
15010
15011 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15012 (grub_fstest_SOURCES): Likewise.
15013 (pkglib_MODULES): Add part_sunpc.mod.
15014 (part_sunpc_mod_SOURCES): New variable.
15015 (part_sunpc_mod_CFLAGS): Likewise.
15016 (part_sunpc_mod_LDFLAGS): Likewise.
15017 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15018 * partmap/sunpc.c: New file.
15019
746d9045
BC
150202010-03-26 BVK Chaitanya <bvk@localhost>
15021
15022 For loop support to GRUB script.
15023
15024 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15025 (grub_script_create_cmdfor): New function prototype.
15026 (grub_script_execute_cmdfor): New function prototype.
15027 * script/execute.c (grub_script_execute_cmdfor): New function.
15028 * script/parser.y (command): New for command.
15029 (forcmd): New grammar rule.
15030 * script/script.c (grub_script_create_cmdfor): New function.
15031 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15032 function.
15033 * tests/grub_script_for1.in: New testcase.
15034 * conf/tests.rmk: Rules for new testcase.
15035
18486b18
VS
150362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 Nested partitions
15039
15040 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15041 'partition' is NULL, grub_partition_get_start already does that.
15042 * commands/loadenv.c (check_blocklists): Likewise.
15043 (write_blocklists): Likewise.
15044 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15045 (grub_fstest_SOURCES): Likewise.
15046 (pkglib_MODULES): Add part_bsd.mod.
15047 (part_bsd_mod_SOURCES): New variable.
15048 (part_bsd_mod_CFLAGS): Likewise.
15049 (part_bsd_mod_LDFLAGS): Likewise.
15050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15051 (grub_emu_SOURCES): Likewise.
15052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15053 * include/grub/bsdlabel.h: New file.
15054 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15055 'get_name'.
15056 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15057 (grub_partition_map_list): New variable.
15058 (grub_partition_map_register): Inline.
15059 (grub_partition_map_unregister): Likewise.
15060 (FOR_PARTITION_MAPS): New macro.
15061 (grub_partition_map_iterate): Removed.
15062 (grub_partition_get_start): Handle nested partitions.
15063 * include/grub/msdos_partition.h: Remove bsd-related entries.
15064 (grub_pc_partition): Remove.
15065 * kern/disk.c (grub_disk_close): Free partition data.
15066 (grub_disk_adjust_range): Handle nested partitions.
15067 * kern/partition.c (grub_partition_map_probe): New function.
15068 (grub_partition_probe): Parse name to number, handle subpartitions.
15069 (get_partmap): New function.
15070 (grub_partition_iterate): Handle subpartitions.
15071 (grub_partition_get_name): Likewise.
15072 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15073 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15074 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15075 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15076 Set 'number'.
15077 (acorn_partition_map_probe): Remove.
15078 (acorn_partition_map_get_name): Likewise.
15079 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15080 Set 'number'.
15081 Set 'index' to 0 since there can be only one partition entry per sector.
15082 (amiga_partition_map_probe): Remove.
15083 (amiga_partition_map_get_name): Likewise.
15084 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15085 Set 'number'.
15086 Set 'offset' and 'index' to real positions of partitions.
15087 (apple_partition_map_probe): Remove.
15088 (apple_partition_map_get_name): Likewise.
15089 * partmap/bsdlabel.c: New file.
15090 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15091 Set 'number'.
15092 Allocate 'data' so it can be correctly freed.
15093 Set 'index' to offset inside sector.
15094 (gpt_partition_map_probe): Remove.
15095 (gpt_partition_map_get_name): Likewise.
15096 * partmap/msdos.c (grub_partition_parse): Remove.
15097 (pc_partition_map_iterate): Don't force raw access.
15098 Set 'number'.
15099 Make 'ext_offset' a local variable.
15100 (pc_partition_map_probe): Remove.
15101 (pc_partition_map_get_name): Remove.
15102 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15103 Set 'number'.
15104 (sun_partition_map_probe): Remove.
15105 (sun_partition_map_get_name): Likewise.
15106 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15107 (grub_pcpart_type): Likewise.
15108 * util/hostdisk.c (open_device): Handle new numbering scheme.
15109 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15110 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15111 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15112 * util/grub-install.in: Insert all subpartition modules.
15113 * util/ieee1275/grub-install.in: Likewise.
15114
a3940f88
AG
151152010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15116
15117 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15118 grammar.
15119
21b99926 151202010-03-24 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15123
bed1d352
CW
151242010-03-21 Colin Watson <cjwatson@ubuntu.com>
15125
15126 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15127 match where 'make install' puts them.
15128 * util/i386/efi/grub-install.in: Likewise.
15129
c9f58427
CW
151302010-03-19 Colin Watson <cjwatson@ubuntu.com>
15131
15132 * .bzrignore: Add gentrigtables, grub-script-check,
15133 grub_script_check_init.c, grub_script_check_init.h, and
15134 trigtables.c.
15135
f84afb27
VS
151362010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * kern/parser.c: Indented.
15139
ed0e3d30
VS
151402010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15143
0ea81d98
VS
151442010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15147 alpha_mask_size == 0 case.
15148
0cdc2a09
BC
151492010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15150
15151 GRUB shell lexer and parser improvements.
15152
15153 * conf/any-emu.rmk: Build rule updates.
15154 * conf/common.rmk: Likewise.
15155 * conf/i386-coreboot.rmk: Likewise.
15156 * conf/i386-efi.rmk: Likewise.
15157 * conf/i386-ieee1275.rmk: Likewise.
15158 * conf/i386-pc.rmk: Likewise.
15159 * conf/powerpc-ieee1275.rmk: Likewise.
15160 * conf/x86_64-efi.rmk: Likewise.
15161
15162 * configure.ac: Configure check for flex.
15163
15164 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15165 types.
15166 (grub_lexer_param): Struct member updates.
15167 (grub_parser_param): Likewise.
15168 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15169 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15170 (grub_script_lexer_init): Prototype update.
15171 (grub_script_lexer_record_start): Likewise.
15172 (grub_script_lexer_record_stop): Likewise.
15173 (grub_script_lexer_yywrap): New function prototype.
15174 (grub_script_lexer_fini): Likewise.
15175 (grub_script_execute_argument_to_string): Removed by...
15176 (grub_script_execute_argument_to_argv): ...better version.
15177
15178 * script/execute.c (ROUND_UPTO): New macro.
15179 (grub_script_execute_cmdline): Out of memory fixes.
15180 (grub_script_execute_menuentry): Likewise.
15181 (grub_script_execute_argument_to_string): Removed. Update all
15182 users by...
15183 (grub_script_execute_argument_to_argv): ...better version.
15184 * script/function.c (grub_script_function_create): Use
15185 grub_script_execute_argument_to_argv instead of
15186 grub_script_execute_argument_to_string.
15187
15188 * script/lexer.c (check_varstate): Removed.
15189 (check_textstate): Removed.
15190 (grub_script_lexer_record_start): Likewise.
15191 (grub_script_lexer_record_stop): Likewise.
15192 (recordchar): Replaced with...
15193 (grub_script_lexer_record): ...new function.
15194 (nextchar): Removed.
15195 (grub_script_lexer_init): Rewritten.
15196 (grub_script_yylex): Rewritten.
15197 (append_newline): New function.
15198 (grub_script_lexer_yywrap): New function.
15199 (grub_script_lexer_fini): New function.
15200 (grub_script_yyerror): Sets error flag.
15201
15202 * script/yylex.l: New file.
15203 (grub_lexer_yyfree): Wrapper for flex yyffre.
15204 (grub_lexer_yyalloc): Likewise.
15205 (grub_lexer_yyrealloc): Likewise.
15206 * script/parser.y: Refactored.
15207
15208 * script/script.c (grub_script_arg_add): Out of memory fixes.
15209 (grub_script_add_arglist): Likewise.
15210 (grub_script_create_cmdline): Likewise.
15211 (grub_script_create_cmdmenu): Likewise.
15212 (grub_script_add_cmd): Likewise.
15213 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15214 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15215 unnecessary code.
15216
15217 * tests/grub_script_echo1.in: New testcase.
15218 * tests/grub_script_vars1.in: New testcase.
15219 * tests/grub_script_echo_keywords.in: New testcase.
15220
1d63a066
VS
152212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 Remove some redundancy in build system.
15224
15225 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15226 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15227 (TARGET_LDFLAGS): Add -nostdlib.
15228 (TARGET_IMG_LDFLAGS): Likewise.
15229 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15230 anything since mmap isn't available.
15231 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15232 Add util/time.c.
15233 (pkglib_MODULES): Remove reboot.mod.
15234 (reboot_mod_SOURCES): Removed.
15235 (reboot_mod_CFLAGS): Likewise.
15236 (reboot_mod_LDFLAGS): Likewise.
15237 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15238 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15239 (DEFSYMFILES): Add kernel_syms.lst.
15240 (kernel_img_HEADERS): Add common headers.
15241 (symlist.c): New target.
15242 (kernel_syms.lst): Likewise.
15243 (pkglib_MODULES): Add memdisk.mod.
15244 (memdisk_mod_SOURCES): New variable.
15245 (memdisk_mod_CFLAGS): Likewise.
15246 (memdisk_mod_LDFLAGS): Likewise.
15247 (pkglib_MODULES): Add reboot.mod.
15248 (reboot_mod_SOURCES): New variable.
15249 (reboot_mod_CFLAGS): Likewise.
15250 (reboot_mod_LDFLAGS): Likewise.
15251 (pkglib_MODULES): Add date.mod.
15252 (date_mod_SOURCES): New variable.
15253 (date_mod_CFLAGS): Likewise.
15254 (date_mod_LDFLAGS): Likewise.
15255 (pkglib_MODULES): Add datehook.mod.
15256 (datehook_mod_SOURCES): New variable.
15257 (datehook_mod_CFLAGS): Likewise.
15258 (datehook_mod_LDFLAGS): Likewise.
15259 (pkglib_MODULES): Add lsmmap.mod.
15260 (lsmmap_mod_SOURCES): New variable.
15261 (lsmmap_mod_CFLAGS): Likewise.
15262 (lsmmap_mod_LDFLAGS): Likewise.
15263 (pkglib_MODULES): Add boot.mod.
15264 (boot_mod_SOURCES): New variable.
15265 (boot_mod_CFLAGS): Likewise.
15266 (boot_mod_LDFLAGS): Likewise.
15267 * conf/i386-coreboot.rmk: Removed redundant parts.
15268 * conf/i386-ieee1275.rmk: Likewise.
15269 * conf/i386-pc.rmk: Likewise.
15270 * conf/mips-yeeloong.rmk: Likewise.
15271 * conf/mips.rmk: Likewise.
15272 * conf/powerpc-ieee1275.rmk: Likewise.
15273 * conf/sparc64-ieee1275.rmk: Likewise.
15274 * conf/x86_64-efi.rmk: Likewise.
15275 * conf/i386-coreboot.rmk: Moved qemu parts ..
15276 * conf/i386-qemu.rmk: ... here
15277 * conf/i386-efi.rmk: Moved common parts to...
15278 * conf/x86-efi.rmk: ... here.
15279 * conf/i386.rmk: Added modules common to all x86 variants.
15280 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15281 * disk/memdisk.c: Remove grub/machine/kernel.h.
15282 * gensymlist.sh.in: Include symbol.h.
15283 * hook/datehook.c: Correct module name.
15284 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15285 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15286 * include/grub/i386/efi/serial.h: New file.
15287 * include/grub/x86_64/efi/serial.h: Likewise.
15288 * util/time.c: Likewise.
15289 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15290
463ac55f
CK
152912010-03-14 Colin King <colin.king@ubuntu.com>
152922010-03-14 Colin Watson <cjwatson@ubuntu.com>
15293
15294 Shrink the pre-partition-table part of boot.img by eight bytes.
15295
15296 * boot/i386/pc/boot.S (ERR): New macro.
15297 (chs_mode): Use ERR.
15298 (geometry_error): Likewise.
15299 (hd_probe_error): Remove. This is only used once, so we wrwite
15300 it inline instead.
15301 (read_error): Instead of printing read_error_string, just set up
15302 %si and fall through to ...
15303 (error_message): ... this new function, also used by ERR.
15304
08e46ede
CW
153052010-03-14 Colin Watson <cjwatson@ubuntu.com>
15306
15307 Speed up consecutive hostdisk operations on the same device.
15308
15309 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15310 (grub_util_biosdisk_open): Initialise disk->data.
15311 (struct linux_partition_cache): New structure.
15312 (linux_find_partition): Cache partition start positions; these are
15313 expensive to compute on every read and write.
15314 (open_device): Cache open file descriptor in disk->data, so that we
15315 don't have to reopen it and flush the buffer cache for consecutive
15316 operations on the same device.
15317 (grub_util_biosdisk_close): New function.
15318 (grub_util_biosdisk_dev): Set `close' member.
15319
15320 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15321 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15322 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15323 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15324 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15325
4a6d2d06
VS
153262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 Compile parts of grub-emu as modules.
15329
15330 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15331 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15332 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15333 (all-local): Add $(GRUB_EMU).
15334 (install-local): Install $(GRUB_EMU).
15335 (uninstall): Uninstall $(GRUB_EMU).
15336 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15337 * kern/dl.c: Likewise.
15338 * commands/sleep.c: Not include machine/time.h.
15339 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15340 (COMMON_CFLAGS): Likewise.
15341 (sbin_UTILITIES): Remove grub-emu.
15342 (grub_emu_SOURCES): Removed.
15343 (kernel_img_RELOCATABLE): New variable.
15344 (pkglib_PROGRAMS): Add kernel.img.
15345 (kernel_img_SOURCES): New variable
15346 (kernel_img_CFLAGS): Likewise.
15347 (kernel_img_LDFLAGS): Likewise.
15348 (TARGET_NO_STRIP): Likewise.
15349 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15350 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15351 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15352 (grub-emu): New target.
15353 (GRUB_EMU): New variable.
15354 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15355 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15356 * loader/xnu.c: Likewise.
15357 * include/grub/pci.h: Likewise.
15358 * genemuinit.sh: New file.
15359 * genemuinitheader.sh: Likewise.
15360 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15361 Support TARGET_NO_DYNAMIC_MODULES.
15362 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15363 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15364 * disk/loopback.c: Likewise.
15365 * font/font_cmd.c: Likewise.
15366 * partmap/acorn.c: Likewise.
15367 * partmap/amiga.c: Likewise.
15368 * partmap/apple.c: Likewise.
15369 * partmap/gpt.c: Likewise.
15370 * partmap/msdos.c: Likewise.
15371 * partmap/sun.c: Likewise.
15372 * parttool/msdospart.c: Likewise.
15373 * term/gfxterm.c: Likewise.
15374 * video/bitmap.c: Likewise.
15375 * video/readers/jpeg.c: Likewise.
15376 * video/readers/png.c: Likewise.
15377 * video/readers/tga.c: Likewise.
15378 * video/video.c: Likewise.
15379 * util/grub-emu.c (read_command_list): Removed.
15380 (main): Don't call util_init_nls.
15381 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15382 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15383
91fdd2ed
VS
153842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15387 date.mod, datehook.mod.
15388 (datetime_mod_SOURCES): New variable.
15389 (datetime_mod_CFLAGS): Likewise.
15390 (datetime_mod_LDFLAGS): Likewise.
15391 (date_mod_SOURCES): Likewise.
15392 (date_mod_CFLAGS): Likewise.
15393 (date_mod_LDFLAGS): Likewise.
15394 (datehook_mod_SOURCES): Likewise.
15395 (datehook_mod_CFLAGS): Likewise.
15396 (datehook_mod_LDFLAGS): Likewise.
15397 * conf/sparc64-ieee1275.rmk: Likewise.
15398 * lib/ieee1275/datetime.c: New file.
15399
873ccae6
VS
154002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15403 (ieee1275_fb_mod_SOURCES): New variable.
15404 (ieee1275_fb_mod_CFLAGS): Likewise.
15405 (ieee1275_fb_mod_LDFLAGS): Likewise.
15406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15407 New proto.
15408 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15409 (HEAP_MAX_ADDR): Likewise.
15410 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15411 type.
15412 Correct stop condition.
15413 (grub_ieee1275_devices_iterate): New function.
15414 * video/ieee1275.c: New file.
15415
601c97c0
VS
154162010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15419
15420 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15421 as scratch.
15422 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15423 SCRATCH_PAD_DISKBOOT as scratch.
15424 (bootit): Pass Openfirmware pointer in %o4.
15425 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15426 of 0x200000.
15427 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15428 with util/grub-mkrawimage.c.
15429 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15430 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15431 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15432 (grub_aout_load) [GRUB_UTIL]: Likewise.
15433 * include/grub/kernel.h (grub_modules_get_end): New proto.
15434 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15435 (SCRATCH_PAD_BOOT): New definition.
15436 (SCRATCH_PAD_DISKBOOT): Likewise.
15437 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15438 * include/grub/sparc64/ieee1275/ieee1275.h
15439 (grub_ieee1275_original_stack): New variable
15440 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15441 New definition
15442 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15443 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15444 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15445 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15446 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15447 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15448 (grub_platform_image_format_t): New type.
15449 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15450 * kern/main.c (grub_modules_get_end)
15451 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15452 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15453 (codestart): Switch stacks.
15454 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15455 variable.
15456 (grub_heap_init): Use grub_modules_get_end.
15457 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15458 stack.
15459 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15460 (main): Likewise.
15461 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15462
d68b491e
TG
154632010-03-14 Thorsten Glaser <tg@mirbsd.org>
15464
15465 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15466
4e02ed50
MK
154672010-03-08 Matt Kraai <kraai@ftbfs.org>
15468
15469 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15470 bug #559005).
15471
1f15fc1e
VS
154722010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * genmoddep.awk: Output all missing symbols and not only first.
15475
fce5d8ff
VS
154762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * NEWS: Put the date of 1.98 release.
15479
d1e8a02f
VS
154802010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15483 ft2build.h.
15484
696fd607
VS
154852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15488 completition in the middle of string.
15489
33e2e6f3
VS
154902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * util/grub-mkrescue.in: Use mktemp with explicit template.
15493
b1f6d291
VS
154942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15497
2ac227c7
VS
154982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15501 right pointer.
15502
8f9a632b
VS
155032010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 Fix FreeBSD compilation.
15506
15507 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15508 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15509
60b03859
VS
155102010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15513
48a5a769
VS
155142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15517
3ab4bd77
VS
155182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15521
d116e0d8
RM
155222010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15523
15524 Support relative image path in theme file.
15525
15526 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15527 (image_set_property): Handle theme_dir and relative path.
15528
c7ef54aa
VS
155292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 * configure.ac: Alias amd64 to x86_64.
15532
fcee14ed
VS
155332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 * NEWS: mention multiboot on EFI.
15536
d0780363
VS
155372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * kern/main.c (grub_load_modules): Handle errors from init functions of
15540 embeded modules.
15541
41168ea4
VS
155422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * normal/autofs.c (autoload_fs_module): Handle errors.
15545
b54d93ac
VS
155462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 Disable linux.mod on qemu-mips since it's not functional and leads
15549 to compilation failure.
15550
15551 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15552 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15553 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15554 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15555 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15556 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15557 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15558 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15559 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15560 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15561 Reported by: BVK Chaitanya
15562
fc8345da
JU
155632010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15564
15565 * INSTALL: Add gettext as a dependency and add qemu to a new section
15566 "Prerequisites for make-check".
15567
4760f979
CF
155682010-03-04 Christian Franke <franke@computer.org>
15569
15570 * util/grub-pe2elf.c: Add missing include "progname.h".
15571
f209b5b2
VS
155722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * normal/crypto.c (read_crypto_list): Fix a typo.
15575 Reported by: Seth Goldberg.
15576
b4b7be98
VS
155772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15580 Reported by: Seth Goldberg.
b4b7be98 15581
c0ee0385
VS
155822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15585 ascii.bitmaps.
15586
a8efbf64
VS
155872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15590 Reported by: Seth Goldberg.
a8efbf64 15591
08dcd913
VS
155922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * util/i386/efi/grub-install.in: Copy gettext files.
15595
c4d0b332
VS
155962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15599
c6f2fe52
VS
156002010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 Wait for user entry basing on presence of output rather than on errors.
15603
15604 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15605 (grub_install_newline_hook): Likewise.
15606 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15607 * normal/menu.c (show_menu): Check line_counter to determine presence
15608 of output.
15609 * normal/term.c (grub_normal_line_counter): New variable.
15610 (grub_normal_get_line_counter): New function.
15611 (grub_install_newline_hook): Likewise.
15612
5382b1e4
VS
156132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15616
5519963b
VS
156172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * configure.ac: Update version to 1.98.
15620
72b28631
VS
156212010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * util/grub.d/10_linux.in (linux_entry): Don't default to
15624 gfxpayload=keep if Linux doesn't support video handover.
15625
c140a180
VS
156262010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 Don't compile video modules on yeeloong since video subsystem is part
15629 of kernel.
15630
15631 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15632 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15633 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15634 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15635 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15636 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15637 * include/grub/bitmap_scale.h: Likewise.
15638 * include/grub/bufio.h: Likewise.
15639 * include/grub/font.h: Likewise.
15640 * include/grub/gfxterm.h: Likewise.
15641 * include/grub/video.h: Likewise.
15642 * include/grub/vbe.h: Don't include video_fb.h.
15643 * video/i386/pc/vbe.c: Include video_fb.h.
15644 * commands/i386/pc/vbetest.c: Include video.h.
15645
a0ca21c2
CW
156462010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15647
15648 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15649 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15650 default entry if GRUB_SAVEDEFAULT=true. This allows using
15651 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15652 saving a new default on every boot.
15653
4a8a763c
VS
156542010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15657 * normal/term.c (read_terminal_list): Likewise.
15658 * normal/main.c (grub_normal_init_page): Likewise.
15659 (grub_normal_read_line_real): Likewise.
15660
607ffde2
VS
156612010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15664 memory leak.
15665 Reported by: Seth Goldberg.
15666
2b8fa975
CW
156672010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15668
15669 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15670 duplicate declaration of `start'.
15671
618307dd
VS
156722010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15675 filename.
15676 Reported by: Georgy Buranov
15677
7dd05b96 156782010-02-20 Carles Pina i Estany <carles@pina.cat>
15679
15680 * util/grub-mkrawimage.c (usage): Change string formatting to
15681 improve gettext.
15682
d1484a42
MRA
156832010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15684
15685 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15686 backspace keys.
15687
42b1d186
VS
156882010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15691 Reported by: Michael Suchanek.
15692
156932010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15694
15695 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15696 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15697
d9f31a41
VS
156982010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Remove any reference to non-free fonts.
15701
15702 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15703 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15704 uses non-free components.
15705 * font/font.c (grub_font_get_name): Remove example name.
15706 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15707 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15708 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15709 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15710
2793c71e
GB
157112010-02-16 Georgy Buranov <gburanov@gmail.com>
15712
15713 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15714
402e3779
VS
157152010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15718 Double divisor.
15719 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15720 features.
15721 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15722
0dd1e0dd
VS
157232010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15726
6fa7cfce
ST
157272010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15728
15729 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15730 * docs/grub.texi (Command-line and menu entry commands): Document play
15731 command.
15732
37c8483b
ST
157332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15734
15735 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15736 parse arguments as inline tempo and notes. Move code for playing notes
15737 to...
15738 (play): ... new function.
15739
14da0fb7
ST
157402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15741
15742 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15743 grub_uint16_t instead of short.
15744 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15745 disk from little endian to cpu endianness.
15746
04459e70
ST
157472010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15748
15749 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15750 GRUB_TICKS_PER_SECOND instead of 120.
15751
a0876943
VS
157522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15755 escape sequence after \e.
15756
e29f95dc
VS
157572010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15760 non-ASCII characters.
15761
d27859b2
VS
157622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15765 set root in single quotes to prevent \, from being unescaped.
15766
bc028f2f
VS
157672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 Prevent unknown commands from stopping menuentry execution.
15770
15771 * script/execute.c (grub_script_execute_cmdline): Print error after
15772 unknown command.
15773
095f5f82
VS
157742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15777 Reported by: Pavel Pisa.
15778
8c717950
VS
157792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15782
904935c3
VS
157832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 Merge grub_ieee1275_map_physical into grub_map and rename to
15786 grub_ieee1275_map
15787
15788 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15789 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15790 Remove.
15791 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15792 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15793 necessary.
15794 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15795
5b59a4e3
VS
157962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15799 opening and not after.
15800
69e137e8
VS
158012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15804 constants.
15805
2c0fcc36
VS
158062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15809 (alloc_phys): Use ALIGN_UP instead of align_addr.
15810
8c6052ce
VS
158112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15814
17cec782
VS
158152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15818
e0128bbd
VS
158192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15822 verbose dprintf.
15823
ca62070b
VS
158242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 Fix over-4GiB seek on sparc64.
15827
15828 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15829 Replace pos_i and pos_lo with pos. All users updated.
15830 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15831 New constant.
15832 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15833 Likewise.
15834 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15835 and pos_lo.
15836
bdca2607
VS
158372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * util/grub-mkrawimage.c (main): Call set_program_name.
15840
da278c4d
VS
158412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Properly align 64-bit targets.
15844
15845 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15846 (generate_image): Use ALIGN_ADDR.
15847
b274d734
VS
158482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 Properly create cross-endian images.
15851
15852 * include/grub/types.h (grub_host_to_target_addr): New macro
15853 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15854
82da2062
VS
158552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15858
7cae4377
VS
158592010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15862
15863 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15864 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15865 (grub_linux_boot): Divide by 64K when on VESA.
15866
65a533e7
VS
158672010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 Support GRUB_GFXPAYLOAD_LINUX.
15870
15871 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15872 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15873
dd01d397
VS
158742010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15877 to show messages instead of discarding them.
15878 Process errors after executing command and not before. Keep old method
15879 too as precaution.
15880
660960d6
VS
158812010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 * configure.ac: Check for ft2build.h.
15884
62509f04
VS
158852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15888
473df63d
VS
158892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * genkernsyms.sh.in: Use TARGET_CC.
15892
c98d2a13
CW
158932010-02-07 Colin Watson <cjwatson@ubuntu.com>
15894
15895 * NEWS: Update.
15896
6e14234c
VS
158972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15900 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15901 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15902
b255e9cf
YB
159032010-02-07 Yves Blusseau <blusseau@zetam.org>
15904
6e14234c 15905 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15906
98e6959d
VS
159072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 Fix warnings in grub-emu when compiling with maximum warning options.
15910
15911 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15912 (grub_arch_modules_addr): Return 0 and not NULL.
15913 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15914 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15915 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15916 of disk to dsk to avoid shadowing.
74e4934e
VS
15917 (find_free_slot): Fix prototype.
15918 * util/getroot.c (grub_util_is_dmraid): Make static.
15919 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15920 Add missing prototype.
15921 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15922
74e31b5c
VS
159232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15926 appropriately.
15927
6b2ad14b
VS
159282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15931 code out.
15932
8f891adc
VS
159332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15936 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15937 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15938 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15939 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15940 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15941
74b45184
VS
159422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * include/grub/err.h (grub_err_printf): Don't export.
15945
a4bced77
VS
159462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15949
007d0695
VS
159502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15953 * kern/misc.c (grub_gettext_dummy): Make static.
15954
b6c0d9c2
VS
159552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15958 by non-valid ones.
15959 * kern/term.c (grub_putchar): Likewise.
15960
f51a90d0
VS
159612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15964 buggy hook call and memory leak.
15965
6846cec5
VS
159662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15969
468d69fe
VS
159702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15973
51906b8c
VS
159742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15977 modevar.
15978 Return grub_errno on allocation error.
15979
09706ce5
VS
159802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15983
911df80c
YB
159842010-02-06 Yves Blusseau <blusseau@zetam.org>
15985
15986 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15987 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15988
3746a6bc
VS
159892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15992 non-pxe disk.
15993 (grub_pxefs_open): Likewise.
15994
09706ce5
VS
159952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15996
15997 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15998 * util/grub.d/10_kfreebsd.in: Likewise.
15999 * util/grub.d/10_linux.in: Likewise.
16000
7cc192d9
VS
160012010-02-06 Colin D Bennett <colin@gibibit.com>
16002
16003 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16004 (gfxmenu_mod_SOURCES): New variable.
16005 (gfxmenu_mod_CFLAGS): Likewise.
16006 (gfxmenu_mod_LDFLAGS): Likewise.
16007 * include/grub/term.h (grub_term_set_current_output): Declare
16008 argument as const.
16009 * docs/gfxmenu-theme-example.txt: New file.
16010 * gfxmenu/gfxmenu.c: Likewise.
16011 * gfxmenu/gui_box.c: Likewise.
16012 * gfxmenu/gui_canvas.c: Likewise.
16013 * gfxmenu/gui_circular_progress.c: Likewise.
16014 * gfxmenu/gui_image.c: Likewise.
16015 * gfxmenu/gui_label.c: Likewise.
16016 * gfxmenu/gui_list.c: Likewise.
16017 * gfxmenu/gui_progress_bar.c: Likewise.
16018 * gfxmenu/gui_string_util.c: Likewise.
16019 * gfxmenu/gui_util.c: Likewise.
16020 * gfxmenu/icon_manager.c: Likewise.
16021 * gfxmenu/model.c: Likewise.
16022 * gfxmenu/named_colors.c: Likewise.
16023 * gfxmenu/theme_loader.c: Likewise.
16024 * gfxmenu/view.c: Likewise.
16025 * gfxmenu/widget-box.c: Likewise.
16026 * include/grub/gfxmenu_model.h: Likewise.
16027 * include/grub/gfxmenu_view.h: Likewise.
16028 * include/grub/gfxwidgets.h: Likewise.
16029 * include/grub/gui.h: Likewise.
16030 * include/grub/gui_string_util.h: Likewise.
16031 * include/grub/icon_manager.h: Likewise.
16032
160332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 Agglomerate scrolling in gfxterm.
16036
16037 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16038 (grub_virtual_screen_setup): Initialise 'total_screen'.
16039 (write_char): Split to ...
16040 (paint_char): ... this ...
16041 (write_char): ... and this.
16042 (paint_char): Handle delayed scrolling.
16043 (draw_cursor): Likewise.
16044 (scroll_up): Split to ...
16045 (real_scroll): ... this ...
16046 (scroll_up): ... and this.
16047 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16048 characters.
16049 (grub_gfxterm_refresh): Call real_scroll.
16050
160512010-02-06 Colin D Bennett <colin@gibibit.com>
16052
16053 * include/grub/misc.h (grub_iscntrl): New inline function.
16054 (grub_isalnum): Likewise.
16055 (grub_strtol): Likewise.
16056
160572010-02-06 Colin D Bennett <colin@gibibit.com>
16058
16059 * normal/menu_text.c (get_entry_number): Move from here ...
16060 * normal/menu.c (get_entry_number): ... moved here.
16061 * include/grub/menu.h (grub_menu_get_default_entry_index):
16062 New prototype.
16063 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16064 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16065 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16066 (grub_menu_viewer_should_return): Likewise.
16067 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16068 * normal/menu_text.c (run_menu): Enable menu switching.
16069 * normal/menu_viewer.c (should_return): New variable.
16070 (menu_viewer_changed): Likewise.
16071 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16072 (grub_menu_viewer_should_return): New function.
16073 (menuviewer_write_hook): Likewise.
16074 (grub_menu_viewer_init): Likewise.
16075
160762010-02-06 Colin D Bennet <colin@gibibit.com>
160772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 Support for gfxterm in a window.
16080
16081 * include/grub/gfxterm.h: New file.
16082 * include/grub/video.h (struct grub_video_rect): New declaration.
16083 (grub_video_rect_t): Likewise.
16084 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16085 (refcount): New variable.
16086 (render_target): Likewise.
16087 (window): Likewise.
16088 (repaint_callback): Likewise.
16089 (grub_virtual_screen_setup): Use 'render_target'.
16090 (init_window): New function.
16091 (grub_gfxterm_init_window): Likewise.
16092 (grub_gfxterm_init): Check reference counter.
16093 Use init_window.
16094 (destroy_window): New function.
16095 (grub_gfxterm_destroy_window): Likewise.
16096 (grub_gfxterm_fini): Check reference counter.
16097 Use destroy_window.
16098 (redraw_screen_rect): Restore viewport.
16099 Use 'render_target' and 'window'.
16100 Call 'repaint_callback'.
16101 (write_char): Use 'render_target'.
16102 (draw_cursor): Likewise.
16103 (scroll_up): Restore viewport.
16104 Use 'render_target' and 'window'.
16105 Call 'repaint_callback'.
16106 (grub_gfxterm_cls): Likewise.
16107 (grub_gfxterm_refresh): Use 'window'.
16108 (grub_gfxterm_set_repaint_callback): New function.
16109 (grub_gfxterm_background_image_cmd): Use 'window'.
16110 (grub_gfxterm_get_term): New function.
16111 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16112
161132010-02-06 Colin D Bennett <colin@gibibit.com>
16114
16115 Bitmap scaling support.
16116
16117 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16118 (bitmap_scale_mod_SOURCES): New variable.
16119 (bitmap_scale_mod_CFLAGS): Likewise.
16120 (bitmap_scale_mod_LDFLAGS): Likewise.
16121 * include/grub/bitmap_scale.h: New file.
16122 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16123 (background_image_cmd_options): New variable.
16124 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16125 (cmd): Rename and change type to ...
16126 (background_image_cmd_handle): ... this. All users updated.
16127 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16128 * video/bitmap_scale.c: New file.
16129
161302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 SDL support.
16133
16134 * Makefile.in (LIBSDL): New variable.
16135 (enable_grub_emu_sdl): Likewise.
16136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16137 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16138 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16139 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16140 * util/sdl.c: New file.
16141
161422010-02-06 Colin D Bennett <colin@gibibit.com>
161432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 Double buffering support.
16146
16147 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16148 * include/grub/video.h: Update comment.
16149 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16150 New type.
16151 (grub_video_fb_doublebuf_blit_init): New prototype.
16152 * term/gfxterm.c (scroll_up): Support double buffering.
16153 (grub_gfxterm_refresh): Likewise.
16154 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16155 (grub_video_fb_doublebuf_blit_init): Likewise.
16156 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16157 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16158 'displayed_page', 'render_page' and 'update_screen'.
16159 (grub_video_vbe_fini): Free offscreen buffer.
16160 (doublebuf_pageflipping_commit): New function.
16161 (doublebuf_pageflipping_update_screen): Likewise.
16162 (doublebuf_pageflipping_init): Likewise.
16163 (double_buffering_init): Likewise.
16164 (grub_video_vbe_setup): Enable doublebuffering.
16165 (grub_video_vbe_swap_buffers): Implement.
16166 (grub_video_vbe_set_active_render_target): Handle double buffering.
16167 (grub_video_vbe_get_active_render_target): Likewise.
16168 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16169 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16170 (grub_video_vbe_enable_double_buffering): Likewise.
16171 (grub_video_vbe_swap_buffers): Use update_screen.
16172 (grub_video_set_mode): Use double buffering.
16173
161742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16175
16176 * maintainance/gentrigtables.py: Remove.
16177 * lib/trig.c: Likewise.
16178
16179 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16180
16181 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16182 `trigtables.c'.
16183 (trigtables.c): New rule.
16184 (gentrigtables): Likewise.
16185 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16186
161872010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16188
16189 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16190 integer constants.
16191
161922010-02-06 Colin D Bennet <colin@gibibit.com>
16193
16194 Trigonometry support.
16195
16196 * include/grub/trig.h: New file.
16197 * lib/trig.c: Likewise.
16198 * maintainance/gentrigtables.py: Likewise.
16199 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16200 (trig_mod_SOURCES): New variable.
16201 (trig_mod_CFLAGS): Likewise.
16202 (trig_mod_LDFLAGS): Likewise.
16203
5562834e
VS
162042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16207 disk devices.
16208
4f8528fc
VS
162092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16212 error.
16213
2b4068e9
VS
162142010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * util/hostdisk.c (open_device): Don't use partition device when reading
16217 before the partition.
16218 (grub_util_biosdisk_read): Don't read from partition and before the
16219 partition in single operation.
16220 (grub_util_biosdisk_write): Don't write to partition and before the
16221 partition in single operation.
16222
399f6e4d
TL
162232010-02-03 Torsten Landschoff <torsten@debian.org>
16224
16225 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16226 last sectors.
16227
996649b0
VS
162282010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16229
16230 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16231 CDROM reads.
16232 (grub_biosdisk_write): Refuse to write to CDROM.
16233
3b205d4d
VS
162342010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16237
61e89d9d
VS
162382010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * font/font.c (find_glyph): Check that bmp_idx is available before
16241 using it.
16242 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16243 with (font == NULL).
16244
bf7fcba2
CS
162452010-01-28 Christian Schmitt <chris@ilovelinux.de>
16246
16247 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16248
f45d2663
BC
162492010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16250
16251 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16252 * util/grub-script-check.c (getline): Fix empty lines case.
16253
ec1444e6
RM
162542010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16255
16256 * Makefile.in (check): Exit with fail status when one of the tests
16257 fails.
16258 * tests/example_functional_test.c (example_test): Fix reversed assert.
16259 * tests/example_unit_test.c (example_test): Likewise.
16260
2e1cb9bb
CW
162612010-01-28 Colin Watson <cjwatson@ubuntu.com>
16262
16263 * util/grub.d/10_linux.in: This script does not use any of the
16264 contents of gettext.sh, only the external command `gettext', so stop
16265 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16266 the same prefix as GRUB.)
16267 * util/grub.d/10_kfreebsd.in: Likewise.
16268
63533ab0
VS
162692010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16272 of the line.
16273
989e1f93
VS
162742010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16277 last sectors.
16278
e709ebe2
VS
162792010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16282 having a 4KiB and not 32KiB buffer size.
16283
27dea7ed
RM
162842010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16285
16286 * util/hostfs.c: Include `<errno.h>'.
16287 (grub_hostfs_read): Handle errors from fseeko() and fread().
16288
67667b9c
RM
162892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16290
16291 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16292 loop when using read hooks on files whose size isn't sector-aligned.
16293
c294d9d8
RM
162942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16295
16296 Remove unused parameter.
16297
16298 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16299 (grub_iso9660_open): Remove initialization of `data->length'.
16300
af75a9f1
RM
163012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16302
16303 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16304 memleak conditions.
16305
254e2ce5 163062010-01-27 Carles Pina i Estany <carles@pina.cat>
16307
16308 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16309 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16310
b510928c 163112010-01-26 Carles Pina i Estany <carles@pina.cat>
16312
16313 * util/bin2h.c (usage): Fix warning (space after backslash).
16314
aa2f9dd2 163152010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16316
16317 * font/font.c: Include `grub/fontformat.h.
16318 Remove font file format constants.
16319 (grub_font_load): Use the new macros.
16320 * include/grub/fontformat.h: New file.
16321 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16322 (write_font_pf2): Use the new macros.
16323
94e7e712
RM
163242010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16325
16326 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16327 does.
16328
3973a59a
RM
163292010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16330
16331 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16332
16333 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16334 (_start): Macroify `0x7F'.
16335
16336 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16337 (make_install_device): Use "(pxe)" as fallback prefix when booting
16338 via PXE.
16339
42e0cba3
GS
163402010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * configure.ac: Reset LIBS after check for libgcc symbols.
16343
847effd8
CW
163442010-01-25 Colin Watson <cjwatson@ubuntu.com>
16345
16346 * util/hostdisk.c (open_device): Add trailing newline to debug
16347 message.
16348
ea4a7e35
GS
163492010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16350
16351 * configure.ac: Check for `limits.h'.
16352 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16353
67951a53
RM
163542010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16355
16356 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16357 capitalize error strings.
16358
c273d4ce
ST
163592010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16360
16361 * util/grub.d/10_hurd.in: Add a recovery mode.
16362
69be5b74
VS
163632010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * configure.ac: Check for libgcc symbols with -nostdlib.
16366
fc9e5810
BC
163672010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16368
16369 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16370
4b358c0a
VS
163712010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16374 stack since heap may be unavailable at that point.
16375 (grub_ofconsole_gotoxy): Likewise.
16376
454fcd1c
VS
163772010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 * configure.ac: Check for _restgpr_14_x.
16380 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16381 and _savegpr_* prototypes.
16382
566863ca
RM
163832010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16384
16385 Use generic grub_reboot() for i386-efi.
16386
16387 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16388 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16389 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16390
bf86e59a
VS
163912010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16394 presence of "prefix" variable as it breaks when normal.mod is
16395 embedded.
16396
d645e0f8
VS
163972010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16400 stack since heap is unavailable at that point.
16401
f9ab2e25
VS
164022010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16405 (grub_freebsd_bootinfo): Rewritten.
16406 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16407
01fc7054
VS
164082010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16411
caab4fd6
RM
164122010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16413
16414 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16415 domain now.
16416
67eb1427
FZ
164172010-01-20 Felix Zielcke <fzielcke@z-51.de>
16418
16419 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16420 around for handling "/" to the correct fix. Fix a memory leak. Use
16421 xstrdup instead of strdup.
16422
a9ed4ff3
VS
164232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16426
164272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16428
16429 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16430
16431 * font/font.c (struct grub_font): New member 'bmp_idx'.
16432 (font_init): Initialise 'bmp_idx'.
16433 (load_font_index): Fill 'bmp_idx'.
16434 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16435
48209f4f
VS
164362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16439 unnecessary calls.
16440
9f0a4bb7
VS
164412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 Move context handling out of the kernel.
16444
16445 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16446 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16447 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16448 * conf/i386-efi.rmk: Likewise.
16449 * conf/i386-ieee1275.rmk: Likewise.
16450 * conf/i386-pc.rmk: Likewise.
16451 * conf/powerpc-ieee1275.rmk: Likewise.
16452 * conf/sparc64-ieee1275.rmk: Likewise.
16453 * conf/x86_64-efi.rmk: Likewise.
16454 * include/grub/env.h: Include grub/menu.h.
16455 (grub_env_var_type): Removed.
16456 (grub_env_var): Replaced field 'type' with 'global'.
16457 (grub_env_find): New prototype.
16458 (grub_env_context_open): Remove EXPORT_FUNC.
16459 (grub_env_context_close): Likewise.
16460 (grub_env_export): Likewise.
16461 (grub_env_set_data_slot): Removed.
16462 (grub_env_get_data_slot): Likewise.
16463 (grub_env_unset_data_slot): Likewise.
16464 (grub_env_unset_menu): New prototype.
16465 (grub_env_set_menu): Likewise.
16466 (grub_env_get_menu): Likewise.
16467 * include/grub/env_private.h: New file.
16468 * include/grub/normal.h (grub_context_init): New prototype.
16469 (grub_context_fini): Likewise.
16470 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16471 * normal/context.c (grub_cmd_export): ... to here.
16472 * kern/env.c: Include env_private.h.
16473 (HASHSZ): Moved to include/grub/env_private.h.
16474 (grub_env_context): Likewise.
16475 (grub_env_sorted_var): Likewise.
16476 (current_context): Renamed from this ...
16477 (grub_current_context): ...to this. 'static' removed. All users updated.
16478 (grub_env_find): Removed 'static'.
16479 (grub_env_context_open): Moved to normal/context.c.
16480 (grub_env_context_close): Likewise.
16481 (grub_env_export): Likewise.
16482 (mangle_data_slot_name): Removed.
16483 (grub_env_set_data_slot): Likewise.
16484 (grub_env_get_data_slot): Likewise.
16485 (grub_env_unset_data_slot): Likewise.
16486 * kern/main.c (grub_set_root_dev): Don't export root.
16487 It will be done later.
16488 (grub_main): Don't export prefix.
16489 It will be done later.
16490 * normal/context.c: New file.
16491 * normal/main.c (free_menu): Use grub_env_unset_menu.
16492 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16493 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16494 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16495 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16496
8dd35b8c
VS
164972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 setpci support.
16500
16501 * commands/setpci.c: New file.
16502 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16503 (setpci_mod_SOURCES): New variable.
16504 (setpci_mod_CFLAGS): Likewise.
16505 (setpci_mod_LDFLAGS): Likewise.
16506
449193d5
VS
165072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 Byte-addressable PCI configuration space.
16510
16511 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16512 dword address.
16513 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16514 GRUB_PCI_REG_CACHELINE.
16515 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16516 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16517 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16518 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16519 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16520 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16521 grub_pci_make_address.
16522 (lock_rom_area): Likewise.
16523 * commands/lspci.c (grub_lspci_iter): Use macroses
16524 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16525 of grub_pci_make_address.
16526 * disk/ata.c (grub_ata_pciinit): Likewise.
16527 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16528 (GRUB_PCI_REG_VENDOR): Likewise.
16529 (GRUB_PCI_REG_DEVICE): Likewise.
16530 (GRUB_PCI_REG_COMMAND): Likewise.
16531 (GRUB_PCI_REG_STATUS): Likewise.
16532 (GRUB_PCI_REG_REVISION): Likewise.
16533 (GRUB_PCI_REG_CLASS): Likewise.
16534 (GRUB_PCI_REG_CACHELINE): Likewise.
16535 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16536 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16537 (GRUB_PCI_REG_BIST): Likewise.
16538 (GRUB_PCI_REG_ADDRESSES): Likewise.
16539 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16540 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16541 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16542 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16543 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16544 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16545 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16546 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16547 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16548 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16549 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16550 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16551 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16552 (GRUB_PCI_REG_MIN_GNT): Likewise.
16553 (GRUB_PCI_REG_MAX_LAT): Likewise.
16554 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16555 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16556 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16557 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16558 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16559 space.
16560
96d73208
RM
165612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16562
16563 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16564 can be reliably determined to be supported.
16565
d4484482
RM
165662010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16567
16568 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16569 that VESA is supported.
16570 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16571 supported.
16572
00308ecf
VS
165732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16576
f66924a4
RM
165772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16578
16579 * util/misc.c (make_system_path_relative_to_its_root): Work around
16580 special-casing of "/", as previous incarnation of this routine did.
16581
cbca0ada
VS
165822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 Fix any-emu compilation.
16585
16586 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16587 * grub_bin2h_SOURCES: New variable.
16588
34a66d99
RM
165892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16590
16591 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16592
94fabf58
RM
165932010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16594
16595 * util/grub.d/00_header.in: Fix handling of locale_dir.
16596
02cf98ca
VS
165972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16600 as possible unifont location (Gentoo).
16601 Reported by: Alexander Brüning
16602
327dbcd7
VS
166032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 Don't try to generate lists for kernel.img.
16606
16607 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16608 (pkglib_MODULES): Remove kernel.img.
16609 (kernel_img_EXPORTS): Removed.
16610 (kernel_img_RELOCATABLE): New variable.
16611 * conf/x86_64-efi.rmk: Likewise.
16612 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16613
ca467290
VS
166142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16615
16616 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16617 grub_xasprintf or grub_snprintf.
16618 (grub_vsprintf): Likewise.
16619 (grub_snprintf): New proto.
16620 (grub_vsnprintf): Likewise.
16621 (grub_xasprintf): Likewise.
16622 (grub_xvasprintf): Likewise.
16623 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16624 (grub_sprintf): Removed.
16625 (grub_vsnprintf): New function.
16626 (grub_snprintf): Likewise.
16627 (grub_xvasprintf): Likewise.
16628 (grub_xasprintf): Likewise.
16629 (grub_vsprintf): Renamed to ...
16630 (grub_vsnprintf_real): ...this. New argument max_len.
16631
aca655fd
BC
166322010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16633
16634 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16635 fix grub-script-check warning.
16636
7ee92c32
VS
166372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * include/grub/font.h (grub_font_load): Fix prototype.
16640
f80927ca
VS
166412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16644
119c50ea
VS
166452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * include/grub/x86_64/at_keyboard.h: New file.
16648
47d5f3c1
VS
166492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * loader/mips/linux.c: Include missing grub/i18n.h.
16652
55ff5266
RM
166532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16654
16655 * normal/menu.c (notify_execution_failure): Clarify error message.
16656
c893cc87
RM
166572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16658
16659 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16660 return value (and revert all return statements). Update users.
16661
917dd370
CW
166622010-01-20 Dan Merillat <debian@dan.merillat.org>
16663
16664 * kern/device.c (grub_device_iterate): Allocate new part_ent
16665 structure based on sizeof (*p) rather than sizeof (p->next), to
16666 account for structure padding.
16667
16668 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16669 disk is NULL, which might happen for LVM physical volumes with no
16670 LVM signature.
16671
d4a4ee57
RM
166722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16673
16674 * loader/mips/linux.c (grub_cmd_initrd)
16675 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16676
166772009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16678
16679 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16680 (grub_video_video_init, grub_video_bitmap_init)
16681 (grub_font_manager_init, grub_term_gfxterm_init)
16682 (grub_at_keyboard_init): New extern declarations.
16683 (grub_machine_init): Initialize gfxterm and at_keyboard.
16684
16685 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16686
16687 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16688 `gfxterm.mod' into core image.
16689
16690 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16691 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16692 (kernel_img_FORMAT): Copy to ...
16693
16694 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16695 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16696 (kernel_img_FORMAT): ... here, and ...
16697
16698 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16699 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16700 (kernel_img_FORMAT): ... here.
16701
16702 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16703 and input (at_keyboard) terminals in kernel.
16704 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16705
16706 (pkglib_MODULES): Remove `pci.mod'.
16707 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16708 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16709 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16710 (at_keyboard_mod_LDFLAGS): Remove variables.
16711
167122010-01-11 Felix Zielcke <fzielcke@z-51.de>
16713
16714 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16715
167162009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16717
16718 * include/grub/mips/libgcc.h: Only export symbols for functions
16719 that libgcc provides.
16720
167212009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 MIPS support.
16724
16725 * bus/bonito.c: New file.
16726 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16727 GRUB_PCI_NUM_DEVICES.
16728 * term/i386/pc/serial.c: Move to ...
16729 * term/serial.c: ... here. All users updated.
16730 * util/i386/pc/grub-mkimage.c: Move to ...
16731 * util/grub-mkrawimage.c: ... here. All users updated.
16732 * term/i386/pc/at_keyboard.c: Move to ...
16733 * term/at_keyboard.c: ... here. All users updated.
16734 * conf/mips-qemu-mips.rmk: New file.
16735 * conf/mips-yeeloong.rmk: Likewise.
16736 * conf/mips.rmk: Likewise.
16737 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16738 mipsel-qemu-mips.
16739 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16740 to port addresses.
16741 (grub_ata_pciinit): Support CS5536.
16742 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16743 * font/font_cmd.c (loadfont_command): Open file before passing it to
16744 grub_font_load.
16745 (pseudo_file_read): New function.
16746 (pseudo_file_close): Likewise.
16747 (pseudo_fs): New structure.
16748 (load_font_module): New function.
16749 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16750 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16751 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16752 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16753 * include/grub/i386/at_keyboard.h: Split into ...
16754 * include/grub/at_keyboard.h: ... this ...
16755 * include/grub/i386/at_keyboard.h: ... and this.
16756 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16757 New prototype.
16758 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16759 updated.
16760 (grub_elf64_size): Likewise.
16761 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16762 filename.
16763 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16764 * include/grub/i386/coreboot/serial.h: Rewritten.
16765 * include/grub/i386/ieee1275/serial.h: Include
16766 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16767 * include/grub/i386/pc/serial.h: Moved from here ...
16768 * include/grub/serial.h: ... to here. All users updated.
16769 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16770 (GRUB_PCI_NUM_BUS): Likewise.
16771 (GRUB_PCI_NUM_DEVICES): Likewise.
16772 (grub_pci_device_map_range): Add missing volatile keyword.
16773 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16774 * include/grub/mips/at_keyboard.h: New file.
16775 * include/grub/mips/cache.h: Likewise.
16776 * include/grub/mips/io.h: Likewise.
16777 * include/grub/mips/kernel.h: Likewise.
16778 * include/grub/mips/libgcc.h: Likewise.
16779 * include/grub/mips/pci.h: Likewise.
16780 * include/grub/mips/qemu-mips/boot.h: Likewise.
16781 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16782 * include/grub/mips/qemu-mips/loader.h: Likewise.
16783 * include/grub/mips/qemu-mips/memory.h: Likewise.
16784 * include/grub/mips/qemu-mips/serial.h: Likewise.
16785 * include/grub/mips/qemu-mips/time.h: Likewise.
16786 * include/grub/mips/relocator.h: Likewise.
16787 * include/grub/mips/time.h: Likewise.
16788 * include/grub/mips/types.h: Likewise.
16789 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16790 * include/grub/mips/yeeloong/boot.h: Likewise.
16791 * include/grub/mips/yeeloong/kernel.h: Likewise.
16792 * include/grub/mips/yeeloong/loader.h: Likewise.
16793 * include/grub/mips/yeeloong/memory.h: Likewise.
16794 * include/grub/mips/yeeloong/pci.h: Likewise.
16795 * include/grub/mips/yeeloong/serial.h: Likewise.
16796 * include/grub/mips/yeeloong/time.h: Likewise.
16797 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16798 * kern/elf.c (grub_elf32_size): New parameter. All users
16799 updated.
16800 (grub_elf64_size): Likewise.
16801 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16802 Load modules before saying "Welcome to GRUB!".
16803 Call grub_refresh after saying "Welcome to GRUB!".
16804 * kern/mips/cache.S: New file.
16805 * kern/mips/cache_flush.S: Likewise.
16806 * kern/mips/dl.c: Likewise.
16807 * kern/mips/init.c: Likewise.
16808 * kern/mips/qemu-mips/init.c: Likewise.
16809 * kern/mips/startup.S: Likewise.
16810 * kern/mips/yeeloong/init.c: Likewise.
16811 * kern/term.c (grub_putcode): Handle NULL terminal.
16812 (grub_getcharwidth): Likewise.
16813 (grub_getkey): Likewise.
16814 (grub_checkkey): Likewise.
16815 (grub_getkeystatus): Likewise.
16816 (grub_getxy): Likewise.
16817 (grub_getwh): Likewise.
16818 (grub_gotoxy): Likewise.
16819 (grub_cls): Likewise.
16820 (grub_setcolorstate): Likewise.
16821 (grub_setcolor): Likewise.
16822 (grub_getcolor): Likewise.
16823 (grub_refresh): Likewise.
16824 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16825 (write_jump): Add hatch nop.
16826 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16827 * lib/mips/setjmp.S: New file.
16828 * loader/mips/linux.c: Likewise.
16829 * term/i386/pc/at_keyboard.c: Move from here ...
16830 * term/at_keyboard.c: ... to here.
16831 * term/i386/pc/serial.c: Moved from here ...
16832 * term/serial.c: ... to here. All users updated.
16833 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16834 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16835 (serial_translate_key_sequence): Avoid deadlock.
16836 (grub_serial_getkey): Handle backspace.
16837 (grub_serial_putchar): Fix newline handling.
16838 * util/i386/pc/grub-mkimage.c: Move from here ...
16839 * util/grub-mkrawimage.c: ... to here. All users updated.
16840 (generate_image): New parameters 'font_path' and 'format'.
16841 Support embedding font.
16842 Use grub_host_to_target* instead of grub_cpu_to_le*.
16843 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16844 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16845 (options): New option "--font".
16846 (usage): Likewise.
16847 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16848 (main): Handle "--font".
16849 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16850 (grub_virtual_screen_setup): Set bg_color_display.
16851 (redraw_screen_rect): Use bg_color_display instead of incorrect
16852 bg_color.
16853 (grub_gfxterm_cls): Likewise.
16854 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16855 Support embedding config file.
16856 (add_segments): Likewise.
16857 (options): New option "--config".
16858 (main): Handle "--config".
16859 * video/sm712.c: New file.
16860
25c2b5b3
RM
168612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16862
16863 Fix parallel builds.
16864
16865 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16866 font.c depend on ascii.h).
16867
168682010-01-12 Carles Pina i Estany <carles@pina.cat>
16869
16870 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16871
168722010-01-11 Carles Pina i Estany <carles@pina.cat>
16873
16874 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16875 By default: disabled.
16876 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16877 parameter.
16878
168792010-01-10 Carles Pina i Estany <carles@pina.cat>
16880
16881 * font/font.c: Update copyright years.
16882 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16883
168842010-01-10 Carles Pina i Estany <carles@pina.cat>
16885
16886 * font/font.c: Include `ascii.h'.
16887 (ASCII_BITMAP_SIZE): New macro.
16888 (ascii_font_glyph): Define.
16889 (ascii_glyph_lookup): New function.
16890 (grub_font_get_string_width): Change comment. If glyph not found, use
16891 ascii_glyph_lookup.
16892 (grub_font_get_glyph_with_fallback): If glyph not available returns
16893 ascii_glyph_lookup.
16894 * util/grub-mkfont.c (file_formats): New enum.
16895 (options): Add `ascii-bitmaps' new option.
16896 (usage): Add `asii-bitmaps' new option.
16897 (write_font_ascii_bitmap): New function.
16898 (write_font): Rename to ...
16899 (write_font_p2): ... this. Remove print_glyphs call.
16900 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16901 used. Call print_glyphs.
16902 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16903
169042010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16905
16906 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16907 (grub_bin2h_SOURCES): New variable.
16908 * util/bin2h.c: New file.
16909
915fc1b8
VS
169102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * include/multiboot.h: Resynced with spec.
16913 * include/multiboot2.h: Likewise.
16914 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16915 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16916
9444b678
RM
169172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16918
16919 * include/grub/term.h (grub_term_register_input,
16920 grub_term_register_output): Check return of terminal init()
16921 routines, and abort if errors are raised.
16922
16923 * commands/terminal.c: Update copyright year.
16924
cba98e8d
RM
169252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16926
16927 * commands/terminal.c (grub_cmd_terminal_input)
16928 (grub_cmd_terminal_output): Check return of terminal init()
16929 routines, and abort if errors are raised.
16930
6f7db5d6
VS
169312010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * include/grub/i386/bsd.h: Fix include pathes.
16934
262bff8d
VS
169352010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Add missing *BSD copyright headers.
16938
16939 * include/grub/aout.h: Add BSD licence.
16940 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16941 * include/grub/i386/freebsd_linker.h: ... here,
16942 * include/grub/i386/freebsd_reboot.h: ... here,
16943 * include/grub/i386/netbsd_bootinfo.h: ... here,
16944 * include/grub/i386/netbsd_reboot.h: ... here,
16945 * include/grub/i386/openbsd_bootarg.h: ... here,
16946 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16947 licence to each file.
16948
b2cab848
RM
169492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16950
16951 * acinclude.m4: Remove `nop' assembly instruction; it's not
16952 implemented by all architectures.
16953
2cb6be4b
RM
169542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16955
16956 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16957 ELILO. This is no longer necessary.
16958
a2eaee15
BC
169592010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16960
16961 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16962
16963 * util/grub-script-check.c: grub-script-check tool.
16964 * conf/common.rmk: Make rules for grub-script-check.
16965
88d17012
RM
169662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16967
16968 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16969 spotting it back in 2008. Shame on me for forgetting he did.
16970
16971 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16972
8040619d
RM
169732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16974
16975 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16976 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16977 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16978 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16979 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16980 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16981
a0c2a0f6
RM
169822010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16983
16984 * include/grub/test.h: Add license header.
16985 * tests/example_functional_test.c: Likewise.
16986 * tests/example_unit_test.c: Likewise.
16987 * tests/lib/functional_test.c: Likewise.
16988 * tests/lib/test.c: Likewise.
16989 * tests/lib/unit_test.c: Likewise.
16990
b0b13907
VS
169912010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 Use flag-based instead of hook-based video mode selection and "auto"
16994 keyword.
16995
16996 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16997 (grub_video_set_mode): Changed prototype. All users updated.
16998 (grub_video_check_mode_flag): New inline function.
16999 * video/video.c (parse_modespec): New function.
17000 (grub_video_set_mode): Parse flags and keywords.
17001
ea379330 170022010-01-17 Carles Pina i Estany <carles@pina.cat>
17003
17004 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17005 fprintf call.
17006
e15c215e
FZ
170072010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17008
17009 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17010
409ae1c9 170112010-01-16 Carles Pina i Estany <carles@pina.cat>
17012
17013 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17014 string.
17015 * util/grub-emu.c (usage): Likewise.
17016 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17017 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17018 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17019 * util/i386/pc/grub-setup.c (usage): Likewise.
17020
70a14d3d 170212010-01-16 Carles Pina i Estany <carles@pina.cat>
17022
17023 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17024 the message.
17025 (grub_util_info): Likewise.
17026 (grub_util_error): Likewise.
17027 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17028 and/or new lines in `grub_util_warna', `grub_util_info',
17029 `grub_util_error' calls.
17030 * util/getroot.c: Likewise.
17031 * util/grub-editenv.c: Likewise.
17032 * util/grub-emu.c: Likewise.
17033 * util/grub-fstest.c: Likewise.
17034 * util/grub-mkdevicemap.c: Likewise.
17035 * util/grub-mkfont.c: Likewise.
17036 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17037 * util/grub-mkrelpath.c: Likewise.
17038 * util/grub-pe2elf.c: Likewise.
17039 * util/grub-probe.c: Likewise.
17040 * util/hostdisk.c: Likewise.
17041 * util/i386/efi/grub-mkimage.c: Likewise.
17042 * util/i386/pc/grub-mkimage.c: Likewise.
17043 * util/i386/pc/grub-setup.c: Likewise.
17044 * util/ieee1275/ofpath.c: Likewise.
17045 * util/mkisofs/eltorito.c: Likewise.
17046 * util/mkisofs/rock.c: Likewise.
17047 * util/mkisofs/write.c: Likewise.
17048 * util/raid.c: Likewise.
17049 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17050 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17051
a0b766fc
VS
170522010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 Enable multiboot on non-pc.
17055
17056 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17057 multiboot.mod and multiboot2.mod to ...
17058 * conf/i386.rmk (pkglib_MODULES): ... here.
17059 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17060 Moved to ...
17061 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17062 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17063 Moved to ...
17064 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17065 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17066 Moved to ...
17067 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17068 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17069 Moved to ...
17070 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17071 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17072 relocator.mod.
17073 (ata_mod_SOURCES): Removed.
17074 (ata_mod_CFLAGS): Likewise.
17075 (ata_mod_LDFLAGS): Likewise.
17076 (relocator_mod_SOURCES): Removed.
17077 (relocator_mod_CFLAGS): Likewise.
17078 (relocator_mod_ASFLAGS): Likewise.
17079 (relocator_mod_LDFLAGS): Likewise.
17080 Include i386.mk.
17081 * include/grub/x86_64/multiboot.h: New file.
17082 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17083 Terminate EFI.
17084
884ade56
VS
170852010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Video multiboot support.
17088
17089 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17090 New prototype.
17091 * include/multiboot.h: Resynced with multiboot specification.
17092 * include/multiboot2.h: Likewise.
17093 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17094 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17095 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17096 (HAS_VGA_TEXT): Likewise.
17097 (accepts_video): New variable.
17098 (grub_multiboot_set_accepts_video): New function.
17099 (grub_multiboot_get_mbi_size): Account for video structures.
17100 (set_video_mode): New function.
17101 (retrieve_video_parameters): Likewise.
17102 (grub_multiboot_make_mbi): Fill video fields.
17103
0d90e8a6
VS
171042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 Video driver ids.
17107
17108 * include/grub/video.h (grub_video_driver_id): New type.
17109 (grub_video_adapter): New member 'id'. All users updated.
17110 (grub_video_get_driver_id): New proto.
17111 * video/video.c (grub_video_get_driver_id): New function.
17112
5c71db1b 171132010-01-14 Carles Pina i Estany <carles@pina.cat>
17114
17115 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17116 `var=val'.
17117
cca15b52 171182010-01-14 Carles Pina i Estany <carles@pina.cat>
17119
17120 * normal/cmdline.c (print_completion): Gettextizze.
17121
c586fbb2 171222001-01-14 Carles Pina i Estany <carles@pina.cat>
17123
17124 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17125
ba2f6848 171262010-01-14 Carles Pina i Estany <carles@pina.cat>
17127
17128 * gettext/gettext.c (grub_gettext_translate): Push and pop
17129 grub_errno.
17130 (grub_gettext_delete_list): Change comment style.
17131 * kern/err.c (grub_error): Gettextizze.
17132 (grub_fatal): Gettextizze.
17133
0a46429a
RM
171342010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17135
17136 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17137 (grub_linux16_real_boot): ... this.
17138 * kern/i386/loader.S: Likewise.
17139 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17140 (grub_linux16_boot): New function. Switches to text mode and calls
17141 grub_linux16_real_boot().
17142
17143 * loader/i386/bsd.c: Include `<grub/video.h>'.
17144 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17145 text mode before calling grub_unix_real_boot().
17146
17147 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17148 (grub_multiboot_boot): Switch to text mode before calling
17149 grub_relocator32_boot().
17150
17151 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17152 (grub_chainloader_boot): Switch to text mode before calling
17153 grub_chainloader_real_boot().
17154
d6f93a66
RM
171552010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
171562010-01-05 Colin Watson <cjwatson@ubuntu.com>
17157
17158 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17159 non-empty value.
17160
171612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
171622010-01-05 Colin Watson <cjwatson@ubuntu.com>
17163
17164 * util/grub.d/00_header.in: Define a "savedefault" function for use
17165 in menu entries.
17166 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17167
171682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
171692010-01-05 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17172 saved_entry if boot_once is unset.
17173 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17174 previous saved entry (i.e. grub-reboot).
17175
171762009-12-08 Colin Watson <cjwatson@ubuntu.com>
17177
17178 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17179
171802009-12-08 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17183 `var=val'.
17184 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17185
171862009-12-08 Colin Watson <cjwatson@ubuntu.com>
17187
17188 * util/grub-reboot.in: Fix --version output.
17189 * util/grub-set-default.in: Likewise.
17190
171912009-12-08 Colin Watson <cjwatson@ubuntu.com>
17192
17193 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17194 blocks.
17195
171962009-12-08 Colin Watson <cjwatson@ubuntu.com>
17197
17198 * util/grub.d/00_header.in: Quote the value assigned to `default',
17199 in case it contains spaces.
17200
172012009-12-08 Colin Watson <cjwatson@ubuntu.com>
17202
17203 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17204 `save_default_entry' call from the macosx case to the linux case.
17205
172062009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
172072009-10-25 Colin Watson <cjwatson@ubuntu.com>
17208
17209 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17210 in `chosen' environment variable.
17211 * normal/menu_text.c (get_entry_number): Check if the variable
17212 matches the title of a menu entry.
17213 (run_menu): Pass menu to get_entry_number.
17214
17215 * util/grub-reboot.in: New file.
17216 * util/grub-set-default.in: New file.
17217 * conf/common.rmk (grub-reboot): New utility.
17218 (grub-set-default): New utility.
17219
17220 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17221 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17222 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17223 move it to `saved_entry' for the next boot. Load environment on
17224 initialisation.
17225 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17226 * util/grub.d/10_hurd.in: Likewise.
17227 * util/grub.d/10_linux.in (linux_entry): Likewise.
17228 * util/grub.d/10_windows.in: Likewise.
17229 * util/grub.d/30_os-prober.in: Likewise.
17230
17231 * util/grub-install.in: Create environment block.
17232 * util/i386/efi/grub-install.in: Likewise.
17233 * util/ieee1275/grub-install.in: Likewise.
17234 * util/sparc64/ieee1275/grub-install.in: Likewise.
17235
0934d184
BC
172362010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17237
17238 Unit testing framework for GRUB.
17239
17240 * Makefile.in: Test framework build rules for 'make check'.
17241 * conf/tests.rmk: Build rules for individual tests and framework.
17242
17243 * include/grub/test.h: Header file for whitebox tests.
17244 * tests/lib/functional_test.c: Framework support for whitebox
17245 functional tests.
17246 * tests/lib/test.c: Common whitebox testing code for unit and
17247 functional tests.
17248 * tests/lib/unit_test.c: Framework support for whitebox unit
17249 tests.
17250
17251 * tests/util/grub-shell-tester.in: Support utility for grub-script
17252 tests.
17253 * tests/util/grub-shell.in: Utility to execute grub-script
17254 commands in a Qemu instance.
17255
17256 * tests/example_functional_test.c: Example whitebox functional
17257 test.
17258 * tests/example_grub_script_test.in: Example grub-script test.
17259 * tests/example_scripted_test.in: Example scripted test.
17260 * tests/example_unit_test.c: Example whitebox unit test.
17261
9c4ffeeb
VS
172622010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17265 Add loader/i386/multiboot_mbi.c.
17266 (multiboot2_mod_SOURCES): Likewise.
17267 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17268 (multiboot2_mod_SOURCES): Likewise.
17269 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17270 (grub_multiboot_make_mbi): Likewise.
17271 (grub_multiboot_free_mbi): Likewise.
17272 (grub_multiboot_init_mbi): Likewise.
17273 (grub_multiboot_add_module): Likewise.
17274 (grub_multiboot_set_bootdev): Likewise.
17275 * loader/i386/multiboot.c (mbi): Removed.
17276 (mbi_dest): Likewise.
17277 (alloc_mbi): New variable.
17278 (grub_multiboot_payload_size): Removed. All users updated.
17279 (grub_multiboot_pure_size): New variable.
17280 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17281 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17282 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17283 (grub_fill_multiboot_mmap): Likewise.
17284 (grub_multiboot_get_bootdev): Likewise.
17285 (grub_multiboot): Use multiboot_mbi functions.
17286 * loader/i386/multiboot_mbi.c: New file.
17287
17383dfe
VS
172882010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17291 it would result in module crash.
17292
c1f28820
VS
172932010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17296 (grub_ofconsole_getwh): Split to ...
17297 (grub_ofconsole_getwh): ... this.
17298 (grub_ofconsole_dimensions): ...and this.
17299 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17300
58655a16
RM
173012010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17302
17303 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17304
10891398
VS
173052010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * loader/i386/pc/multiboot2.c: Removed stalled file.
17308
0b8a223c
VS
173092010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17312 Reported by: Grégoire Sutre
17313
92ab12b0
RM
173142010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17315
17316 * util/misc.c (canonicalize_file_name): New function.
17317 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17318 instead of realpath().
17319
a788afb6
CW
173202010-01-11 Colin Watson <cjwatson@ubuntu.com>
17321
17322 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17323 and make it clearer that it's optional. Based on confusion
17324 witnessed on IRC.
17325
ffa8e3d2
VS
173262010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17329 in premature implicit newline.
17330
e9060a9d
VS
173312010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17334 which resulted in garbled command line at the end of screen.
17335
f0d0c0b7
RM
173362010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17337
17338 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17339 initialization with similar approach as with other Linux loaders.
17340
0e60bae7
RM
173412010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17342
17343 Fix i386-ieee1275 build.
17344
17345 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17346 and grub_term_height() for video_{width,height} initialization.
17347
173482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17349
17350 Fix grub-emu build.
17351
17352 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17353
cdb3f378
RM
173542010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
173552010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17356
17357 Support for multiple terminals.
17358
17359 * Makefile.in (pkglib_DATA): terminal.lst.
17360 (terminal.lst): New target.
17361 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17362 (GRUB_MOD_INIT(handler)): Likewise.
17363 (GRUB_MOD_FINI(handler)): Likewise.
17364 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17365 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17366 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17367 (grub_cmd_sleep): Use grub_term_save_pos.
17368 * commands/terminal.c: New file.
17369 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17370 commands/terminal.c and lib/charset.c.
17371 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17372 (pkglib_MODULES): Add terminal.mod.
17373 (terminal_mod_SOURCES): New variable.
17374 (terminal_mod_CFLAGS): Likewise.
17375 (terminal_mod_LDFLAGS): Likewise.
17376 * genhandlerlist.sh: Don't handle terminals.
17377 * genmk.rb: Generate terminal-*.lst.
17378 * genterminallist.sh: New file.
17379 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17380 (grub_is_valid_utf8): Likewise.
17381 (grub_utf8_to_ucs4_alloc): Likewise.
17382 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17383 (grub_menu_register_viewer): Changed argument.
17384 (grub_menu_try_text): New proto.
17385 (grub_gfxmenu_try_hook): New declaration.
17386 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17387 (grub_menu_init_page): Additional argument term.
17388 (grub_normal_init_page): Likewise.
17389 (grub_cmdline_get): Arguments simplified.
17390 (grub_utf8_to_ucs4_alloc): Removed.
17391 (grub_print_ucs4): Additional argument term.
17392 (grub_getstringwidth): Likewise.
17393 (grub_print_message_indented): Likewise.
17394 (grub_menu_text_register_instances): New proto.
17395 (grub_show_menu): Likewise.
17396 (read_terminal_list): Likewise.
17397 (grub_set_more): Likewise.
17398 * include/grub/parser.h: Include handler.h.
17399 * include/grub/reader.h: Rewritten.
17400 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17401 (GRUB_TERM_WIDTH): Changed to function.
17402 (GRUB_TERM_HEIGHT): Likewise.
17403 (GRUB_TERM_BORDER_WIDTH): Likewise.
17404 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17405 (GRUB_TERM_NUM_ENTRIES): Likewise.
17406 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17407 (GRUB_TERM_CURSOR_X): Likewise.
17408 (grub_term_input_class): Likewise.
17409 (grub_term_output_class): Likewise.
17410 (grub_term_outputs_disabled): New declaration.
17411 (grub_term_inputs_disabled): Likewise.
17412 (grub_term_outputs): Likewise.
17413 (grub_term_inputs): Likewise.
17414 (grub_term_register_input): Rewritten.
17415 (grub_term_register_output): Likewise.
17416 (grub_term_unregister_input): Likewise.
17417 (grub_term_unregister_output): Likewise.
17418 (FOR_ACTIVE_TERM_INPUTS): New macro.
17419 (FOR_DISABLED_TERM_INPUTS): Likewise.
17420 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17421 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17422 * include/grub/terminfo.h: Add oterm argument to all protypes.
17423 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17424 Use grub_rescue_run.
17425 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17426 All users updated.
17427 * kern/reader.c: Removed. All users updated.
17428 * kern/rescue_reader.c (grub_rescue_init): Removed.
17429 (grub_rescue_reader): Likewise.
17430 (grub_register_rescue_reader): Likewise.
17431 (grub_rescue_run): New function based on kern/reader.c.
17432 * kern/term.c: Adapted for multiterm.
17433 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17434 (grub_is_valid_utf8): Likewise.
17435 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17436 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17437 right terminal.
17438 * loader/i386/linux.c (grub_linux_boot): Likewise.
17439 * normal/auth.c (grub_username_get): New function.
17440 (grub_auth_check_authentication): Use grub_username_get.
17441 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17442 * normal/color.c: Adapt for multiterm.
17443 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17444 (grub_normal_init_page): Additional argument term.
17445 (read_lists): Call read_terminal_lists.
17446 (grub_enter_normal_mode): Call grub_cmdline_run.
17447 Handle grub_normal_exit_level.
17448 (grub_cmd_normal): Make reentrant.
17449 (grub_cmd_normal_exit): New function.
17450 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17451 * normal/menu.c: Adapt for multiterm.
17452 * normal/menu_entry.c: Likewise.
17453 * normal/menu_text.c: Likewise.
17454 * normal/menu_viewer.c: Removed. All users updated.
17455 * normal/term.c: New file.
17456 * util/console.c: Change order of includes to workaround a bug in
17457 ncurses headers.
17458 * term/terminfo.c: New argument oterm on all exported functions.
17459 All users updated.
17460 * util/grub-editenv.c (grub_term_input_class): Removed.
17461 (grub_term_output_class): Likewise.
17462
1a064917
RM
174632010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17464
17465 Make loader output a bit more user-friendly.
17466
17467 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17468 is being loaded. Likewise for the Hurd.
17469
17470 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17471 that kernel of FreeBSD ${version} is being loaded.
17472
17473 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17474 grub_dprintf().
17475 (grub_cmd_initrd): Likewise.
17476 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17477 that Linux ${version} is being loaded. Likewise for initrd.
17478
5ce0a83a 174792010-01-09 Carles Pina i Estany <carles@pina.cat>
17480
17481 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17482
809bbfeb 174832010-01-08 Carles Pina i Estany <carles@pina.cat>
17484
17485 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17486 (GRUB_MOD_INIT): Gettextizze.
17487 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17488 (GRUB_MOD_INIT): Gettextizze.
17489 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17490 (grub_cmd_linux): Capitalise Linux.
17491 (GRUB_MOD_INIT): Gettextizze.
17492 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17493 (grub_cmd_linux): Capitalise Linux.
17494 (GRUB_MOD_INIT): Gettextizze.
17495 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17496 (grub_cmd_linux): Capitalise Linux.
17497 (GRUB_MOD_INIT): Gettextizze.
17498 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17499 (GRUB_MOD_INIT): Gettextizze.
17500 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17501 (grub_cmd_linux): Capitalise Linux.
17502 (GRUB_MOD_INIT): Gettextizze.
17503 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17504 (grub_cpu_xnu_init): Gettextizze.
17505 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17506 (GRUB_MOD_INIT): Gettextizze.
17507 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17508 (GRUB_MOD_INIT): Gettextizze.
17509 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17510 (grub_linux_load64): Capitalise Linux.
17511 (GRUB_MOD_INIT): Gettextizze.
17512 * loader/xnu.c: Include `<grub/i18n.h>'.
17513 (GRUB_MOD_INIT): Gettextizze.
17514 * po/POTFILES: Add `loader/efi/appleloader.c',
17515 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17516 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17517 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17518 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17519 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17520 and `loader/xnu.c'.
17521
b394b2ca
RM
175222010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17523
17524 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17525
175262010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17527
17528 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17529 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17530 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17531
bc8b32b3
RM
175322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17533
17534 Reset Multiboot 2 support. New loader implements the draft in
17535 /branches/multiboot2 and shares as much code as possible with the
17536 production Multiboot 1 implementation.
17537
17538 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17539 * loader/multiboot2.c: Likewise.
17540 * loader/i386/multiboot_helper.S: Likewise.
17541 * include/multiboot2.h: Replace with latest version from the draft
17542 in /branches/multiboot2.
17543
17544 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17545 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17546 and `loader/multiboot2.c'.
17547 (pkglib_MODULES): Add `multiboot2.mod'.
17548 (multiboot2_mod_SOURCES): New variable.
17549 (multiboot2_mod_LDFLAGS): Likewise.
17550 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17551
17552 * conf/i386-pc.rmk: Likewise.
17553
17554 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17555 (multiboot_mod_SOURCES): Remove variable.
17556 (multiboot_mod_LDFLAGS): Likewise.
17557 (multiboot_mod_CFLAGS): Likewise.
17558
17559 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17560 `<multiboot2.h>' instead of `<multiboot.h>'.
17561 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17562 (MULTIBOOT_HEADER_MAGIC): New macros.
17563
17564 * loader/multiboot_loader.c (module_version_status): Remove variable.
17565 (find_multi_boot2_header): Remove function.
17566 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17567 logic. Always check for the Multiboot version we're compiling for.
17568 (grub_cmd_module_loader): Likewise.
17569 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17570 command instead of `multiboot'.
17571
5d2c52b8
RM
175722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17573
17574 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17575 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17576 all users.
17577
53108d92
RM
175782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
175792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 Fix breakage introduced with previous commit.
17582
17583 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17584 commands.
17585 * normal/handler.c (read_handler_list): Revert part of previous commit
17586 affecting this file.
17587 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17588 (grub_normal_execute): ... here.
17589
e2e936b2
RM
175902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17591
17592 Merge prefix-redefinition-fix branch.
17593
17594 * normal/autofs.c (read_fs_list): Make function capable of being
17595 run multiple times, gracefuly replacing the previous data
17596 structures.
17597 * normal/dyncmd.c (read_command_list): Likewise.
17598 * normal/handler.c (read_handler_list): Likewise.
17599 * normal/main.c (read_lists): New function. Calls all the
17600 list reading functions.
17601 (grub_normal_execute): Use read_lists() instead of calling all
17602 list reading functions explicitly. Register read_lists() as a
17603 variable hook attached to ${prefix}.
17604
607a3701
VS
176052010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 Merge crypto branch.
17608
17609 * Makefile.in (pkglib_DATA): Add crypto.lst.
17610 (crypto.lst): New target.
17611 * commands/hashsum.c: New file.
17612 * commands/password.c (check_password): Use grub_crypto_memcmp.
17613 * commands/password_pbkdf2.c: New file.
17614 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17615 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17616 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17617 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17618 -I$(srcdir)/lib/libgcrypt_wrap.
17619 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17620 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17621 password_pbkdf2.mod.
17622 (crypto_mod_SOURCES): New variable.
17623 (crypto_mod_CFLAGS): Likewise.
17624 (crypto_mod_LDFLAGS): Likewise.
17625 (hashsum_mod_SOURCES): New variable.
17626 (hashsum_mod_CFLAGS): Likewise.
17627 (hashsum_mod_LDFLAGS): Likewise.
17628 (pbkdf2_mod_SOURCES): New variable.
17629 (pbkdf2_mod_CFLAGS): Likewise.
17630 (pbkdf2_mod_LDFLAGS): Likewise.
17631 (password_pbkdf2_mod_SOURCES): New variable.
17632 (password_pbkdf2_mod_CFLAGS): Likewise.
17633 (password_pbkdf2_mod_LDFLAGS): Likewise.
17634 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17635 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17636 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17637 Include conf/gcry.rmk.
17638 * include/grub/auth.h: Rewritten.
17639 * include/grub/crypto.h: New file.
17640 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17641 * include/grub/normal.h (read_crypto_list): New prototype.
17642 * lib/crypto.c: New file.
17643 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17644 * lib/pbkdf2.c: Likewise.
17645 * normal/auth.c (grub_auth_strcmp): Removed.
17646 (grub_iswordseparator): Likewise.
17647 (grub_auth_strword): Likewise.
17648 (is_authenticated): Use grub_strword.
17649 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17650 and grub_strword. Pass entered password to authentication callback.
17651 * normal/crypto.c: New file.
17652 * normal/main.c: Call read_crypto_list.
17653 * util/grub-mkpasswd-pbkdf2.c: New file.
17654 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17655
42841caa
VS
176562010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 Fix descent and ascent calculation.
17659
17660 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17661 (options): New option "asce".
17662 (usage): Likewise.
17663 (add_char): Ignore invalid glyphs for descent calculation.
17664 Calculate ascent from actual content.
17665 (print_glyphs): Use 'asce'.
17666 (write_font): Likewise. Allow ascent override.
17667 (main): Handle "asce" option.
17668
e7730de7 176692010-01-06 Carles Pina i Estany <carles@pina.cat>
17670
17671 * kern/err.c: Include `<grub/i18n.h>'.
17672 (grub_print_error): Add full stop. Gettextizze.
17673 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17674 (grub_bsd_load_elf): Capitalise ELF.
17675 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17676 (grub_cmd_freebsd_module): Likewise.
17677 (grub_cmd_freebsd_module_elf): Likewise.
17678 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17679
40e3a41f 176802010-01-06 Carles Pina i Estany <carles@pina.cat>
17681
17682 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17683 * commands/search_file.c (HELP_MESSAGE): New macro.
17684 * commands/search_label.c (HELP_MESSAGE): Likewise.
17685 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17686 * po/POTFILES: Add `commands/search_file.c',
17687 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17688 `commands/search.c'.
17689
83507e68
RM
176902010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17691
17692 * config.rpath: Update from Gnulib.
17693
465c787b
YB
176942010-01-05 Yves Blusseau <blusseau@zetam.org>
17695
17696 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17697
6581dd3a
YB
176982010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17699
17700 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17701
3bff18c5
CW
177022010-01-05 Colin Watson <cjwatson@ubuntu.com>
17703
17704 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17705 arguments to fread so that we get a return value in bytes, rather
17706 than something that will normally be rounded down to 0.
17707 Adjust error handling to avoid producing garbage when size_t is not
17708 the same size as long long.
17709
a1368118
CW
177102010-01-05 Colin Watson <cjwatson@ubuntu.com>
17711
17712 * util/mkisofs/write.c (padblock_write): Check return value of
17713 fread.
17714
7c302978
RM
177152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17716
17717 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17718 floppy images now.
17719
17720 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17721
e33ace06
RM
177222010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17723
17724 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17725 instead of manual alignment.
17726 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17727 verbose). Avoid attempts to read past end of the device
17728 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17729 but GRUB_DISK_CACHE_SIZE may exceed that).
17730
4b856776
RM
177312010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17732
17733 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17734 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17735 it to upper layer.
17736
52c2d97f
VS
177372010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17740 New constant.
17741 (grub_efi_piwg_device_path): New structure
17742 (grub_efi_piwg_device_path_t): New type.
17743 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17744 (devpath_1): Transform to a structure. All users updated.
17745 (devpath_2): Likewise.
17746 (devpath_3): Likewise.
17747 (devpath_4): Likewise.
17748 (devpath_5): Likewise.
17749
98ff6a54
VS
177502010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * loader/efi/appleloader.c: Restored. Update all users.
17753
3a73dcb6
RM
177542010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17755
17756 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17757
17758 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17759 (struct boot_blocklist): Move from here ...
17760 * include/grub/i386/pc/boot.h [ASM_FILE]
17761 (struct grub_boot_blocklist): ... to here. Update all users.
17762 (setup): Only initialize `start' member of `first_block'
17763 structure. Add assert() calls to verify the other members.
17764
17765 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17766 (generate_image): Fix broken blocklist length initialization.
17767 Add assert() call to verify blocklist `segment' field.
17768
ab0eeb0c
RM
177692010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17770
17771 * loader/efi/appleloader.c: Remove. Update all users.
17772
58bc8bd5
RM
177732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17774
17775 * boot/i386/pc/boot.S: Update copyright year.
17776 * boot/i386/pc/cdboot.S: Likewise.
17777 * boot/i386/pc/diskboot.S: Likewise.
17778 * boot/i386/pc/lnxboot.S: Likewise.
17779 * boot/i386/pc/pxeboot.S: Likewise.
17780 * bus/pci.c: Likewise.
17781 * commands/cmp.c: Likewise.
17782 * commands/help.c: Likewise.
17783 * commands/hexdump.c: Likewise.
17784 * commands/i386/pc/halt.c: Likewise.
17785 * commands/i386/pc/play.c: Likewise.
17786 * commands/i386/pc/vbeinfo.c: Likewise.
17787 * commands/ls.c: Likewise.
17788 * commands/test.c: Likewise.
17789 * disk/dmraid_nvidia.c: Likewise.
17790 * disk/i386/pc/biosdisk.c: Likewise.
17791 * disk/ieee1275/nand.c: Likewise.
17792 * disk/ieee1275/ofdisk.c: Likewise.
17793 * disk/lvm.c: Likewise.
17794 * disk/raid.c: Likewise.
17795 * disk/raid6_recover.c: Likewise.
17796 * disk/scsi.c: Likewise.
17797 * fs/affs.c: Likewise.
17798 * fs/cpio.c: Likewise.
17799 * fs/ext2.c: Likewise.
17800 * fs/hfs.c: Likewise.
17801 * fs/iso9660.c: Likewise.
17802 * fs/ntfs.c: Likewise.
17803 * fs/sfs.c: Likewise.
17804 * fs/udf.c: Likewise.
17805 * fs/ufs.c: Likewise.
17806 * fs/xfs.c: Likewise.
17807 * gencmdlist.sh: Likewise.
17808 * genmk.rb: Likewise.
17809 * include/grub/disk.h: Likewise.
17810 * include/grub/efi/api.h: Likewise.
17811 * include/grub/efi/efi.h: Likewise.
17812 * include/grub/efi/pe32.h: Likewise.
17813 * include/grub/elf.h: Likewise.
17814 * include/grub/fs.h: Likewise.
17815 * include/grub/i386/at_keyboard.h: Likewise.
17816 * include/grub/i386/pc/memory.h: Likewise.
17817 * include/grub/i386/pc/vbe.h: Likewise.
17818 * include/grub/i386/pci.h: Likewise.
17819 * include/grub/i386/tsc.h: Likewise.
17820 * include/grub/ieee1275/ieee1275.h: Likewise.
17821 * include/grub/ntfs.h: Likewise.
17822 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17823 * include/grub/sparc64/libgcc.h: Likewise.
17824 * include/grub/symbol.h: Likewise.
17825 * include/grub/types.h: Likewise.
17826 * include/multiboot2.h: Likewise.
17827 * io/gzio.c: Likewise.
17828 * kern/device.c: Likewise.
17829 * kern/disk.c: Likewise.
17830 * kern/efi/efi.c: Likewise.
17831 * kern/efi/mm.c: Likewise.
17832 * kern/elf.c: Likewise.
17833 * kern/file.c: Likewise.
17834 * kern/i386/dl.c: Likewise.
17835 * kern/i386/pc/init.c: Likewise.
17836 * kern/i386/pc/startup.S: Likewise.
17837 * kern/ieee1275/ieee1275.c: Likewise.
17838 * kern/ieee1275/init.c: Likewise.
17839 * kern/main.c: Likewise.
17840 * kern/mm.c: Likewise.
17841 * kern/powerpc/dl.c: Likewise.
17842 * kern/sparc64/dl.c: Likewise.
17843 * kern/x86_64/dl.c: Likewise.
17844 * lib/hexdump.c: Likewise.
17845 * loader/efi/appleloader.c: Likewise.
17846 * loader/i386/ieee1275/linux.c: Likewise.
17847 * loader/i386/pc/chainloader.c: Likewise.
17848 * loader/i386/pc/linux.c: Likewise.
17849 * loader/i386/pc/multiboot2.c: Likewise.
17850 * loader/ieee1275/multiboot2.c: Likewise.
17851 * loader/multiboot2.c: Likewise.
17852 * loader/multiboot_loader.c: Likewise.
17853 * loader/powerpc/ieee1275/linux.c: Likewise.
17854 * normal/completion.c: Likewise.
17855 * normal/menu_entry.c: Likewise.
17856 * partmap/apple.c: Likewise.
17857 * util/grub.d/10_hurd.in: Likewise.
17858 * util/hostfs.c: Likewise.
17859 * video/readers/png.c: Likewise.
17860
e2d70b5c
CW
178612010-01-03 Colin Watson <cjwatson@ubuntu.com>
17862
17863 * include/grub/misc.h (GNUC_PREREQ): New macro.
17864 (ATTRIBUTE_ERROR): New macro.
17865 * include/grub/list.h (grub_bad_type_cast_real): Use
17866 ATTRIBUTE_ERROR.
17867
a173283f 178682010-01-03 Carles Pina i Estany <carles@pina.cat>
17869
17870 * normal/menu_text.c (print_message): Change messages.
17871
7fa7ff74 178722010-01-03 Carles Pina i Estany <carles@pina.cat>
17873
17874 * normal/menu_entry.c (store_completion): Gettextizze.
17875
136d24f6 178762010-01-03 Carles Pina i Estany <carles@pina.cat>
17877
17878 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17879
f936862e 178802010-01-03 Carles Pina i Estany <carles@pina.cat>
17881
17882 * po/POTFILES: Sort correctly.
17883
29c44ad1 178842010-01-03 Carles Pina i Estany <carles@pina.cat>
17885
17886 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17887 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17888 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17889 full stop.
17890 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17891 summary. Gettextizze the strings.
17892 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17893 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17894 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17895 full stop.
17896 (GRUB_MOD_INIT): Remove command name from summary.
17897 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17898 summary.
17899 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17900 * term/i386/pc/serial.c (options): Add full stops.
17901 (GRUB_MOD_INIT): Remove command name from the summary.
17902
77a79592 179032010-01-03 Carles Pina i Estany <carles@pina.cat>
17904
17905 * commands/acpi.c: Gettextizze help strings and/or options. Include
17906 `grub/i18n.h' if needed.
17907 * commands/blocklist.c: Likewise.
17908 * commands/boot.c: Likewise.
17909 * commands/cat.c: Likewise.
17910 * commands/cmp.c: Likewise.
17911 * commands/configfile.c: Likewise.
17912 * commands/crc.c: Likewise.
17913 * commands/date.c: Likewise.
17914 * commands/echo.c: Likewise.
17915 * commands/efi/fixvideo.c: Likewise.
17916 * commands/efi/loadbios.c: Likewise.
17917 * commands/gptsync.c: Likewise.
17918 * commands/halt.c: Likewise.
17919 * commands/handler.c: Likewise.
17920 * commands/hdparm.c: Likewise.
17921 * commands/hexdump.c: Likewise.
17922 * commands/i386/cpuid.c: Likewise.
17923 * commands/i386/pc/drivemap.c: Likewise.
17924 * commands/i386/pc/halt.c: Likewise.
17925 * commands/i386/pc/pxecmd.c: Likewise.
17926 * commands/i386/pc/vbeinfo.c: Likewise.
17927 * commands/i386/pc/vbetest.c: Likewise.
17928 * commands/ieee1275/suspend.c: Likewise.
17929 * commands/keystatus.c: Likewise.
17930 * commands/loadenv.c: Likewise.
17931 * commands/ls.c: Likewise.
17932 * commands/lsmmap.c: Likewise.
17933 * commands/lspci.c: Likewise.
17934 * commands/memrw.c: Likewise.
17935 * commands/minicmd.c: Likewise.
17936 * commands/parttool.c: Likewise.
17937 * commands/password.c: Likewise.
17938 * commands/probe.c: Likewise.
17939 * commands/read.c: Likewise.
17940 * commands/reboot.c: Likewise.
17941 * commands/search.c: Likewise.
17942 * commands/sleep.c: Likewise.
17943 * commands/test.c: Likewise.
17944 * commands/true.c: Likewise.
17945 * commands/usbtest.c: Likewise.
17946 * commands/videotest.c: Likewise.
17947 * commands/xnu_uuid.c: Likewise.
17948 * disk/loopback.c: Likewise.
17949 * hello/hello.c: Likewise.
17950 * loader/i386/bsd.c: Likewise.
17951 * term/i386/pc/serial.c: Likewise.
17952 * po/POTFILES: Add new files.
17953
da8d5c53
CW
179542010-01-02 Colin Watson <cjwatson@ubuntu.com>
17955
17956 * term/i386/pc/at_keyboard.c
17957 (keyboard_controller_wait_untill_ready): Rename to ...
17958 (keyboard_controller_wait_until_ready): ... this. Update all users.
17959
33937904 179602010-01-01 Carles Pina i Estany <carles@pina.cat>
17961
17962 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17963 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17964 string using string width.
17965 * normal/menu_text.c (grub_print_message_indented): Use
17966 grub_print_spaces and not print_spaces.
17967 (print_timeout): Likewise.
17968 (print_spaces): Move to...
17969 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17970
3fd3b8d8
RM
179712010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17972
17973 Import from Gnulib.
17974
17975 * gnulib/getdelim.c: New file.
17976 * gnulib/getline.c: Likewise.
17977
33433555
VS
179782009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17979
17980 * include/grub/list.h (grub_assert_fail): Removed.
17981 (grub_bad_type_cast_real): New function.
17982 (grub_bad_type_cast): New macro.
17983 (GRUB_AS_LIST): Use grub_bad_type_cast.
17984 (GRUB_AS_LIST_P): Likewise.
e44721e8 17985 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17986 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17987 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17988 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17989 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17990
f5a51306
VS
179912009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17994 Fix syntax error.
17995
90d1e879
RM
179962009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17997
17998 * configure.ac: Check for TARGET_CFLAGS initialization before we
17999 initialize it ourselves (sigh).
18000 Move a few modifications to TARGET_CFLAGS to be unconditional
18001 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18002 eh_frame)
18003
18004 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18005 * term/i386/pc/at_keyboard.c
18006 (keyboard_controller_wait_untill_ready): Likewise.
18007 (keyboard_controller_led): Rename `led_status' paramter to avoid
18008 name conflict.
18009
465b5a81 180102009-12-28 Carles Pina i Estany <carles@pina.cat>
18011
18012 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18013 quotes.
18014
c181849b
VS
180152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18018
9c8739a4
VS
180192009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * normal/menu_text.c (grub_print_message_indented): Prevent
18022 past-the-end-of-array dereference.
18023
3e74249c
VS
180242009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18027 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18028
64fd18ed 180292009-12-27 Carles Pina i Estany <carles@pina.cat>
18030
18031 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18032 * normal/main.c (grub_normal_read_line): Remove a space from the
18033 default prompt.
18034
714af9b9 180352009-12-27 Carles Pina i Estany <carles@pina.cat>
18036
18037 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18038 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18039 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18040 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18041 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18042 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18043 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18044
82f3e412 180452009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18046
18047 * video/readers/jpeg.c (cmd): Declare.
18048 (grub_cmd_jpegtest): Use `grub_command_t' type.
18049 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18050 Assign to `cmd'.
18051 (GRUB_MOD_FINI): Use `cmd' to unregister.
18052 * video/readers/png.c (cmd): Declare.
18053 (grub_cmd_pngtest): Use `grub_command_t' type.
18054 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18055 Assign to `cmd'.
18056 (GRUB_MOD_FINI): Use `cmd' to unregister.
18057 * video/readers/tga.c (cmd): Declare.
18058 (grub_cmd_tgatest): Use `grub_command_t' type.
18059 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18060 Assign to `cmd'.
18061 (GRUB_MOD_FINI): Use `cmd' to unregister.
18062
82f3e412 180632009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18064
18065 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18066 stops.
18067 * kern/corecmd.c (grub_register_core_commands): Likewise.
18068 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18069 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18070 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18071 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18072 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18073 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18074 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18075 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18076 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18077 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18078 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18079 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18080 * normal/handler.c (insert_handler): Likewise.
18081 * normal/main.c (GRUB_MOD_INIT): Likewise.
18082 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18083
fdcdbb66 180842009-12-26 Carles Pina i Estany <carles@pina.cat>
18085
18086 * commands/help.c (grub_cmd_help): Print the command name before the
18087 summary.
18088 (GRUB_MOD_INIT): Remove command name from the summary.
18089 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18090 string as summary.
fdcdbb66 18091 * lib/arg.c (find_long): Print the command name before the summary.
18092 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18093 summary.
18094 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18095 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18096 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18097 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18098 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18099 * commands/date.c (GRUB_MOD_INIT): Likewise.
18100 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18101 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18102 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18103 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18104 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18105 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18106 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18107 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18108 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18109 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18110 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18111 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18112 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18113 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18114 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18115 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18116 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18117 * commands/password.c (GRUB_MOD_INIT): Likewise.
18118 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18119 * commands/read.c (GRUB_MOD_INIT): Likewise.
18120 * commands/search.c (GRUB_MOD_INIT): Likewise.
18121 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18122 * commands/test.c (GRUB_MOD_INIT): Likewise.
18123 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18124 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18125 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18126 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18127 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18128 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18129 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18130 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18131 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18132 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18133 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18134 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18135 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18136 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18137
9c288be2
VS
181382009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18139
18140 Use search command for preliminar UUID search.
18141
18142 * commands/search.c: Split into ...
18143 * commands/search_wrap.c: ...this
18144 * commands/search.c: ...and this.
18145 * commands/search_file.c: New file.
18146 * commands/search_label.c: New file.
18147 * commands/search_uuid.c: New file.
18148 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18149 Add commands/search_wrap.c, commands/search_file.c,
18150 commands/search_label.c and commands/search_uuid.c.
18151 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18152 (search_mod_SOURCES): Set to commands/search_wrap.c.
18153 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18154 search_label.mod.
18155 (search_fs_file_mod_SOURCES): New variable.
18156 (search_fs_file_mod_CFLAGS): Likewise.
18157 (search_fs_file_mod_LDFLAGS): Likewise.
18158 (search_label_mod_SOURCES): Likewise.
18159 (search_label_mod_CFLAGS): Likewise.
18160 (search_label_mod_LDFLAGS): Likewise.
18161 (search_fs_uuid_mod_SOURCES): New variable.
18162 (search_fs_uuid_mod_CFLAGS): Likewise.
18163 (search_fs_uuid_mod_LDFLAGS): Likewise.
18164 (fs_file_mod_SOURCES): Removed.
18165 (fs_file_mod_CFLAGS): Likewise.
18166 (fs_file_mod_LDFLAGS): Likewise.
18167 (fs_uuid_mod_SOURCES): Removed.
18168 (fs_uuid_mod_CFLAGS): Likewise.
18169 (fs_uuid_mod_LDFLAGS): Likewise.
18170 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18171 Set to util/grub-install.in.
18172 * disk/fs_file.c: Removed.
18173 * disk/fs_uuid.c: Likewise.
18174 * include/grub/search.h: New file.
18175 * util/grub-install.in: Handle sparc64.
18176 Create and use load.cfg.
18177 * util/sparc64/ieee1275/grub-install.in: Removed.
18178
db943399
VS
181792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18182 Ignore return status if CF is cleared.
18183 (grub_biosdisk_get_diskinfo_standard): Likewise.
18184
3fdae612
RM
181852009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18186
18187 * term/i386/pc/at_keyboard.c
18188 (keyboard_controller_wait_untill_ready): New function.
18189 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18190 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18191 for keyboard polling, rather than duplicate the same loop. This
18192 saves a few bytes in code size.
18193
7ebaa2b4
VS
181942009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 Support for (pxe[:server[:gateway]]) syntax and
18197 use environment variable for PXE.
18198
18199 * commands/i386/pc/pxecmd.c (options): Removed.
18200 (print_ip): Removed.
18201 (grub_cmd_pxe): Removed
18202 (grub_cmd_pxe_unload): New function.
18203 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18204 (grub_pxe_your_ip): Made static.
18205 (grub_pxe_default_server_ip): Likewise.
18206 (grub_pxe_default_gateway_ip): Likewise.
18207 (grub_pxe_blksize): Likewise.
18208 (parse_ip): New function.
18209 (grub_pxe_open): Support server and gateway specification.
18210 (grub_pxe_close): Free disk->data.
18211 (grub_pxefs_open): Use disk->data.
18212 (grub_pxefs_read): Likewise.
18213 (grub_env_write_readonly): New function.
18214 (set_mac_env): Likewise.
18215 (set_env_limn_ro): Likewise.
18216 (parse_dhcp_vendor): Likewise.
18217 (grub_pxe_detect): Set the environment variables.
18218 (set_ip_env): New function.
18219 (write_ip_env): Likewise.
18220 (grub_env_write_pxe_default_server): Likewise.
18221 (grub_env_write_pxe_default_gateway): Likewise.
18222 (grub_env_write_pxe_blocksize): Likewise.
18223 (GRUB_MOD_INIT(pxe)): Set environment variables.
18224 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18225 (grub_pxe_mac_addr_t): ... this. All users updated.
18226 (grub_pxe_your_ip): Removed.
18227 (grub_pxe_server_ip): Likewise.
18228 (grub_pxe_gateway_ip): Likewise.
18229 (grub_pxe_blksize): Likewise.
18230
ec5f98ab 182312009-12-25 Carles Pina i Estany <carles@pina.cat>
18232
18233 * commands/help.c: Include `<grub/i18n.h>'.
18234 (grub_cmd_help): Gettextizze.
18235 (GRUB_MOD_INIT): Likewise.
18236 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18237 (GRUB_MOD_INIT): Gettextizze.
18238 * commands/search.c: Include `<grub/i18n.h>'.
18239 (options): Gettextizze.
18240 (GRUB_MOD_INIT): Gettextizze.
18241 * lib/arg.c: Include `<grub/i18n.h>'.
18242 (help_options): Gettextizze.
18243 (find_long): Likewise.
18244 (grub_arg_show_help): Likewise.
18245 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18246 (read_command_list): Gettextizze.
18247 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18248 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18249
22815526
RM
182502009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18251
18252 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18253 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18254 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18255 (led_status): New variable.
18256 (keyboard_controller_led): New function.
18257 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18258 update led status for caps lock, num lock and scroll lock.
18259
0ad46fd7
FZ
182602009-12-25 Felix Zielcke <fzielcke@z-51.de>
18261
18262 * util/hostdisk.c (open_device): Fix a comment.
18263
d0e158c2
RM
182642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18265
18266 * util/grub-install.in (host_os): New variable.
18267 * util/i386/efi/grub-install.in (host_os): Likewise.
18268
401c0ad6
RM
182692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18270
18271 * util/mkisofs/write.c (padblock_write): Abort when given an
18272 excedingly large embed image, instead of silently truncating it.
18273
d14d3370
RM
182742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18275
18276 * include/multiboot.h: Indentation fixes.
18277
eeed10b4
RM
182782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18279
18280 * include/multiboot.h (struct multiboot_aout_symbol_table)
18281 (struct multiboot_elf_section_header_table): New structure
18282 declarations (stolen from GRUB Legacy).
18283 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18284 table information.
18285
18286 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18287 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18288 type aliases.
18289
681c70ab
RM
182902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18291
18292 * include/multiboot.h: Make comments src2texi-friendly.
18293
e4d47d8d
RM
182942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18295
18296 For consistency with [multiboot]/docs/boot.S.
18297
18298 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18299 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18300 (MULTIBOOT_MAGIC2): Rename from this ...
18301 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18302
a0b70bda
RM
183032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18304
18305 * include/multiboot.h: Remove `<grub/types.h>'.
18306 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18307 types. Update all users.
18308
61ba42be 183092009-12-25 Carles Pina i Estany <carles@pina.cat>
18310
18311 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18312 `couldn't' and `can not' by `cannot'.
18313 * commands/i386/pc/drivemap.c: Likewise.
18314 * disk/ata.c: Likewise.
18315 * disk/ieee1275/nand.c: Likewise.
18316 * fs/affs.c: Likewise.
18317 * fs/fat.c: Likewise.
18318 * fs/hfs.c: Likewise.
18319 * fs/hfsplus.c: Likewise.
18320 * fs/iso9660.c: Likewise.
18321 * fs/jfs.c: Likewise.
18322 * fs/minix.c: Likewise.
18323 * fs/reiserfs.c: Likewise.
18324 * fs/sfs.c: Likewise.
18325 * fs/udf.c: Likewise.
18326 * fs/ufs.c: Likewise.
18327 * fs/xfs.c: Likewise.
18328 * loader/powerpc/ieee1275/linux.c: Likewise.
18329 * loader/sparc64/ieee1275/linux.c: Likewise.
18330 * util/grub-probe.c: Likewise.
18331 * util/misc.c: Likewise.
18332
7fd0baee 183332009-12-24 Carles Pina i Estany <carles@pina.cat>
18334
18335 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18336 grub_errno calls.
18337 * commands/acpi.c: Likewise.
18338 * commands/blocklist.c: Likewise.
18339 * commands/efi/loadbios.c: Likewise.
18340 * commands/i386/pc/drivemap.c: Likewise.
18341 * commands/loadenv.c: Likewise.
18342 * commands/memrw.c: Likewise.
18343 * commands/password.c: Likewise.
18344 * commands/videotest.c: Likewise.
18345 * disk/ata.c: Likewise.
18346 * disk/ata_pthru.c: Likewise.
18347 * disk/dmraid_nvidia.c: Likewise.
18348 * disk/ieee1275/nand.c: Likewise.
18349 * disk/ieee1275/ofdisk.c: Likewise.
18350 * disk/loopback.c: Likewise.
18351 * disk/lvm.c: Likewise.
18352 * disk/mdraid_linux.c: Likewise.
18353 * disk/raid.c: Likewise.
18354 * disk/raid6_recover.c: Likewise.
18355 * disk/scsi.c: Likewise.
18356 * efiemu/main.c: Likewise.
18357 * efiemu/mm.c: Likewise.
18358 * efiemu/pnvram.c: Likewise.
18359 * efiemu/symbols.c: Likewise.
18360 * font/font.c: Likewise.
18361 * fs/cpio.c: Likewise.
18362 * fs/hfsplus.c: Likewise.
18363 * fs/iso9660.c: Likewise.
18364 * fs/jfs.c: Likewise.
18365 * fs/minix.c: Likewise.
18366 * fs/ntfs.c: Likewise.
18367 * fs/ntfscomp.c: Likewise.
18368 * fs/reiserfs.c: Likewise.
18369 * fs/ufs.c: Likewise.
18370 * fs/xfs.c: Likewise.
18371 * gettext/gettext.c: Likewise.
18372 * include/grub/auth.h: Likewise.
18373 * kern/elf.c: Likewise.
18374 * kern/file.c: Likewise.
18375 * kern/ieee1275/init.c: Likewise.
18376 * kern/ieee1275/mmap.c: Likewise.
18377 * kern/ieee1275/openfw.c: Likewise.
18378 * kern/powerpc/dl.c: Likewise.
18379 * kern/sparc64/dl.c: Likewise.
18380 * lib/arg.c: Likewise.
18381 * loader/i386/bsd.c: Likewise.
18382 * loader/i386/bsdXX.c: Likewise.
18383 * loader/i386/efi/linux.c: Likewise.
18384 * loader/i386/efi/xnu.c: Likewise.
18385 * loader/i386/ieee1275/linux.c: Likewise.
18386 * loader/i386/linux.c: Likewise.
18387 * loader/i386/multiboot.c: Likewise.
18388 * loader/i386/pc/linux.c: Likewise.
18389 * loader/i386/pc/multiboot2.c: Likewise.
18390 * loader/i386/xnu.c: Likewise.
18391 * loader/ieee1275/multiboot2.c: Likewise.
18392 * loader/macho.c: Likewise.
18393 * loader/machoXX.c: Likewise.
18394 * loader/multiboot2.c: Likewise.
18395 * loader/multiboot_loader.c: Likewise.
18396 * loader/powerpc/ieee1275/linux.c: Likewise.
18397 * loader/sparc64/ieee1275/linux.c: Likewise.
18398 * loader/xnu.c: Likewise.
18399 * loader/xnu_resume.c: Likewise.
18400 * mmap/i386/pc/mmap.c: Likewise.
18401 * normal/menu_viewer.c: Likewise.
18402 * partmap/acorn.c: Likewise.
18403 * partmap/amiga.c: Likewise.
18404 * partmap/apple.c: Likewise.
18405 * script/lexer.c: Likewise.
18406 * term/gfxterm.c: Likewise.
18407 * term/i386/pc/serial.c: Likewise.
18408 * term/i386/pc/vga.c: Likewise.
18409 * term/ieee1275/ofconsole.c: Likewise.
18410 * term/terminfo.c: Likewise.
18411 * video/bitmap.c: Likewise.
18412 * video/efi_gop.c: Likewise.
18413 * video/efi_uga.c: Likewise.
18414 * video/fb/video_fb.c: Likewise.
18415 * video/i386/pc/vbe.c: Likewise.
18416 * video/readers/tga.c: Likewise.
18417 * video/video.c: Likewise.
18418
0ad46fd7 184192009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18420
18421 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18422 * commands/lspci.c: Likewise.
18423 * commands/probe.c: Likewise.
18424 * commands/xnu_uuid.c: Likewise.
18425 * conf/i386-coreboot.rmk: Likewise.
18426 * conf/i386-efi.rmk: Likewise.
18427 * conf/i386-ieee1275.rmk: Likewise.
18428 * conf/i386-pc.rmk: Likewise.
18429 * conf/powerpc-ieee1275.rmk: Likewise.
18430 * conf/sparc64-ieee1275.rmk: Likewise.
18431 * conf/x86_64-efi.rmk: Likewise.
18432 * fs/i386/pc/pxe.c: Likewise.
18433 * gettext/gettext.c: Likewise.
18434 * include/grub/efi/graphics_output.h: Likewise.
18435 * include/grub/i386/pc/memory.h: Likewise.
18436 * kern/env.c: Likewise.
18437 * kern/i386/qemu/startup.S: Likewise.
18438 * lib/i386/pc/biosnum.c: Likewise.
18439 * lib/i386/relocator.c: Likewise.
18440 * lib/i386/relocator_asm.S: Likewise.
18441 * lib/relocator.c: Likewise.
18442 * loader/i386/bsd.c: Likewise.
18443 * loader/i386/multiboot.c: Likewise.
18444 * loader/i386/pc/chainloader.c: Likewise.
18445 * loader/i386/xnu.c: Likewise.
18446 * loader/xnu.c: Likewise.
18447 * normal/main.c: Likewise.
18448 * normal/menu_text.c: Likewise.
18449 * util/getroot.c: Likewise.
18450 * util/grub-mkconfig_lib.in: Likewise.
18451 * util/grub.d/00_header.in: Likewise.
18452 * util/i386/pc/grub-mkimage.c: Likewise.
18453 * util/mkisofs/eltorito.c: Likewise.
18454 * util/mkisofs/exclude.h: Likewise.
18455 * util/mkisofs/hash.c: Likewise.
18456 * util/mkisofs/iso9660.h: Likewise.
18457 * util/mkisofs/joliet.c: Likewise.
18458 * util/mkisofs/mkisofs.c: Likewise.
18459 * util/mkisofs/mkisofs.h: Likewise.
18460 * util/mkisofs/multi.c: Likewise.
18461 * util/mkisofs/name.c: Likewise.
18462 * util/mkisofs/rock.c: Likewise.
18463 * util/mkisofs/tree.c: Likewise.
18464 * util/mkisofs/write.c: Likewise.
18465 * video/efi_gop.c: Likewise.
18466
009ec743
VS
184672009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18468
18469 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18470 size counting.
18471
0ad46fd7 184722009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18473
18474 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18475 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18476
d3d30ea0
VS
184772009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18480 (GRUB_MOD_INIT(memrw)): Update help line.
18481
a34f5c70
VS
184822009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18485 Use grub_extcmd_t. All users updated.
18486 (options): New variable.
18487 (grub_cmd_read): Restructure for readability. Support "-v" option.
18488 (grub_cmd_write): Restructure for readability.
18489
0ad46fd7 184902009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18491
18492 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18493
0ad46fd7 184942009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18495
18496 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18497 with the actual contents of the correspondending make variable.
18498 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18499 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18500 specifying `*.lst' and `efiemu??.o'
18501
0ad46fd7 185022009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18503
18504 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18505 after function name.
18506 Noticed by Rene Engelhard <rene@debian.org>.
18507
dc77a799
VS
185082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18511 (options): New variable.
18512 (iospace): Likewise.
18513 (grub_lspci_iter): List IO spaces if "-i" was given.
18514 (grub_cmd_lspci): Parse options.
18515 (GRUB_MOD_INIT(lspci)): Use extcmd.
18516 (GRUB_MOD_FINI(lspci)): Likewise.
18517
0ad46fd7 185182009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18519
18520 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18521 `function' keyword.
18522 Patch by Tony Mancill <tmancill@debian.org>.
18523
b5d5993b
VS
185242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18527 (grub_uhci_portstatus): Likewise.
18528 (grub_uhci_portstatus): Add necessary delay.
11d18281 18529 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18530
941903f2 185312009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18532
941903f2 18533 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18534 (GRUB_MOD_INIT): Likewise.
18535 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18536 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18537 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18538 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18539 (enable_rom_area): Likewise.
18540 (GRUB_MOD_INIT): Likewise.
18541 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18542 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18543 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18544 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18545 * commands/hexdump.c (options): Likewise.
18546 * commands/i386/cpuid.c (options): Likewise.
18547 (GRUB_MOD_INIT): Likewise.
18548 * commands/i386/pc/drivemap.c (options): Likewise.
18549 (GRUB_MOD_INIT): Likewise.
18550 * commands/i386/pc/halt (options): Likewise.
18551 (GRUB_MOD_INIT): Likewise.
18552 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18553 * commands/i386/pc/pxecmd.c (options): Likewise.
18554 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18555 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18556 * commands/keystatus.c (options): Likewise.
18557 (GRUB_MOD_INIT): Likewise.
18558 * commands/loadenv.c (options): Likewise.
18559 * commands/ls.c (options): Likewise.
18560 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18561 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18562 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18563 * commands/parttool.c (helpmsg): Likewise.
18564 * commands/probe.c (options): Likewise.
18565 * commands/read.c (GRUB_MOD_INIT): Likewise.
18566 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18567 * commands/search.c (options): Likewise.
18568 * commands/sleep.c (options): Likewise.
18569 * commands/test.c (GRUB_MOD_INIT): Likewise.
18570 * commands/true.c (GRUB_MOD_INIT): Likewise.
18571 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18572 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18573 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18574 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18575 `$(XGETTEXT)'.
98a50553 18576 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18577
0ad46fd7 185782009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18579
ef3c2c3a 18580 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18581 instead of specifying them explicit.
18582
7922f68b
RM
185832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18584
18585 * NEWS: Add grub-probe support for GNU/Hurd.
18586
537ce47f
RM
185872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18588
18589 * NEWS: gettext was added after 1.97.
18590
9b214e3a
RM
185912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18592
18593 * util/mkisofs/msdos_partition.h: New file (based on
18594 include/grub/msdos_partition.h).
18595 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18596 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18597 (ld_options, main): Recognize --protective-msdos-label.
18598 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18599 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18600 (padblock_write): If `use_protective_msdos_label' is set, patch a
18601 protective DOS-style label in the output image.
18602
18603 * util/grub-mkrescue.in: Use --protective-msdos-label.
18604
e9309813
RM
186052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18606
18607 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18608 boot.
18609
0ae56929
RM
186102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18611
18612 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18613 variables.
18614 (ld_options, main): Recognize `--embedded-boot'.
18615 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18616 declarations.
18617 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18618 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18619 (padblock_write): Likewise. Rewrite to support embedded boot image.
18620
18621 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18622 for BIOS-based disk boot instead of only ElTorito.
18623
b15937b1
RM
186242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18625
18626 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18627 build (not needed for bootstrap).
18628
52cc3ce0
RM
186292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18630
18631 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18632 from i386-pc build (not needed for bootstrap).
18633 Rewrite a pair of strings.
18634
36f5ff04
RM
186352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18636
18637 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18638
973c6c85 186392009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18640
18641 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18642
05d21547
AB
186432009-12-21 Andreas Born <futur.andy@googlemail.com>
18644
18645 * kern/env.c (grub_env_context_open): Mark exported variable for
18646 reexport.
18647
0175d51f
AB
186482009-12-21 Andreas Born <futur.andy@googlemail.com>
18649
18650 * kern/env.c (grub_env_export): Create nonexistent variables before
18651 exporting.
18652
7f39d92f 186532009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18654
7f39d92f 18655 * include/grub/auth.h: Include `<grub/i18n.h>'.
18656 (GRUB_GET_PASSWORD): Gettextizze string.
18657 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18658 menu_text.c.
18659 (grub_utf8_to_ucs4_alloc): Fix indentation.
18660 (grub_print_ucs4): Likewise.
18661 (grub_getstringwidth): Likewise.
18662 (print_message_indented): New declaration.
18663 * normal/auth.c: Include `<grub/i18n.h>'.
18664 (grub_auth_check_authentication): Gettexttize string.
18665 * normal/cmdline.c: Include `<grub/i18n.h>'.
18666 (grub_cmdline_get): Gettextizze.
18667 * normal/color.c: Include `<grub/i18n.h>'.
18668 (grub_parse_color_name_pair): Gettexttize strings.
18669 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18670 string (use `print_message_indented').
18671 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18672 `include/grub/normal.h'.
18673 (print_message_indented): Renamed to ...
18674 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18675 used in normal/main.c).
18676 (print_message): Use `grub_print_message_indented' instead of
18677 `print_message_indented'.
18678 (print_timeout): Likewise.
18679 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18680 (grub_normal_print_device_info): Gettexttize strings.
18681 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18682
3041d898
VS
186832009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18686 of arguments. Return number of tokens and not arguments. All users
18687 updated.
18688
de15bf8e
VS
186892009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18692 non-MSDOS paritions.
18693
e0a6ca52
VS
186942009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * include/grub/types.h (UNUSED): Removed since it conflicts with
18697 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18698 Reported by Grégoire Sutre.
18699
b99518d1 187002009-12-19 Carles Pina i Estany <carles@pina.cat>
18701
18702 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18703 (grub_print_ucs4_alloc): Likewise.
18704 (grub_getstringwidth): Likewise.
18705 * normal/main.c (grub_normal_init_page): Gettextize version string.
18706 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18707 (getstringwidth): Renamed to ...
18708 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18709 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18710 (grub_print_ucs4): Remove `static' qualifer (now used in
18711 normal/main.c).
18712 * po/POTFILES: Add normal/main.c.
18713
bfd5e52b 187142009-12-19 Carles Pina i Estany <carles@pina.cat>
18715
18716 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18717 (print_message_indented): Add `margin_left' and `margin_right'
18718 parameters.
18719 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18720 strings.
18721 (print_timeout): Use `print_message_indented' to print the message.
18722 Deletes `second_stage' parameter.
18723 (run_menu): Update `print_timeout' calls.
18724
5a1ad2b9
VS
187252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18726
18727 Fix console palette on OpenFirmware.
18728
18729 * term/ieee1275/ofconsole.c (MAX): Removed.
18730 (colors): Redone based on VGA palette.
18731 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18732 colors are supported.
18733 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18734
b045f00a
VS
187352009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 Fix potential EfiEmu double prepare.
18738
18739 * efiemu/main.c (prepared): New variable
18740 (grub_efiemu_unload): Set prepare to '0'.
18741 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18742
18743 set_virtual_address_map support.
18744
18745 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18746 prototype.
18747 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18748 prototype.
18749 (grub_efiemu_crc32): Likewise.
18750 (grub_efiemu_crc64): Likewise.
18751 (grub_efiemu_set_virtual_address_map): Likewise.
18752 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18753 New definition.
18754 (grub_autoefi_set_virtual_address_map): Likewise.
18755 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18756 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18757 Restructure flow to accomodate it.
18758 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18759 (grub_efiemu_crc): Recompute CRC32.
18760 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18761 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18762 * efiemu/symbols.c (relocated_handle): New variable.
18763 (grub_efiemu_free_syms): Free relocated_handle.
18764 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18765 (grub_efiemu_write_sym_markers): New function.
18766 (grub_efiemu_set_virtual_address_map): Likewise.
18767
18768 Newer XNU parameters.
18769
18770 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18771 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18772 (grub_xnu_fill_devicetree): New prototype.
18773 (grub_xnu_heap_real_start): New variable.
18774 * loader/xnu.c (get_name_ptr): New function.
18775 (grub_xnu_load_driver): Fill namelen and name.
18776
18777 64-bit xnu support.
18778
18779 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18780 and 'loader/macho64.c'.
18781 * conf/i386-pc.rmk: Likewise.
18782 * conf/x86_64-efi.rmk: Likewise.
18783 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18784 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18785 * include/grub/macho.h (grub_macho_segment64): New structure.
18786 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18787 (grub_macho_size32): ... to this.
18788 (grub_macho32_get_entry_point): Renamed from ...
18789 (grub_macho_get_entry_point32): ... to this.
18790 (grub_macho_contains_macho64): New prototype.
18791 (grub_macho_size64): Likewise.
18792 (grub_macho_get_entry_point64): Likewise.
18793 (grub_macho32_load): Renamed from ...
18794 (grub_macho_load32): ... to this.
18795 (grub_macho32_filesize): Renamed from ...
18796 (grub_macho_filesize32): ... to this.
18797 (grub_macho32_readfile): Renamed from ...
18798 (grub_macho_readfile32): ... to this.
18799 (grub_macho_filesize64): New prototype.
18800 (grub_macho_readfile64): Likewise.
18801 (grub_macho_parse32): Likewise.
18802 (grub_macho_parse64): Likewise.
18803 * loader/macho.c: Split into ...
18804 * loader/machoXX.c: ... and this. Replace 32 with XX.
18805 * loader/macho32.c: New file.
18806 * loader/macho64.c: Likewise.
18807 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18808 (grub_cmd_xnu_kernel): Make 32-bit only.
18809 (grub_cmd_xnu_kernel64): New function.
18810 (grub_xnu_load_driver): Support Mach-O 64.
18811 (grub_cmd_xnu_mkext): Likewise.
18812 * util/grub.d/30_os-prober.in (osx_entry): New function.
18813 Generate entries for 64-bit boot too.
18814
18815 Eliminate ad-hoc tree format in XNU and EfiEmu.
18816
18817 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18818 * efiemu/pnvram.c: Rewritten to use environment variables.
18819 All users updated.
18820
18821 Inline utf16_to_utf8.
18822
18823 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18824 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18825 All users updated.
18826 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18827
18828 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18829 * commands/usbtest.c (grub_usb_get_string): ... move here.
18830 (usb_print_str): Fix error handling.
18831 * include/grub/usb.h (grub_usb_get_string): Remove.
18832
18833 UTF-8 to UTF-16 transformation.
18834
18835 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18836 (charset_mod_SOURCES): New variable.
18837 (charset_mod_CFLAGS): Likewise.
18838 (charset_mod_LDFLAGS): Likewise.
18839 * include/grub/utf.h: New file.
18840 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18841
18842 Support for device properties.
18843
18844 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18845 (grub_xnu_devprop_device_header): Likewise.
18846 (grub_xnu_devprop_device_descriptor): Likewise.
18847 (grub_xnu_devprop_add_device): New prototype.
18848 (grub_xnu_devprop_remove_device): Likewise.
18849 (grub_xnu_devprop_remove_property): Likewise.
18850 (grub_xnu_devprop_add_property_utf8): Likewise.
18851 (grub_xnu_devprop_add_property_utf16): Likewise.
18852 (grub_cpu_xnu_init): Likewise.
18853 (grub_cpu_xnu_fini): Likewise.
18854 (grub_cpu_xnu_unload): Likewise.
18855 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18856 (property_descriptor): Likewise.
18857 (devices): New variable.
18858 (grub_xnu_devprop_remove_property): New function.
18859 (grub_xnu_devprop_add_device): Likewise.
18860 (grub_xnu_devprop_remove_device): Likewise.
18861 (grub_xnu_devprop_add_property): Likewise.
18862 (grub_xnu_devprop_add_property_utf8): Likewise.
18863 (grub_xnu_devprop_add_property_utf16): Likewise.
18864 (hextoval): Likewise.
18865 (grub_cpu_xnu_fill_devprop): Likewise.
18866 (grub_cmd_devprop_load): Likewise.
18867 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18868 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18869 (cmd_devprop_load): New variable.
18870 (grub_cpu_xnu_init): New function.
18871 (grub_cpu_xnu_fini): Likewise.
18872 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18873 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18874 (grub_cmd_xnu_devtree): Likewise.
18875 (hextoval): New function.
18876 (unescape): Likewise.
18877 (grub_xnu_fill_devicetree): Likewise.
18878
18879 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18880 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18881
0945f181
VS
188822009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 Workaround for broken ATI VBE.
18885
18886 * video/i386/pc/vbe.c (last_set_mode): New variable.
18887 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18888 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18889 (grub_video_vbe_setup): Don't check for reserved flag.
18890
0ad46fd7 188912009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18892
18893 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18894 the `find' command.
18895
c179ebe4
VS
188962009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 UUID support for HFS.
18899
18900 * fs/hfs.c (grub_hfs_uuid): New function.
18901 (grub_hfs_fs): New value .uuid.
18902 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18903
0ad46fd7 189042009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18905
18906 Fix a segfault with parsing unknown long options.
18907
18908 * util/grub-mkrelpath.c (options): Zero terminate it.
18909
c4a3e41a
CPE
189102009-12-13 Carles Pina i Estany <carles@pina.cat>
18911
18912 * include/grub/misc.h (grub_puts): New declaration.
18913 (grub_puts_): Likewise.
a22008a6 18914 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18915 (grub_puts_): Likewise.
18916
2e8a7602
RM
189172009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18918
18919 * util/grub-probe.c (probe): Improve error message.
18920
b50b77b9
RM
189212009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18922
18923 * loader/i386/multiboot_elfxx.c
18924 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18925 initialization.
18926
189272009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 Relocator framework
18930
18931 * loader/i386/xnu_helper.S: Removed. All users updated.
18932 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18933 (relocator_mod_SOURCES): New variable.
18934 (relocator_mod_CFLAGS): Likewise.
18935 (relocator_mod_LDFLAGS): Likewise.
18936 (relocator_mod_ASFLAGS): Likewise.
18937 * conf/x86_64.rmk: Likewise.
18938 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18939 (grub_multiboot_payload_entry_offset): Likewise.
18940 (grub_multiboot_forward_relocator): Likewise.
18941 (grub_multiboot_forward_relocator_end): Likewise.
18942 (grub_multiboot_backward_relocator): Likewise.
18943 (grub_multiboot_backward_relocator_end): Likewise.
18944 (grub_multiboot_payload_eip): New variable.
18945 (grub_multiboot_payload_orig): Likewise.
18946 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18947 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18948 * include/grub/i386/memory.h
18949 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18950 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18951 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18952 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18953 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18954 * include/grub/i386/relocator.h: New file.
18955 * include/grub/x86_64/relocator.h: Likewise.
18956 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18957 (XNU_RELOCATOR): New macro.
18958 (grub_xnu_launcher_start): Remove.
18959 (grub_xnu_launcher_end): Likewise.
18960 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18961 (grub_xnu_heap_real_start): Remove.
18962 (grub_xnu_heap_start): Change to void *. All users updated.
18963 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18964 * lib/i386/relocator.c: New file.
18965 * lib/i386/relocator_asm.S: Likewise.
18966 * lib/i386/relocator_backward.S: Likewise.
18967 * lib/mips/relocator.c: Likewise.
18968 * lib/mips/relocator_asm.S: Likewise.
18969 * lib/relocator.c: Likewise.
18970 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18971 (entry): Removed.
18972 (playground): Likewise.
18973 (grub_multiboot_payload_orig): New variable.
18974 (grub_multiboot_payload_dest): Likewise.
18975 (grub_multiboot_payload_size): Likewise.
18976 (grub_multiboot_payload_eip): Likewise.
18977 (grub_multiboot_payload_esp): Likewise.
18978 (grub_multiboot_boot): Use grub_relocator32_boot.
18979 (grub_multiboot_unload): Free relocators.
18980 (grub_multiboot): Setup stack. Use relocators.
18981 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18982 (grub_multiboot_load_elfXX): Use relocators.
18983 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18984 (grub_multiboot_payload_size): Likewise.
18985 (grub_multiboot_payload_dest): Likewise.
18986 (grub_multiboot_payload_entry_offset): Likewise.
18987 (grub_multiboot_forward_relocator): Likewise.
18988 (grub_multiboot_backward_relocator): Likewise.
18989 (grub_multiboot_real_boot): Likewise.
18990 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18991 (grub_xnu_entry_point): Likewise.
18992 (grub_xnu_arg1): Likewise.
18993 (grub_xnu_stack): Likewise.
18994 (grub_xnu_launch): Removed.
18995 (grub_xnu_boot_resume): New function.
18996 (grub_xnu_boot): Use relocators.
18997 * loader/i386/xnu_helper.S: Removed.
18998 * loader/xnu.c (grub_xnu_heap_start): New variable.
18999 (grub_xnu_heap_size): Likewise.
19000 (grub_xnu_heap_malloc): Use relocators.
19001 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19002
29eb90c6
VS
190032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19006 anything.
19007
31027430
CPE
190082009-12-13 Carles Pina i Estany <carles@pina.cat>
19009
19010 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19011 GRUB_ERR_NONE before calling grub_env_set.
19012
dc0c71d9
RM
190132009-12-12 Robert Millan <rmh@aybabtu.com>
19014
19015 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19016 * genmk.rb (video): New variable.
19017 (CLEANFILES, VIDEOFILES): Add #{video}.
19018 (#{video}): New target rule.
19019 * genvideolist.sh: New file.
19020 * Makefile.in (pkglib_DATA): Add video.lst.
19021 (video.lst): New target rule.
19022 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19023 `video.lst'.
19024 * util/grub.d/30_os-prober.in: Replace `vbe' with
19025 ${GRUB_VIDEO_BACKEND}.
19026
2a4bfcf0
RM
190272009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19028
19029 * THANKS: Add David Miller.
19030
2a3aa4d5
RM
190312009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 libpciaccess support.
19034
19035 * Makefile.in (LIBPCIACCESS): New variable.
19036 (enable_grub_emu_pci): Likewise.
19037 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19038 util/pci.c and commands/lspci.c.
19039 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19040 * configure.ac (grub-emu-pci): New option.
19041 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19042 (grub_pci_device_unmap_range): Likewise.
19043 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19044 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19045 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19046 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19047 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19048 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19049 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19050 * include/grub/pciutils.h: New file.
19051 * util/pci.c: Likewise.
19052
0ad46fd7 190532009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19054
19055 * util/misc.c: Don't include <errno.h> twice.
19056
0ad46fd7 190572009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19058
19059 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19060 name in an error message.
19061 (grub_biosdisk_rw): Likewise.
19062
2e59983c
VS
190632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 Eliminate NTFS 4Gib barrier.
19066
19067 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19068 (read_run_data): Likewise.
19069 (grub_ntfs_read_run_list): Likewise.
19070 (grub_ntfs_read_block): Likewise.
19071 (grub_ntfs_iterate_dir): Likewise.
19072 (read_mft): Likewise.
19073 (read_data): Likewise.
19074 Use COM_LOG_LEN.
19075 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19076 to avoid 64-bit division
19077 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19078 (grub_ntfs_rlst): Use grub_disk_addr_t.
19079
71ee178a
VS
190802009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 Eliminate grub-fstest 4Gib barrier.
19083
19084 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19085 (read_file): Fix error reporting.
19086
2520d4b8
VS
190872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 Eliminate hexdump 4Gib barrier.
19090
19091 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19092 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19093
e1f27065
VS
190942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19097 Fixes amarsh bug.
19098
1a0f7f45
RM
190992009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19100
19101 Remove miscellaneous files in distclean target.
19102
19103 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19104
c631d9fb
CW
191052009-12-09 Colin Watson <cjwatson@ubuntu.com>
19106
19107 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19108 if they're already set. This resolves the conflict between my
19109 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19110 fixing the --grub-probe option again.
19111 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19112 change on 2009-10-06, so that we now once again source
19113 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19114
7c7b6106
RM
191152009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19116
19117 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19118 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19119 `util/devicemap.c'.
19120
e3069ec1
CPE
191212009-12-08 Carles Pina i Estany <carles@pina.cat>
19122
19123 * include/grub/misc.h (grub_printf_): New declaration.
19124 * kern/misc.c (grub_printf_): New definition.
19125 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19126 instead of `grub_printf' and `_'.
19127 * normal/menu_entry.c (store_completion): Likewise.
19128 (run): Likewise.
19129 (grub_menu_entry_run): Likewise.
19130 * normal/menu_text.c (grub_wait_after_message): Likewise.
19131 (notify_booting): Likewise.
19132 (notify_fallback): Likewise.
19133 (notify_execution_failure): Likewise.
19134
d6ceebf1
CW
191352009-12-07 Colin Watson <cjwatson@ubuntu.com>
19136
19137 * configure.ac: Check for vasprintf.
19138 * util/misc.c (asprintf): Move allocation from here ...
19139 (vasprintf): ... to here. New function.
19140 (xasprintf): New function.
19141 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19142 prototypes.
19143 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19144 * util/grub-mkfont.c (write_font): Likewise.
19145 * util/grub-probe.c (probe): Likewise.
19146 * util/hostdisk.c (make_device_name): Likewise.
19147
de6daa8b
DM
191482009-12-06 David S. Miller <davem@sunset.davemloft.net>
19149
19150 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19151 anything even prefixed with 'cdrom' as a cdrom.
19152
0ad46fd7 191532009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19154
19155 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19156 mount points.
19157
98d3dc02
CPE
191582009-12-05 Carles Pina i Estany <carles@pina.cat>
19159
19160 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19161 grub_gettext_msg_list.
19162 (grub_gettext_gettranslation_from_position): Return const char *
19163 and not char *.
a2c1332b 19164 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19165 returns from the list if existing there.
19166 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19167 (grub_gettext_delete_list): Delete the list.
19168 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19169 lang environment variable is changed.
19170 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19171
b283f108
VS
191722009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 Rename kernel.mod to kernel.img.
19175
19176 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19177 (kernel_mod_EXPORTS): Rename to ...
19178 (kernel_img_EXPORTS): ... this.
19179 (kernel_mod_SOURCES): Rename to ...
19180 (kernel_img_SOURCES): ... this.
19181 (kernel_mod_HEADERS): Rename to ...
19182 (kernel_img_HEADERS): ... this. All users updated.
19183 (kernel_mod_CFLAGS): Rename to ...
19184 (kernel_img_CFLAGS): ... this.
19185 (kernel_mod_ASFLAGS): Rename to ...
19186 (kernel_img_ASFLAGS): ... this.
19187 (kernel_mod_LDFLAGS): Rename to ...
19188 (kernel_img_LDFLAGS): ... this.
19189 * conf/x86_64-efi.rmk: Likewise.
19190 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19191 (read_kernel_image): ... this. All users updated.
19192 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19193
69055f8a
CPE
191942009-12-05 Carles Pina i Estany <carles@pina.cat>
19195
19196 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19197 (print_spaces): New function.
19198 (grub_print_ucs4): New function.
19199 (getstringwidth): New function.
19200 (print_message_indented): New function.
19201 (print_message): Gettexttize strings using print_message_indented.
19202 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19203 width.
19204 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19205 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19206 Gettextize.
19207 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19208 string.
19209 (run): Likewise.
19210 (grub_menu_entry_run): Likewise.
19211 * PO/POTFILES: Add normal/menu_entry.c.
19212
f616f51c
VS
192132009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19216
57bbe3be
CPE
192172009-12-05 Carles Pina i Estany <carles@pina.cat>
19218
19219 * util/grub-install.in: Install gettext .mo files.
19220 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19221
013d67a1
CPE
192222009-12-05 Carles Pina i Estany <carles@pina.cat>
19223
19224 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19225 grub_dprintf.
19226
fb954db0
RM
192272009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19228
19229 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19230 non-firmware-dependant one in realmode.S takes precedence.
19231
6b8474f8
RM
192322009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19233
19234 * commands/halt.c: Replace misc arch-specific headers with
19235 `<grub/misc.h>'.
19236 * commands/reboot.c: Likewise.
19237 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19238 `<grub/misc.h>'.
19239 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19240 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19241 (kernel_img_SOURCES): ... to here.
19242
19243 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19244 * include/grub/i386/pc/init.h: Likewise.
19245 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19246 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19247
19248 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19249
19250 * include/grub/i386/halt.h: Remove.
19251 * include/grub/i386/reboot.h: Likewise.
19252
19253 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19254
4b2e6ca2
DM
192552009-12-03 David S. Miller <davem@sunset.davemloft.net>
19256
19257 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19258 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19259 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19260 "progname.h"
19261 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19262 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19263 (usage): Add missing comma in printf.
19264
5239348f
RM
192652009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19266
19267 Use the same reboot approach on i386 coreboot and qemu as we do on
19268 BIOS.
19269
19270 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19271 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19272 * kern/i386/reboot.c: Remove.
19273 * include/grub/i386/reboot.h (grub_reboot): Export function.
19274 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19275 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19276 0xf000:0xfff0 instead of 0xffff:0x0000.
19277 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19278 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19279
ef34cbd4
RM
192802009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19281
19282 Fix $srcdir != $objdir build.
19283
19284 * Makefile.in (po/%.po): Rewrite as ...
19285 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19286
dc9837ea
ST
192872009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19288
19289 Fix GNU/Hurd grub-install crash.
19290 * util/grub-probe.c (probe): Try to access `path' only when it is not
19291 NULL.
19292
2f857f98
VS
192932009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 Correct module naming.
19296
19297 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19298 (GRUB_MOD_INIT(efi_uga)): ... to this
19299 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19300 (GRUB_MOD_FINI(efi_uga)): ... to this
19301 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19302 (GRUB_MOD_INIT(efi_gop)): ... to this
19303 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19304 (GRUB_MOD_FINI(efi_gop)): ... to this
19305
c5448046
RM
193062009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19307
19308 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19309 translatable.
19310 (usage): Translate `arg' strings using gettext().
19311 Thanks to Jordi Mallach for the suggestion.
19312
c85184ad
VS
193132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 GOP support. Based on patch from Bean
19316 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19317
19318 * video/efi_gop.c: New file.
19319 * include/grub/efi/graphics_output.h: Likewise.
19320 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19321 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19322 variables.
19323 * conf/x86_64-efi.rmk: Likewise.
19324
8a4c48d8
VS
193252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 Rename efi_fb to efi_uga.
19328
19329 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19330 'efi_uga.mod'.
19331 (efi_fb_mod_SOURCES): Rename this ...
19332 (efi_uga_mod_SOURCES): ... to this.
19333 (efi_fb_mod_CFLAGS): Rename this ...
19334 (efi_uga_mod_CFLAGS): ... to this.
19335 (efi_fb_mod_LDFLAGS): Rename this ...
19336 (efi_uga_mod_LDFLAGS): ... to this.
19337 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19338 'efi_uga.mod'.
19339 (efi_fb_mod_SOURCES): Rename this ...
19340 (efi_uga_mod_SOURCES): ... to this.
19341 (efi_fb_mod_CFLAGS): Rename this ...
19342 (efi_uga_mod_CFLAGS): ... to this.
19343 (efi_fb_mod_LDFLAGS): Rename this ...
19344 (efi_uga_mod_LDFLAGS): ... to this.
19345 * video/efi_fb.c: Move this ...
19346 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19347
fb6c1a7b
RM
193482009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19349
19350 * po/README: New file. Explain our PO file workflow.
19351
3bc7896c
RM
193522009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19353
19354 * po/ChangeLog: Remove. Move relevant entries back to ...
19355 * ChangeLog: ... here.
19356 * po/ca.po: Remove (now handled by TLP).
19357 * po/id.po: Likewise.
19358 * po/zh_CN.po: Likewise.
19359 * Makefile.in (LINGUAS): Initialize in a way that supports
19360 empty set.
19361
9ed4841d
RM
193622009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19363
19364 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19365 reliing on po/LINGUAS.
19366 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19367 (po/%.po): ... this.
19368
0ad46fd7 193692009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19370
19371 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19372 (main): Use `program_name' instead of nonexistent `progname'.
19373
e30dd392
FZ
193742009-11-26 Felix Zielcke <fzielcke@z-51.de>
19375
19376 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19377 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19378
7656de4f
RM
193792009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19380
19381 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19382 commit.
19383 * conf/i386-efi.rmk: Likewise.
19384 * conf/i386-ieee1275.rmk: Likewise.
19385 * conf/powerpc-ieee1275.rmk: Likewise.
19386 * conf/sparc64-ieee1275.rmk: Likewise.
19387 * conf/x86_64-efi.rmk: Likewise.
19388
db77c4d4
FZ
193892009-11-26 Felix Zielcke <fzielcke@z-51.de>
19390
19391 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19392
a755bb04
FZ
193932009-11-26 Felix Zielcke <fzielcke@z-51.de>
19394
19395 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19396
8a4c07fd
RM
193972009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19398
19399 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19400 (grub_mkdevicemap_SOURCES): New variable.
19401 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19402 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19403 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19404 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19405 (grub_mkdevicemap_SOURCES): Remove.
19406 * conf/i386-efi.rmk: Likewise.
19407 * conf/i386-ieee1275.rmk: Likewise.
19408 * conf/i386-pc.rmk: Likewise.
19409 * conf/powerpc-ieee1275.rmk: Likewise.
19410 * conf/sparc64-ieee1275.rmk: Likewise.
19411 * conf/x86_64-efi.rmk: Likewise.
19412 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19413 (usage): Fix strings to use `program_name'.
19414 (main): Initialize gettext.
19415 * util/grub-editenv.c: Likewise.
19416 * util/grub-emu.c: Likewise.
19417 * util/grub-fstest.c: Likewise.
19418 * util/grub-mkdevicemap.c: Likewise.
19419 * util/grub-mkfont.c: Likewise.
19420 * util/grub-mkrelpath.c: Likewise.
19421 * util/grub-pe2elf.c: Likewise.
19422 * util/grub-probe.c: Likewise.
19423 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19424 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19425 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19426
19427 * util/misc.c: Include `"progname.h"'.
19428 (progname): Remove variable.
19429 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19430
6f61ed55
FZ
194312009-11-25 Felix Zielcke <fzielcke@z-51.de>
19432
19433 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19434 printf and print a newline after the menuentry header line.
19435 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19436
f022876b
FZ
194372009-11-25 Felix Zielcke <fzielcke@z-51.de>
19438
19439 autoconf >= 2.60 support $(localedir).
19440
19441 * INSTALL: Note that autoconf 2.60 is required.
19442 * configure.ac (AC_PREREQ): Bump to 2.60.
19443 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19444 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19445
6717926e
YB
194462009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19447
19448 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19449 aclocal is run.
19450
08806a54
RM
194512009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19452
19453 * normal/main.c (grub_normal_read_line): Fix off-by-one
19454 buffer overflow.
19455
13b33fba
RM
194562009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19457
19458 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19459 "parser.grub" in grub_command_execute() call.
19460
4a8572e9
CPE
194612009-11-24 Carles Pina i Estany <carles@pina.cat>
19462
19463 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19464 * conf/i386-efi.rmk: Likewise.
19465 * conf/i386-ieee1275.rmk: Likewise.
19466 * conf/i386-pc.rmk: Likewise.
19467 * conf/powerpc-ieee1275.rmk: Likewise.
19468 * conf/sparc64-ieee1275.rmk: Likewise.
19469 * conf/x86_64-efi.rmk: Likewise.
19470 * gettext/gettex.c: Include <grub/i18n.h>.
19471 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19472 here ...
19473 * include/grub/i18n.h: ... to here
19474 * include/grub/i18n.h: ... to here.
19475 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19476 (grub_gettext_dummy): Move above user.
4a8572e9 19477
bee48093
FZ
194782009-11-24 Felix Zielcke <fzielcke@z-51.de>
19479
19480 * util/Makefile.in (install-local): Convert a `for' into a normal
19481 shell expansion.
19482
a031e91c
RM
194832009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19484
19485 * autogen.sh: Add automake call.
19486 * config.guess: Remove.
19487 * config.sub: Likewise.
19488 * install-sh: Likewise.
19489
26bec39d
FZ
194902009-11-24 Felix Zielcke <fzielcke@z-51.de>
19491
19492 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19493
8e2532fd
FZ
194942009-11-24 Felix Zielcke <fzielcke@z-51.de>
19495
19496 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19497 function to a normal shell `for'.
19498
fefa1b7d
FZ
194992009-11-24 Felix Zielcke <fzielcke@z-51.de>
19500
19501 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19502
4501250b
FZ
195032009-11-24 Felix Zielcke <fzielcke@z-51.de>
19504
19505 * util/grub-mkrelpath.c: New file.
19506 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19507 (grub_mkrelpath_SOURCES): New variable.
19508 * include/grub/util/misc.h: New function prototype.
19509 * util/misc.c (make_system_path_relative_to_its_root): New function.
19510
19511 * util/grub-mkconfig_lib.in (bindir): New variable.
19512 (grub_mkrelpath): Likewise.
19513 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19514
19515 * util/probe.c (probe): Make the file path relative to its root.
19516 Change a info message to use the GRUB path. Enable again the
19517 check if we can read the file with GRUB facilities.
19518
19519 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19520 to its root.
19521
11d9778b
FZ
195222009-11-24 Felix Zielcke <fzielcke@z-51.de>
19523
19524 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19525 platform.
19526
4465287d
FZ
195272009-11-24 Felix Zielcke <fzielcke@z-51.de>
19528
19529 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19530 strncmp().
19531
62b47f22
FZ
195322009-11-24 Felix Zielcke <fzielcke@z-51.de>
19533
19534 * util/getroot.c (grub_util_is_dmraid): New function.
19535 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19536 devices as normal ones, not as LVM.
19537
1eafb9b9 195382009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19539
19540 * conf/common.rmk: Add grub-gettext_lib target and updates
19541 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19542 LDFLAGS.
19543 * gettext/gettext.c: New file. (Reads mo files).
19544 * include/grub/file.h (grub_file_pread): New prototype.
19545 * include/grub/i18n.h (_): New prototype.
19546 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19547 prototypes.
19548 * kern/misc.c (grub_gettext_dummy): New function.
19549 * normal/menu_text.c: Include <grub/i18n.h>.
19550 * normal/menu_text.c (print_timeout): Gettexttize string.
19551 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19552 * po/POTFILES: Add `normal/menu_text.c'.
19553 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19554 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19555 gettext module and defines locale_dir and lang in grub.cfg.
19556 * NEWS: Add gettext support.
19557
0fdb2568
RM
195582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19559
19560 * util/hostdisk.c: Include `<grub/i18n.h>'.
19561 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19562 (make_device_name): Rewrite using asprintf.
19563 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19564 (find_system_device): If a device is not found, generate one just
19565 by reusing the OS path name.
19566 (read_device_map): Make it permissible for device.map not to exist.
19567
f515aa62
RM
195682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19569
19570 * script/sh/execute.c: Move from here ...
19571 * script/execute.c: ... to here. Update all users.
19572 * script/sh/function.c: Move from here ...
19573 * script/function.c: ... to here. Update all users.
19574 * script/sh/lexer.c: Move from here ...
19575 * script/lexer.c: ... to here. Update all users.
19576 * script/sh/main.c: Move from here ...
19577 * script/main.c: ... to here. Update all users.
19578 * script/sh/parser.y: Move from here ...
19579 * script/parser.y: ... to here. Update all users.
19580 * script/sh/script.c: Move from here ...
19581 * script/script.c: ... to here. Update all users.
19582
f84b481b
RM
195832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19584
19585 * configure.ac: Detect all `emu' platforms. Define
19586 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19587 --enable-grub-emu logic. Disable include/grub/machine
19588 symlink on `emu' platforms.
19589
19590 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19591 * gensymlist.sh.in: Likewise.
19592
19593 * include/grub/i386/coreboot/machine.h: Remove file.
19594 * include/grub/i386/efi/machine.h: Likewise.
19595 * include/grub/i386/ieee1275/machine.h: Likewise.
19596 * include/grub/i386/pc/machine.h: Likewise.
19597 * include/grub/i386/qemu/machine.h: Likewise.
19598 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19599 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19600 * include/grub/x86_64/efi/machine.h: Likewise.
19601
19602 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19603 * commands/halt.c: Likewise.
19604 * commands/reboot.c: Likewise.
19605 * include/grub/autoefi.h: Likewise.
19606 * include/grub/i386/at_keyboard.h: Likewise.
19607 * include/grub/i386/kernel.h: Likewise.
19608 * include/grub/i386/loader.h: Likewise.
19609 * include/grub/i386/pc/memory.h: Likewise.
19610 * kern/dl.c: Likewise.
19611 * kern/i386/coreboot/init.c: Likewise.
19612 * loader/i386/bsd.c: Likewise.
19613 * loader/i386/linux.c: Likewise.
19614 * loader/multiboot_loader.c: Likewise.
19615 * term/i386/pc/serial.c: Likewise.
19616 * term/usb_keyboard.c: Likewise.
19617
19618 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19619 `<grub/machine/machine.h>'
19620 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19621 * util/misc.c: Remove `<grub/machine/machine.h>' and
19622 `<grub/machine/time.h>'.
19623
19624 * Makefile.in (enable_grub_emu): Remove variable.
19625 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19626
19627 * conf/any-emu.rmk: New file.
19628 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19629 (grub_emu_init.c): Move from here ...
19630 * conf/any-emu.rmk: ... to here.
19631
19632 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19633 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19634 * conf/any-emu.rmk: ... to here.
19635
4efeab03
RM
196362009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19637
19638 * include/grub/parser.h (grub_parser_register): Document need
19639 of `name' parameter.
19640 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19641 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19642 "sh" to "grub".
19643
ea1dd8bf
RM
196442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19645
19646 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19647 `$(XGETTEXT)'.
19648 * include/grub/i18n.h (N_): New macro.
19649 * util/mkisofs/mkisofs.h: Likewise.
19650 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19651 around N_().
19652 (usage): Use gettext() to translate help strings when printing them.
19653
0c140626
RM
196542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19655
19656 Based on patch from Bean
19657 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19658
19659 * video/efi_fb.c: New file.
19660 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19661 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19662 variables.
19663 * conf/x86_64-efi.rmk: Likewise.
19664
87d58298
RM
196652009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19666
19667 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19668 * util/i386/pc/grub-setup.c: Likewise.
19669
994cc3a3
ST
196702009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19671
19672 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19673 <hurd/fs.h>
19674 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19675 file_get_storage_info to implement grub_guess_root_device.
19676
26a61d6a
FZ
196772009-11-21 Felix Zielcke <fzielcke@z-51.de>
19678
19679 * Makefile.in (target): Use make's builtin $(shell) function
19680 instead of calling directly $(SHELL) to create the locale directories,
19681 inside the $(foreach) function.
19682
74ff1dd5
FZ
196832009-11-21 Felix Zielcke <fzielcke@z-51.de>
19684
19685 * util/grub-mkrescue.in: Print an error and usage if output option
19686 has not been given.
19687
0b787d0e
FZ
196882009-11-21 Felix Zielcke <fzielcke@z-51.de>
19689
19690 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19691 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19692 root and /boot are on different devices.
19693
1164b270
RM
196942009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 Fix build for srcdir != objdir.
19697
19698 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19699 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19700 $(srcdir).
19701 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19702 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19703 reference for input.
19704
13774a2f
RM
197052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19706
19707 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19708 or hardlinking it). Remove -J option, Joliet is not compatible with
19709 multiple source directories.
19710
efda854e
RM
197112009-11-21 Carles Pina i Estany <carles@pina.cat>
197122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19713
19714 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19715 (process_input_dir): New function. Process an arbitrary input
19716 directory.
19717 Misc adjustments to support both "override mode" and system-wide mode.
19718
6c09890c
FZ
197192009-11-20 Felix Zielcke <fzielcke@z-51.de>
19720
19721 * configure.ac (UNIFONT_BDF): Rename to ...
19722 (FONT_SOURCE): ... this. Update all users.
19723
a797824f
FZ
197242009-11-20 Felix Zielcke <fzielcke@z-51.de>
19725
19726 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19727 to the list of unifont files to look for.
19728
cd4f42b0
RM
197292009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19730
19731 Patch from Joe Auricchio <jauricchio@gmail.com>
19732 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19733 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19734 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19735
393c783d
FZ
197362009-11-19 Felix Zielcke <fzielcke@z-51.de>
19737
19738 * Makefile.in (install-local): Add a missing backslash.
19739
b2f1e327
FZ
197402009-11-19 Felix Zielcke <fzielcke@z-51.de>
19741
19742 * include/grub/x86_64/io.h: New file.
19743
f577f7a0
RM
197442009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19745
19746 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19747 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19748 Include `"progname.h"'.
19749 (main): Initialize gettext.
19750 * util/i386/pc/grub-setup.c: Gettexttize.
19751 * util/i386/pc/grub-mkimage.c: Likewise.
19752
19753 * Makefile.in (po/*.po): Redefine as ...
19754 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19755
3bc7896c
RM
19756 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19757
c37943b6
RM
197582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19761 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19762 (program_name): Remove.
19763 (main): Initialize gettext support.
6323f705
RM
19764 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19765 Include `<libintl.h>'.
19766 (_): New macro.
c37943b6
RM
19767
19768 * util/mkisofs/eltorito.c: Gettexttize.
19769 * util/mkisofs/joliet.c: Likewise.
19770 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19771 * util/mkisofs/multi.c: Likewise.
19772 * util/mkisofs/rock.c: Likewise.
19773 * util/mkisofs/tree.c: Likewise.
19774 * util/mkisofs/write.c: Likewise.
19775
3bc7896c
RM
19776 * po/POTFILES: Update with new files.
19777
5ce77c6e
RM
197782009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19779
19780 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19781 * util/mkisofs/iso9660.h: Likewise.
19782 * util/mkisofs/joliet.c: Likewise.
19783 * util/mkisofs/mkisofs.c: Likewise.
19784 * util/mkisofs/mkisofs.h: Likewise.
19785 * util/mkisofs/rock.c: Likewise.
19786 * util/mkisofs/tree.c: Likewise.
19787 * util/mkisofs/write.c: Likewise.
19788
19789 * util/mkisofs/eltorito.c (rcsid): Remove.
19790 * util/mkisofs/hash.c: Likewise.
19791 * util/mkisofs/joliet.c: Likewise.
19792 * util/mkisofs/name.c: Likewise.
19793 * util/mkisofs/rock.c: Likewise.
19794 * util/mkisofs/tree.c: Likewise.
19795 * util/mkisofs/write.c: Likewise.
19796
1dabbc77
RM
197972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19798
19799 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19800 instead of static allocation.
19801 * util/mkisofs/match.h: Likewise.
19802
633877cb
RM
198032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19804
3bc7896c
RM
19805 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19806 and `util/grub.d/10_linux.in'.
633877cb
RM
19807 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19808 translatable Shell files.
19809
af1c0c85
RM
198102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19811
19812 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19813
769ae37b
RM
198142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19815
19816 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19817 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19818 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19819 Add gettext initialization.
19820 (kfreebsd_entry): Make menuentry output translatable.
19821
198222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19823
19824 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19825 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19826 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19827 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19828 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19829 * po/LINGUAS: New file.
769ae37b
RM
19830
198312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19832
19833 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19834 other things).
19835 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19836 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19837 bindtextdomain() calls for gettext initialization.
19838
198392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19840
19841 * gnulib/progname.c: New file (imported from Gnulib).
19842 * gnulib/progname.h: Likewise.
19843 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19844 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19845 (usage): Replace `progname' with `program_name'.
19846 (main): Use set_program_name() for program name initialization.
19847
198482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19849
19850 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19851 from here ...
19852 * Makefile.in (CPPFLAGS): ... to here.
19853
198542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19855
19856 * aclocal.m4: Move from here ...
19857 * acinclude.m4: ... to here.
19858 * autogen.sh: Add call to `aclocal'.
19859 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19860
198612009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19862
19863 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19864 (LINGUAS): New variable.
19865 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19866 (install-local): Install MO files.
19867 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19868 * include/grub/i18n.h: New file.
3bc7896c
RM
19869 * po/POTFILES: New file.
19870 * po/ca.po: New file.
769ae37b
RM
19871 * util/grub.d/10_linux.in (bindir): New variable.
19872 Add gettext initialization.
19873 (linux_entry): Make menuentry output translatable.
19874 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19875 (usage): Make --help output translatable.
19876 (main): Initialize gettext.
19877
02c0a6ad
RM
198782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19879
19880 * import_gcry.py: New file (written by Vladimir with minor
19881 adjustments).
19882 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19883 ciphers.
19884 * INSTALL: Document that Python is required for bootstrap.
19885
198862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19887
19888 Import ciphers from libgcrypt 1.4.4.
19889
19890 * lib/libgcrypt/cipher/ChangeLog
19891 * lib/libgcrypt/cipher/ac.c
19892 * lib/libgcrypt/cipher/arcfour.c
19893 * lib/libgcrypt/cipher/bithelp.h
19894 * lib/libgcrypt/cipher/blowfish.c
19895 * lib/libgcrypt/cipher/camellia-glue.c
19896 * lib/libgcrypt/cipher/camellia.c
19897 * lib/libgcrypt/cipher/camellia.h
19898 * lib/libgcrypt/cipher/cast5.c
19899 * lib/libgcrypt/cipher/cipher.c
19900 * lib/libgcrypt/cipher/crc.c
19901 * lib/libgcrypt/cipher/des.c
19902 * lib/libgcrypt/cipher/dsa.c
19903 * lib/libgcrypt/cipher/ecc.c
19904 * lib/libgcrypt/cipher/elgamal.c
19905 * lib/libgcrypt/cipher/hash-common.c
19906 * lib/libgcrypt/cipher/hash-common.h
19907 * lib/libgcrypt/cipher/hmac-tests.c
19908 * lib/libgcrypt/cipher/md.c
19909 * lib/libgcrypt/cipher/md4.c
19910 * lib/libgcrypt/cipher/md5.c
19911 * lib/libgcrypt/cipher/primegen.c
19912 * lib/libgcrypt/cipher/pubkey.c
19913 * lib/libgcrypt/cipher/rfc2268.c
19914 * lib/libgcrypt/cipher/rijndael-tables.h
19915 * lib/libgcrypt/cipher/rijndael.c
19916 * lib/libgcrypt/cipher/rmd.h
19917 * lib/libgcrypt/cipher/rmd160.c
19918 * lib/libgcrypt/cipher/rsa.c
19919 * lib/libgcrypt/cipher/seed.c
19920 * lib/libgcrypt/cipher/serpent.c
19921 * lib/libgcrypt/cipher/sha1.c
19922 * lib/libgcrypt/cipher/sha256.c
19923 * lib/libgcrypt/cipher/sha512.c
19924 * lib/libgcrypt/cipher/tiger.c
19925 * lib/libgcrypt/cipher/twofish.c
19926 * lib/libgcrypt/cipher/whirlpool.c
19927
af2f93ac
RM
199282009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19929
19930 Fix build for systems without error().
19931
19932 * gnulib/error.c: New file (imported from Gnulib).
19933 * gnulib/error.h: Likewise.
19934 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19935 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19936 (this variable is now used by error()).
19937
73fb3dd5
FZ
199382009-11-16 Felix Zielcke <fzielcke@z-51.de>
19939
814f5e96
FZ
19940 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19941 instead of relying that char is signed.
73fb3dd5 19942
a691ca33
VS
199432009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19944
19945 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19946 blocksize different from specified.
19947 (grub_pxefs_read): Likewise.
19948
2af8f0f4
FZ
199492009-11-16 Felix Zielcke <fzielcke@z-51.de>
19950
19951 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19952
19953 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19954 (grub_ata_readwrite): Likewise. Update 2 format strings.
19955 (grub_atapi_read): Likewise.
19956
19957 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19958 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19959 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19960 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19961 (ata_mod_LDFLAGS): Move from here ...
19962 * conf/i386.rmk: ... to here ...
19963 * conf/x86_64-efi.rmk: ... and here.
19964 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19965 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19966
83bdecaf
RM
199672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19968
19969 Relicense multiboot.h, with RMS' blessing.
19970
19971 * include/multiboot.h: Change to X11 license.
19972
fd6fd3d7
RM
199732009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19974
19975 Support --version in grub-mkisofs.
19976
19977 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19978 (OPTION_VERSION): New macro.
19979 (ld_options): Recognize --version.
19980 (usage): Move `program_name' from here ...
19981 (program_name): ... to here. Add `static' qualifier.
19982 (main): Recognize `OPTION_VERSION'.
19983
16a88c49
FZ
199842009-11-15 Felix Zielcke <fzielcke@z-51.de>
19985
19986 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19987 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19988
a4158476
RM
199892009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19990
19991 Fix help2man generation for mkisofs.
19992
19993 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19994 (usage): Send output to stdout (rather than stderr).
19995
fc2208b0
RM
199962009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19997
19998 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19999 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20000 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20001 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20002 (bin_SCRIPTS): Add `grub-mkfloppy'.
20003 (grub_mkfloppy_SOURCES): New variable.
20004
20005 * util/grub-mkrescue.in: New file.
20006 * util/i386/pc/grub-mkfloppy.in: New file.
20007
20008 * util/i386/coreboot/grub-mkrescue.in: Remove.
20009 * util/i386/pc/grub-mkrescue.in: Remove.
20010
8d0edf4a
RM
200112009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20012
20013 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20014 from here ...
20015 * include/multiboot.h (struct multiboot_header): ... to here. Update
20016 all users.
20017 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20018 from here ...
20019 * include/multiboot.h (struct multiboot_info): ... to here. Update
20020 all users.
20021 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20022 from here ...
20023 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20024 Update all users.
20025 * include/grub/multiboot.h (struct grub_mod_list): Move
20026 from here ...
20027 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20028 Update all users.
20029
a73f5969
RM
200302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20031
20032 * include/multiboot2.h (multiboot_word): Rename from this ...
20033 (multiboot2_word): ... to this. Update all users.
20034 (multiboot_header): Rename from this ...
20035 (multiboot2_header): ... to this. Update all users.
20036 (multiboot_tag_header): Rename from this ...
20037 (multiboot2_tag_header): ... to this. Update all users.
20038 (multiboot_tag_start): Rename from this ...
20039 (multiboot2_tag_start): ... to this. Update all users.
20040 (multiboot_tag_name): Rename from this ...
20041 (multiboot2_tag_name): ... to this. Update all users.
20042 (multiboot_tag_module): Rename from this ...
20043 (multiboot2_tag_module): ... to this. Update all users.
20044 (multiboot_tag_memory): Rename from this ...
20045 (multiboot2_tag_memory): ... to this. Update all users.
20046 (multiboot_tag_unused): Rename from this ...
20047 (multiboot2_tag_unused): ... to this. Update all users.
20048 (multiboot_tag_end): Rename from this ...
20049 (multiboot2_tag_end): ... to this. Update all users.
20050
1c8927f0
RM
200512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20052
20053 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20054 this platform we should support Multiboot1 first.
20055
20056 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20057 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20058 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20059
6e1e0d89
RM
200602009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20061
20062 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20063 of write calls (converting them to fwrite() if they aren't already).
20064 (get_torito_desc): Likewise.
20065 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20066
7f2b34d8
RM
200672009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20068
20069 * util/i386/pc/grub-install.in: Move from here ...
20070 * util/grub-install.in: ... to here. Update all users.
20071
c0ef3311
CW
200722009-11-11 Colin Watson <cjwatson@ubuntu.com>
20073
20074 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20075
e1f240ff
RM
200762009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20077
20078 Support for El Torito without floppy emulation.
20079
20080 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20081 (init_boot_catalog): Improve error handling.
20082 (get_torito_desc): Don't use floppy emulation unless requested by
20083 user. Patch boot information table when requested via
20084 `-boot-info-table'.
20085 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20086 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20087 (use_boot_info_table): New variables.
20088 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20089 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20090 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20091 `--eltorito-emul-floppy'.
20092 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20093 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20094 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20095 (use_boot_info_table, get_731): New prototypes.
20096 * util/mkisofs/write.c (get_731): New function.
20097
af7d4de5
FZ
200982009-11-11 Felix Zielcke <fzielcke@z-51.de>
20099
20100 Fix the generation of the man page.
20101
20102 * util/pc/i386/grub-install.in: Source
20103 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20104
2c55dbc0
RM
201052009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 Large file support for grub-mkisofs.
20108
20109 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20110 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20111 (session_start): Upgrade type to `uint64_t'. Update all users.
20112 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20113 (struct directory_entry): Upgrade type of `starting_block' and
20114 `size' to `uint64_t'. Update all users.
20115 (struct deferred): Remove unused structure.
20116 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20117 Update all users.
20118 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20119 file is larger than `UINT32_MAX'.
20120 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20121 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20122 return value.
20123 (struct deferred_write): Upgrade type of `extent' and `size' to
20124 `uint64_t'. Update all users.
20125 (last_extent_written): Upgrade type to `uint64_t'. Update all
20126 users.
20127 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20128 Update all users. Upgrade type of `remain' to `int64_t' and
20129 `use' to `size_t'. Use error() to handle fread() errors.
20130 (write_files): Rely on write_one_file() rather than calling
20131 xfwrite() directly.
20132
6a9cead5
FZ
201332009-11-09 Felix Zielcke <fzielcke@z-51.de>
20134
20135 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20136
4825d790
RM
201372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20138
20139 * util/mkisofs/fnmatch.c: Remove.
20140 * util/mkisofs/getopt1.c: Likewise.
20141 * util/mkisofs/getopt.c: Likewise.
20142 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20143 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20144 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20145 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20146 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20147
20148 * configure.ac: Detect `mingw32msvc' host_os.
20149 Check for lstat(), getuid() and getgid().
20150
20151 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20152 instances of `u_char' with `uint8_t'.
20153
20154 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20155 [!HAVE_GETUID] (getuid): New function (stub).
20156 [!HAVE_GETGID] (getgid): Likewise.
20157 [!HAVE_LSTAT] (lstat): Likewise.
20158 [!S_IROTH] (S_IROTH): New macro (dummy).
20159 [!S_IRGRP] (S_IRGRP): Likewise.
20160
84b860d8
RM
201612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20162
20163 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20164 conditional expression).
20165
66e9b712
RM
201662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 Import from Gnulib.
20169
20170 * gnulib/fnmatch.c: New file.
20171 * gnulib/fnmatch.h: Likewise.
20172 * gnulib/fnmatch_loop.c: Likewise.
20173 * gnulib/getopt.c: Likewise.
20174 * gnulib/getopt.h: Likewise.
20175 * gnulib/getopt1.c: Likewise.
20176 * gnulib/getopt_int.h: Likewise.
20177 * gnulib/gettext.h: Likewise.
20178
34f4a5b0
RM
201792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20180
20181 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20182 * normal/handler.c (read_handler_list): Likewise.
20183
ac451143
RM
201842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20185
20186 Misc cleanup.
20187
20188 * kern/command.c (grub_register_command_prio): Use
20189 grub_zalloc() instead of explicitly zeroing data.
20190 * kern/list.c: Include `<grub/mm.h>'.
20191 (grub_named_list_find): Replace `0' with `NULL'.
20192 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20193 (fs_module_list): Change type to `grub_named_list_t'. Update all
20194 users.
20195 * normal/dyncmd.c (read_command_list): Add space between function
20196 call and parenthesis.
20197 * normal/handler.c (read_handler_list): Likewise.
20198
4089b167
RM
201992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20200
20201 * normal/auth.c (punishment_delay): Moved from here ...
20202 (grub_auth_strcmp): ... to here (inside function).
20203
325f5037
RM
202042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20205
20206 * include/grub/list.h (struct grub_named_list): Remove `const'
20207 qualifier from `name'.
20208 (struct grub_prio_list): Likewise.
20209
7aea29a3
RM
202102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20211
20212 * normal/auth.c: Include `<grub/time.h>'.
20213 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20214
3fd6f044
RM
202152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20216
20217 * normal/auth.c (punishment_delay): New variable.
20218 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20219 (grub_auth_check_authentication): Punish failed login attempts with
20220 an incremental (2^N) delay.
20221
a4cd68e4
RM
202222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20223
20224 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20225 path with $(srcdir).
20226
7ad12f43
VS
202272009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20230
c1129f03
RM
202312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20232
20233 * util/i386/coreboot/grub-mkrescue.in: New file.
20234 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20235 variables.
20236
20237 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20238 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20239 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20240 requirements.
20241 * util/mkisofs/defaults.h: New file.
20242 * util/mkisofs/eltorito.c: Likewise.
20243 * util/mkisofs/exclude.h: Likewise.
20244 * util/mkisofs/fnmatch.c: Likewise.
20245 * util/mkisofs/getopt.c: Likewise.
20246 * util/mkisofs/getopt1.c: Likewise.
20247 * util/mkisofs/hash.c: Likewise.
20248 * util/mkisofs/include/fctldefs.h: Likewise.
20249 * util/mkisofs/include/mconfig.h: Likewise.
20250 * util/mkisofs/include/prototyp.h: Likewise.
20251 * util/mkisofs/include/statdefs.h: Likewise.
20252 * util/mkisofs/iso9660.h: Likewise.
20253 * util/mkisofs/joliet.c: Likewise.
20254 * util/mkisofs/match.c: Likewise.
20255 * util/mkisofs/match.h: Likewise.
20256 * util/mkisofs/mkisofs.c: Likewise.
20257 * util/mkisofs/mkisofs.h: Likewise.
20258 * util/mkisofs/multi.c: Likewise.
20259 * util/mkisofs/name.c: Likewise.
20260 * util/mkisofs/rock.c: Likewise.
20261 * util/mkisofs/tree.c: Likewise.
20262 * util/mkisofs/write.c: Likewise.
20263
ec8bb77d
VS
202642009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20267 being insecure.
20268
3716b12c
RM
202692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20270
20271 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20272 `grub-mkimage' (and use $0 when possible).
20273
b97b7b91
RM
202742009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20275
20276 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20277 error message for excessively large memory map.
20278
04114812
RM
202792009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20280
20281 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20282 executable bit.
20283
e4eb2373
RM
202842009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20287 message for coreboot users.
20288
c926e1d5 202892009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20290
20291 Fix build with GNU gold.
20292
20293 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20294 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20295 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20296 link addresses.
20297 * aclocal.m4: Likewise.
20298
86e5b1db 202992009-11-04 Felix Zielcke <fzielcke@z-51.de>
20300
20301 * configure.ac (AC_PREREQ): Bump to 2.59d.
20302 * INSTALL: Make it more clear when Autoconf and Ruby are
20303 needed and when to run `./autogen.sh'.
20304
246cd78f 203052009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20306
20307 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20308 OSes.
20309
4f9dfb37 203102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20311
20312 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20313
b82bd5e1 203142009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20315
20316 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20317 giving it to GNU Mach.
20318
ff1a9bca 203192009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20320
20321 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20322 GNU partition number to get internal GRUB partition number.
20323
61697d9c 203242009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20325
20326 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20327 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20328
a50569e1 203292009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20330
20331 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20332 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20333 case.
20334
5b153867 203352009-11-01 Felix Zielcke <fzielcke@z-51.de>
20336
20337 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20338
d9e2cd70 203392009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20340
20341 Fix build problem.
20342
20343 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20344 `-isystem=$(srcdir)/include'.
20345
805111a4 203462009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20347
20348 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20349 checked (grub-install doesn't currently rely on it).
20350
fa6e945f 203512009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 Revert SVN r2660.
20354
20355 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20356 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20357 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20358 * conf/i386-ieee1275.rmk: Likewise.
20359 * conf/i386-pc.rmk: Likewise.
20360 * conf/powerpc-ieee1275.rmk: Likewise.
20361 * conf/sparc64-ieee1275.rmk: Likewise.
20362 * conf/x86_64-efi.rmk: Likewise.
20363
cee15086 203642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20365
20366 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20367
95b9239e 203682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 * include/grub/misc.h: Stop checking for APPLE_CC.
20371
2ed19dfd 203722009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20373
20374 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20375 doesn't cause an infinite call loop.
20376
fdcdde19 203772009-10-28 Felix Zielcke <fzielcke@z-51.de>
20378
20379 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20380 strings.
20381
cefabfe1 203822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20383
20384 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20385 variable.
20386 * Makefile.in: Likewise.
20387
ed96ab6d 203882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20389
20390 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20391
0579b753 203922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20393
20394 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20395
478df409 203962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20397
20398 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20399
083d1679 204002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20401
20402 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20403 from here ...
20404 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20405
5947ae32 204062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20407
20408 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20409 in $(MAKEINFO) invocation. This makes it clear in output that
20410 errors are being ignored.
20411
94180ff6 204122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20415 from here ...
20416 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20417 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20418 * conf/i386-ieee1275.rmk: Likewise.
20419 * conf/i386-pc.rmk: Likewise.
20420 * conf/powerpc-ieee1275.rmk: Likewise.
20421 * conf/sparc64-ieee1275.rmk: Likewise.
20422 * conf/x86_64-efi.rmk: Likewise.
20423
9031b03a 204242009-10-26 Colin Watson <cjwatson@ubuntu.com>
20425
20426 * util/grub-editenv.c (main): If only a command is given, use
20427 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20428 (usage): FILENAME is now optional and has a default.
20429
e4f6809b 204302009-10-26 Colin Watson <cjwatson@ubuntu.com>
20431
20432 Improve grub-mkconfig performance when there are several menu
20433 entries on a single filesystem.
20434
20435 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20436 prepare_grub_to_access_device.
20437 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20438 * util/grub.d/30_os-prober.in: Likewise.
20439
67937d4d 204402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20441
20442 * util/grub.d/10_freebsd.in: Remove.
20443 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20444 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20445
ee3756cc 204462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20447
5c35048e 20448 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20449
4dea1c6f 204502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20451
20452 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20453 grub_util_error() call.
20454
042484d7 204552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20456
20457 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20458 `reserved_first_sector' member.
20459 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20460 `reserved_first_sector' to 1.
20461 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20462 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20463 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20464 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20465 filesystems which begin at first sector.
20466 (options): New option --skip-fs-probe.
20467 (main): Handle --skip-fs-probe and pass it to setup().
20468
d64448a7 204692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20472 (memset): Fix function prototype.
20473
508d42ec 204742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
204752009-10-25 Vasily Averin <vvs@parallels.com>
20476
20477 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20478 `dirent.direntlen == 0'.
20479
b240e30c 204802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20481
20482 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20483 `cpio'.
20484 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20485
346e7fbe 204862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20487
20488 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20489 `__trampoline_setup' and `__ucmpdi2'.
20490 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20491 that libgcc provides.
20492
cdb308b0 204932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20494
20495 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20496 * include/grub/sparc64/libgcc.h (memset): Likewise.
20497 * include/grub/misc.h (memset, memcmp): New function prototypes.
20498
fb26abc2 204992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20500
20501 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20502 `cpio'.
20503 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20504
f6693890 205052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20506
20507 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20508 * docs/grub.cfg: Compensate for recent change in multiboot
20509 loader (since 2009-08-14 it won't pass filename to payload).
20510 * util/grub.d/10_hurd.in: Likewise.
20511
0933cdc0 205122009-10-21 Felix Zielcke <fzielcke@z-51.de>
20513
20514 * config.guess: Update to latest version from config git
20515 repository.
20516 * config.sub: Likewise.
20517
3b2fe8c2 205182009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20519
20520 Fix build on sparc64.
20521
20522 * configure.ac: Perform checks for libgcc symbols before
20523 adding `-nostdlib' to LDFLAGS.
20524
46695a62 205252009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 Let user specify OpenBSD root device.
20528
20529 * loader/i386/bsd.c (openbsd_root): New variable.
20530 (openbsd_opts): New option 'root'.
20531 (OPENBSD_ROOT_ARG): New macro.
20532 (grub_openbsd_boot): Use 'openbsd_root'.
20533 (grub_cmd_openbsd): Fill 'openbsd_root'.
20534
d2b6b7fc 205352009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20536
20537 * NEWS: Misc adjustments.
20538
421bd7ac 205392009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20540
20541 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20542
f1d29d87 205432009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20544
20545 * configure.ac: Bump version to 1.97.
20546
6f3cd880 205472009-10-16 Colin Watson <cjwatson@ubuntu.com>
20548
20549 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20550 -mno-3dnow on x86 architectures. Some toolchains enable these
20551 features by default, but they rely on registers that aren't enabled
20552 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20553
035f7122 205542009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20555
20556 Make entry text a bit more readable.
20557
20558 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20559
44998e58 205602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20563
cd2851b3 205642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20565
20566 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20567 operations.
20568
c6f3b249 205692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * configure.ac: Add missing dollar.
20572
6b5886ba 205732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20574
20575 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20576
20577 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20578 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20579 exports.
20580 * include/grub/sparc64/libgcc.h: Likewise. Use
20581 preprocessor conditionals.
20582
e9d66f6d 205832009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20584
20585 * conf/common.rmk (grub-dumpbios): Remove rule.
20586 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20587 * util/grub-dumpbios.in: Remove file.
20588
9155bc17 205892009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20590
20591 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20592 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20593
20594 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20595 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20596 users.
20597
20598 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20599 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20600 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20601 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20602 users.
20603
bf7f7a18 206042009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20605
20606 * term/tparm.c: Switch to GPLv3.
20607
86564c26 206082009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20609
20610 * include/grub/i386/cpuid.h: Add header protection.
20611
5c936493 206122009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20613
20614 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20615
20616 * include/grub/i386/cpuid.h: New file.
20617 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20618 (has_longmode): Rename to ...
20619 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20620 `static' attribute.
20621 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20622 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20623 on a CPU that doesn't implement AMD64 instruction set.
20624
186e7cf2 206252009-10-06 Colin Watson <cjwatson@ubuntu.com>
20626
20627 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20628 that version.texi is rebuilt on version number changes.
20629
83b65c4a 206302009-10-06 Colin Watson <cjwatson@ubuntu.com>
20631
20632 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20633 Fixes bug #27602.
20634
d244281c 206352009-10-06 Colin Watson <cjwatson@ubuntu.com>
20636
20637 * util/i386/pc/grub-install.in: Source
20638 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20639 that the --grub-probe option will work.
20640 * util/sparc64/ieee1275/grub-install.in: Likewise.
20641
da25306d 206422009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20643
20644 * configure.ac: Bump version to 1.97~beta4.
20645
e8ee83c0 206462009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20647
20648 Resync grub-mkdevicemap in x86_64-efi.
20649
20650 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20651 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20652 `util/devicemap.c'.
20653
50dcabcf 206542009-10-01 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * util/grub-editenv.c (create_envblk_file): Write new block with a
20657 .new suffix and then rename it into place, to ensure atomic
20658 creation.
20659
0e51c3a7 206602009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20661
20662 Do not automatically install headers.
20663
20664 * Makefile.in (include_DATA): Remove. Update all users.
20665
31299a95 206662009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20667
20668 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20669 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20670
20671 * util/osdetect.lua: Remove.
20672 * script/lua/lauxlib.c: Likewise.
20673 * script/lua/ldebug.c: Likewise.
20674 * script/lua/grub_main.c: Likewise.
20675 * script/lua/lauxlib.h: Likewise.
20676 * script/lua/ldebug.h: Likewise.
20677 * script/lua/ltablib.c: Likewise.
20678 * script/lua/liolib.c: Likewise.
20679 * script/lua/lstrlib.c: Likewise.
20680 * script/lua/lualib.h: Likewise.
20681 * script/lua/ldo.c: Likewise.
20682 * script/lua/ldump.c: Likewise.
20683 * script/lua/ldo.h: Likewise.
20684 * script/lua/loslib.c: Likewise.
20685 * script/lua/lundump.c: Likewise.
20686 * script/lua/grub_lib.c: Likewise.
20687 * script/lua/ldblib.c: Likewise.
20688 * script/lua/lundump.h: Likewise.
20689 * script/lua/lmem.c: Likewise.
20690 * script/lua/grub_lib.h: Likewise.
20691 * script/lua/lmathlib.c: Likewise.
20692 * script/lua/lstate.c: Likewise.
20693 * script/lua/ltm.c: Likewise.
20694 * script/lua/lvm.c: Likewise.
20695 * script/lua/lmem.h: Likewise.
20696 * script/lua/lstate.h: Likewise.
20697 * script/lua/ltm.h: Likewise.
20698 * script/lua/ltable.c: Likewise.
20699 * script/lua/lvm.h: Likewise.
20700 * script/lua/llex.c: Likewise.
20701 * script/lua/lgc.c: Likewise.
20702 * script/lua/grub_lua.h: Likewise.
20703 * script/lua/loadlib.c: Likewise.
20704 * script/lua/lfunc.c: Likewise.
20705 * script/lua/lopcodes.c: Likewise.
20706 * script/lua/lparser.c: Likewise.
20707 * script/lua/ltable.h: Likewise.
20708 * script/lua/llex.h: Likewise.
20709 * script/lua/lgc.h: Likewise.
20710 * script/lua/lfunc.h: Likewise.
20711 * script/lua/lbaselib.c: Likewise.
20712 * script/lua/lopcodes.h: Likewise.
20713 * script/lua/lparser.h: Likewise.
20714 * script/lua/lzio.c: Likewise.
20715 * script/lua/linit.c: Likewise.
20716 * script/lua/lobject.c: Likewise.
20717 * script/lua/llimits.h: Likewise.
20718 * script/lua/lstring.c: Likewise.
20719 * script/lua/lzio.h: Likewise.
20720 * script/lua/lapi.c: Likewise.
20721 * script/lua/lcode.c: Likewise.
20722 * script/lua/lua.h: Likewise.
20723 * script/lua/lobject.h: Likewise.
20724 * script/lua/lstring.h: Likewise.
20725 * script/lua/lapi.h: Likewise.
20726 * script/lua/lcode.h: Likewise.
20727 * script/lua/luaconf.h: Likewise.
20728
cb8a2c38 207292009-09-26 Colin Watson <cjwatson@ubuntu.com>
20730
20731 * docs/grub.texi (Command-line and menu entry commands): Document
20732 date and echo commands.
20733
6b9b6276 207342009-09-24 Pavel Roskin <proski@gnu.org>
20735
20736 * include/grub/kernel.h (struct grub_module_header): Remove
20737 `grub_module_header_types'. Make `type' unsigned. Make `size'
20738 32-bit on all platforms.
20739 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20740 8-bit field. Use grub_host_to_target32() for `size'.
20741 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20742 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20743 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20744
4e5a02a7 207452009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20746
20747 Fix "lost keypress" bug in at_keyboard.
20748
20749 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20750 Checks for readyness of input buffer (without flushing it).
20751 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20752 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20753
c6dcedf6 207542009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20755
20756 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20757 size check within GRUB_MACHINE_PCBIOS section.
20758
74c958b1 207592009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20760
20761 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20762 return value.
20763 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20764 KEYBOARD_ISREADY check.
20765 (grub_at_keyboard_checkkey): Rename to ...
20766 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20767 Remove gratuitous cast.
20768
ff420223 207692009-09-23 Colin Watson <cjwatson@ubuntu.com>
20770
20771 * configure.ac: Call AC_PROG_MKDIR_P.
20772 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20773 version.texi in $(builddir) rather than $(srcdir).
20774 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20775 to makeinfo's @include search path.
20776
d96875df 207772009-09-23 Felix Zielcke <fzielcke@z-51.de>
20778
20779 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20780
9b3f8365 207812009-09-23 Felix Zielcke <fzielcke@z-51.de>
20782
20783 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20784 for `*.dpkg-new'.
20785
c44c90db 207862009-09-21 Colin Watson <cjwatson@ubuntu.com>
20787
20788 Build info documentation. Some code borrowed from Automake.
20789
20790 * configure.ac: Check for makeinfo.
20791 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20792 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20793 docs/version.texi.
20794 (MOSTLYCLEANFILES): Add vti.tmp.
20795 (docs/version.texi, docs/stamp-vti): Update automatically.
20796 (docs/grub.info): Build info documentation. Use --force and ignore
20797 errors for now.
20798 (all-local): Add $(INFOS).
20799 (install-local): Install info files.
20800 (uninstall): Uninstall info files.
20801 * docs/version.texi: Remove from revision control. This file is
20802 automatically generated on build now.
20803 * gendistlist.sh: Add `*.info'.
20804
e0b37bb5 208052009-09-21 Felix Zielcke <fzielcke@z-51.de>
20806
20807 * kern/term.c: Fix indentation.
20808
5a78865b 208092009-09-21 Felix Zielcke <fzielcke@z-51.de>
20810
20811 * util/hostdisk.c: Fix a comment.
20812
dace7e8a 208132009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20814
20815 Fix regression introduced in r2539.
20816
20817 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20818 to 0xA1.
20819
a83d079b 208202009-09-19 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20823 os-prober. Under normal operation, it does not print anything to
20824 stderr; if it does, we need to debug it, and throwing away stderr
20825 makes that excessively difficult.
a83d079b 20826
be94a509 208272009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20830
63f745e8 208312009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20832
20833 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20834 AC_LANG_PROGRAM from autoconf.
20835 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20836 prototypes (fixes warning).
20837
20838 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20839 `--disable-werror' was used.
20840
bbb2a70f 208412009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20842
20843 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20844 uninitialized `lastaddr'.
20845
77c24f1d 208462009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20847
0f0b8c87 20848 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20849
07197f23 208502009-09-14 Colin Watson <cjwatson@ubuntu.com>
20851
20852 * commands/test.c (get_fileinfo): Return immediately if
20853 grub_fs_probe fails.
20854
dabf1798 208552009-09-14 José Martínez <xosemp@gmail.com>
20856
20857 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20858
d52109a7 208592009-09-14 Colin Watson <cjwatson@ubuntu.com>
20860
20861 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20862 output.
20863
56532179 208642009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20865
20866 * configure.ac: Remove --enable-grub-pe2elf. Only build
20867 grub-pe2elf when needed by the build system itself.
20868 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20869
8ef070f5 208702009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20871
20872 * configure.ac: Bump version to 1.97~beta3.
20873 * docs/version.texi: Likewise.
20874
61229557 208752009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20876
20877 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20878 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20879 from here ...
20880 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20881 (grub_linux_setup_video): ... to here (with some adjustments).
20882
5c9f8d84 208832009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20884
20885 Fix memory corruption issue (spotted by Colin Watson).
20886
20887 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20888 causing returned size to be stored in an incorrect memory location.
20889 Fix use of uninitialized value when storing the returned size.
20890
e8f5d6e9 208912009-09-12 Yves Blusseau <blusseau@zetam.org>
20892
20893 Change clean rules to properly remove files
20894
20895 * genmk.rb: add new clean rules
20896 * Makefile.in (clean): add the new targets
20897 (mostlyclean): likewise
20898
cda2a409 208992009-09-11 Colin Watson <cjwatson@ubuntu.com>
20900
20901 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20902 to grub_uint64_t.
20903 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20904 non-resident files.
20905
86695375 209062009-09-11 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20909 part of bug #27349.
20910
8aa1541a 209112009-09-10 Felix Zielcke <fzielcke@z-51.de>
20912
20913 * util/grub-mkconfig.in: Make the created config mode 400 and
20914 print a warning if it fails.
20915
48d9bb0a 209162009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20917
20918 * util/grub.d/40_custom.in: Ask user to type custom entries below
20919 comment, rather than below 'exec tail' line.
20920
3b0521be 209212009-09-10 Colin Watson <cjwatson@ubuntu.com>
20922
20923 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20924 visible in grub.cfg.
20925
50051d55 209262009-09-10 Colin Watson <cjwatson@ubuntu.com>
20927
20928 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20929 file.
20930
c0d34387 209312009-09-10 Felix Zielcke <fzielcke@z-51.de>
20932
20933 * docs/grub.cfg: Add an example menu entry for memtest86+.
20934
80a608f3 209352009-09-09 Felix Zielcke <fzielcke@z-51.de>
20936
a2094832 20937 * config.guess: Update to latest version from config git.
80a608f3 20938 * config.sub: Likewise.
20939
99423078 209402009-09-08 Colin Watson <cjwatson@ubuntu.com>
20941
20942 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20943 unknown-command case. Fixes bug #27320.
20944
44454e4c 209452009-09-08 Felix Zielcke <fzielcke@z-51.de>
20946
20947 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20948 `help' if the command exists.
20949
e30d87ad 209502009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20951
20952 * INSTALL: Require GCC 4.1.3 or later.
20953
9a86f1ec 209542009-09-06 Yves Blusseau <blusseau@zetam.org>
20955
20956 * Makefile.in (RMKFILES): add i386-qemu.rmk
20957 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20958 $(srcdir)/stamp-h.in
20959
7f26d466 209602009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20961
20962 * util/grub-probe.c (probe): Comment out buggy codepath, which
20963 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20964 should be re-enabled after 1.97.
20965
3a613259 209662009-09-05 Felix Zielcke <fzielcke@z-51.de>
20967
20968 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20969 find searches for.
20970
197f76c7 209712009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20974 unnecessary calls to grub_error.
20975
70ba68ce 209762009-09-04 Colin Watson <cjwatson@ubuntu.com>
20977
20978 * NEWS: Mention `keystatus' and Unicode fonts.
20979
4ff0d7a4 209802009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20981
20982 * configure.ac: Bump version to 1.97~beta2.
20983 * docs/version.texi: Likewise.
20984
77c55a87 209852009-09-03 Colin Watson <cjwatson@ubuntu.com>
20986
20987 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20988 containing unwind information in some cases where it previously did
20989 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20990 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20991 discussion.
20992
f79572cd 209932009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20994
20995 Embedding loadenv module into grub-emu
20996
20997 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20998 commands/loadenv.c
20999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21000 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21001 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21003 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21004 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21005
93a81088 210062009-09-03 Magnus Granberg <zorry@ume.nu>
21007
21008 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21009 include -fPIE in the default specs.
21010 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21011 to TARGET_CFLAGS.
21012
160034b2 210132009-09-03 Felix Zielcke <fzielcke@z-51.de>
21014
21015 * INSTALL: Note that GNU Bison 2.3 or later is required.
21016
087c07c4 210172009-09-03 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * kern/i386/pc/startup.S: Fix typo.
21020
cbf978c0 210212009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21024 according to GCS.
21025
210262009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21027
21028 * docs/grub.texi (Naming convention): Describe one-based partition
21029 numbering.
21030 (Device syntax): Likewise.
21031 (File name syntax): Likewise.
21032 (Block list syntax): Likewise.
21033 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21034 menu.lst.
21035 (File name syntax): Likewise.
21036 (Command-line and menu entry commands): Document acpi, blocklist,
21037 crc, export, insmod, keystatus, ls, set, and unset commands.
21038
f3e8cdfd 210392009-09-02 Colin Watson <cjwatson@ubuntu.com>
21040
21041 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21042 to avoid implying that only one of --shift, --ctrl, or --alt may be
21043 used.
21044
c0bc232b 210452009-09-02 Colin Watson <cjwatson@ubuntu.com>
21046
21047 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21048 rather than comparing against S_IFREG, which will almost never work.
21049
aa0f752d 210502009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21053 (write_blocklists): Likewise.
21054
ecb3166a 210552009-09-01 Colin Watson <cjwatson@ubuntu.com>
21056
21057 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21058 argument to grub_printf.
21059
c403a125 210602009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21061
21062 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21063 non GNU test.
31aba781 21064
b5e7312c 210652009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 * kern/file.c (grub_file_read): Spelling fix
21068
fe00f472 210692009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21072 loading of headers in some cases.
21073
cc55302e 210742009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21075
21076 * configure.ac: Bump version to 1.97~beta1.
21077 * docs/version.texi: Likewise.
21078
5c90cdd2 210792009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21080
21081 * include/grub/i386/xnu.h: Add license header.
21082 include grub/err.h explicitly.
21083
c90edae4 210842009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21085
21086 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21087 to `ufs' in the vfs.root.mountfrom kernel parameter.
21088
d8888b5c 210892009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21090
21091 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21092
21093 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21094 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21095
21096 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21097 `ARRAY_SIZE' macro.
21098
6f07b921 210992009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21100
21101 * kern/file.c (grub_file_read): Check offset.
21102 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21103 * fs/jfs.c (grub_jfs_read_file): Likewise.
21104 * fs/ntfs.c (grub_ntfs_read): Likewise.
21105 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21106 * fs/minix.c (grub_minix_read_file): Correct offset check.
21107 * fs/ufs.c (grub_ufs_read_file): Likewise.
21108
b4f34077 211092009-08-28 Colin Watson <cjwatson@ubuntu.com>
21110
21111 * term/i386/pc/console.c (bios_data_area): Cast
21112 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21113
e7c69859 211142009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 1-bit optimised blitters.
21117
21118 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21119 prototype.
21120 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21121 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21122 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21123 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21124 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21125 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21126 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21127 function.
21128 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21129 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21130 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21131 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21132 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21133 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21134 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21135 when possible.
21136 * video/video.c (grub_video_get_blit_format): Return
21137 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21138
a57da43f 211392009-08-28 Colin Watson <cjwatson@ubuntu.com>
21140
21141 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21142 the first argument to grub_printf.
21143
4cbe67e5 211442009-08-28 Colin Watson <cjwatson@ubuntu.com>
211452009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21146
21147 Add `getkeystatus' terminal method. Add a new `keystatus' command
21148 to query it.
21149
21150 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21151 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21152 modifier key bitmasks.
21153 (struct grub_term_input): Add `getkeystatus' member.
21154 (grub_getkeystatus): Add prototype.
21155 * kern/term.c (grub_getkeystatus): New function.
21156
21157 * include/grub/i386/pc/memory.h
21158 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21159 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21160 Data Area layout.
21161 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21162 (grub_console_term_input): Set `getkeystatus' member.
21163 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21164 constants.
21165 (grub_usb_keyboard_getreport): Likewise.
21166 (grub_usb_keyboard_checkkey): Likewise.
21167 (grub_usb_keyboard_getkeystatus): New function.
21168 (grub_usb_keyboard_term): Set `getkeystatus' member.
21169
21170 * commands/keystatus.c: New file.
21171 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21172 (keystatus_mod_SOURCES): New variable.
21173 (keystatus_mod_CFLAGS): Likewise.
21174 (keystatus_mod_LDFLAGS): Likewise.
21175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21176 commands/keystatus.c.
21177 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21178 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21179 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21181 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21182 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21183
6e2a9085 211842009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21185
21186 Split befs.mod and afs.mod into *_be.mod and *.mod
21187
21188 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21189 (grub_fstest_SOURCES): Likewise.
21190 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21191 (afs_be_mod_SOURCES): New variable.
21192 (afs_be_mod_CFLAGS): Likewise.
21193 (afs_be_mod_LDFLAGS): Likewise.
21194 (befs_be_mod_SOURCES): Likewise.
21195 (befs_be_mod_CFLAGS): Likewise.
21196 (befs_be_mod_LDFLAGS): Likewise.
21197 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21200 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21201 (grub_emu_SOURCES): Likewise.
21202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21203 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21205 * fs/afs_be.c: New file.
21206 * fs/befs_be.c: New file.
21207 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21208 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21209 (U16): Replaced with ...
21210 (grub_afs_to_cpu16): ...this. All users updated.
21211 (U32): Replaced with ...
21212 (grub_afs_to_cpu32): ...this. All users updated.
21213 (U64): Replaced with ...
21214 (grub_afs_to_cpu64): ...this. All users updated.
21215 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21216 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21217 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21218 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21219 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21220 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21221 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21222 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21223 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21224 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21225 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21226
32a71655 212272009-08-26 Bean <bean123ch@gmail.com>
21228
21229 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21230 64-bit number.
21231 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21232 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21233 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21234
552bf6c5 212352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 NetBSD memory map support.
21238
21239 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21240 (grub_netbsd_btinfo_mmap_header): New structure.
21241 (grub_netbsd_btinfo_mmap_entry): Likewise.
21242 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21243
1ae2078c 212442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 Enable bsd.mod on coreboot.
21247
21248 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21249 (bsd_mod_SOURCES): New variable.
21250 (bsd_mod_CFLAGS): Likewise.
21251 (bsd_mod_LDFLAGS): Likewise.
21252 (bsd_mod_ASFLAGS): Likewise.
21253 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21254 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21255
beefc598 212562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 Cleanup NetBSD root support.
21259
21260 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21261 grub_bsd_get_device.
21262 Fix typo.
21263
3b76e68b 212642009-08-25 Felix Zielcke <fzielcke@z-51.de>
21265
21266 * util/grub.d/00_header.in: Move check for the video backend of
21267 gfxterm from here ...
21268 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21269 a suitable video backend.
21270
aea664ea 212712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 Fix breakage in grub-setup.
21274
21275 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21276 "msdos_partition_map".
21277
ff747d50 212782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 Fix breakage in normal/auth.c.
21281
21282 * normal/auth.c (grub_iswordseparator): New function.
21283
e7e1f93f 212842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21285
21286 Authentication support.
21287
21288 * commands/password.c: New file.
21289 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21290 (password_mod_SOURCES): New variable.
21291 (password_mod_CFLAGS): Likewise.
21292 (password_mod_LDFLAGS): Likewise.
21293 (normal_mod_SOURCES): Add normal/auth.c.
21294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21295 normal/auth.c.
21296 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21298 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21301 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21302 * include/grub/auth.h: New file.
21303 * include/grub/err.h (grub_err_t): New enum value
21304 GRUB_ERR_ACCESS_DENIED.
21305 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21306 'users'.
21307 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21308 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21309 users updated.
21310 * normal/auth.c: New file.
21311 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21312 (grub_cmdline_run): Don't allow to go to command line without
21313 authentication.
21314 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21315 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21316 menuentry without superuser rights.
21317 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21318 user isn't a superuser.
21319
70f1161d 213202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 Save space by inlining misc.c functions.
21323
21324 * kern/misc.c (grub_iswordseparator): Made static.
21325 * kern/misc.c (grub_strcat): Moved from here ...
21326 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21327 * kern/misc.c (grub_strncat): Moved from here ...
21328 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21329 * kern/misc.c (grub_strcasecmp): Moved from here ...
21330 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21331 * kern/misc.c (grub_strncasecmp): Moved from here ...
21332 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21333 * kern/misc.c (grub_isalpha): Moved from here ...
21334 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21335 * kern/misc.c (grub_isdigit): Moved from here ...
21336 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21337 * kern/misc.c (grub_isgraph): Moved from here ...
21338 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21339 * kern/misc.c (grub_tolower): Moved from here ...
21340 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21341
48e40bff 213422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 * script/sh/function.c (grub_script_function_find): Cut error message
21345 not to flood terminal.
21346 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21347 limit.
21348 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21349
c385bfc3 213502009-08-24 Colin Watson <cjwatson@ubuntu.com>
21351
21352 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21353 `report' grub_uint8_t *.
21354 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21355 Use a 50-millisecond timeout rather than just repeating
21356 grub_usb_keyboard_getreport 50 times.
21357 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21358
2d21e3e8 213592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 Rename *_partition_map to part_*
21362
21363 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21364 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21365 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21366 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21367 All users updated.
21368 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21369 All users updated.
21370 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21371 * util/grub-probe.c (probe_partmap): Don't transform partition name
21372 to get module name.
21373
dd103c4e 213742009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 Fix OpenBSD and NetBSD support.
21377
21378 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21379 memory address conflict.
21380 (OPENBSD_MMAP_ACPI): New definition.
21381 (OPENBSD_MMAP_NVS): Likewise.
21382 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21383 and OPENBSD_MMAP_NVS.
21384 Add memory map terminator
21385 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21386 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21387
16c84d74 213882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 Let user specify NetBSD root device.
21391
21392 * loader/i386/bsd.c (netbsd_root): New variable.
21393 (netbsd_opts): New option 'root'.
21394 (NETBSD_ROOT_ARG): New macro.
21395 (grub_netbsd_boot): Use 'netbsd_root'.
21396 (grub_bsd_unload): Free 'netbsd_root'.
21397 (grub_cmd_netbsd): Fill 'netbsd_root'.
21398
adb29902 213992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 Support for 64-bit NetBSD.
21402
21403 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21404 point when booting non-FreeBSD.
21405
f5ae9f74 214062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 Support --no-smp and --no-acpi for NetBSD.
21409
21410 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21411 (NETBSD_AB_NOACPI): Likewise.
21412 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21413 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21414
de74f136 214152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21416
21417 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21418 errors.
21419 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21420 errors. Call grub_error when needed.
21421
e9a925da 214222009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * commands/search.c (search_fs): Try searching without autoload first.
21425 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21426 filesystem module explicitly for faster booting.
21427
5174302b 214282009-08-23 Colin Watson <cjwatson@ubuntu.com>
21429
21430 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21431
c8c80635 214322009-08-23 Colin Watson <cjwatson@ubuntu.com>
21433
21434 * util/grub.d/30_os-prober.in: Disable os-prober if
21435 `GRUB_DISABLE_OS_PROBER' was set to true.
21436
71acf5e5 214372009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21438
21439 * partmap/pc.c: Rename to ...
21440 * partmap/msdos.c: ... this. Update all users.
21441 (grub_pc_partition_map): Rename to ...
21442 (grub_msdos_partition_map): ... this. Update all users.
21443
21444 * parttool/pcpart.c: Rename to ...
21445 * parttool/msdospart.c: ... this. Update all users.
21446
21447 * include/grub/pc_partition.h: Rename to ...
21448 * include/grub/msdos_partition.h: ... this. Update all users.
21449 (grub_pc_partition_bsd_entry): Rename to ...
21450 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21451 (grub_pc_partition_disk_label): Rename to ...
21452 (grub_msdos_partition_disk_label): ... this. Update all users.
21453 (grub_pc_partition_entry): Rename to ...
21454 (grub_msdos_partition_entry): ... this. Update all users.
21455 (grub_pc_partition_mbr): Rename to ...
21456 (grub_msdos_partition_mbr): ... this. Update all users.
21457 (grub_pc_partition): Rename to ...
21458 (grub_msdos_partition): ... this. Update all users.
21459 (grub_pc_partition_is_empty): Rename to ...
21460 (grub_msdos_partition_is_empty): ... this. Update all users.
21461 (grub_pc_partition_is_extended): Rename to ...
21462 (grub_msdos_partition_is_extended): ... this. Update all users.
21463 (grub_pc_partition_is_bsd): Rename to ...
21464 (grub_msdos_partition_is_bsd): ... this. Update all users.
21465
21466 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21467 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21468 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21469 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21470 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21471 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21472 (gpt_mod_LDFLAGS): Rename to ...
21473 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21474 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21475 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21476 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21477 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21478 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21479 (part_gpt_mod_LDFLAGS): ... this.
21480 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21481 `pcpart.mod' to `msdospart.mod'.
21482 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21483 to ...
21484 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21485 (msdospart_mod_LDFLAGS): ... this.
21486
c11fded5 214872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21490 (openbsd_opts): Likewise.
21491 (netbsd_opts): Likewise.
21492 (freebsd_flags): Added 0 terminator.
21493 (openbsd_flags): Likewise.
21494 (netbsd_flags): Likewise.
21495 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21496 (grub_cmd_freebsd): Transformed into extended command.
21497 (grub_cmd_openbsd): Likewise.
21498 (grub_cmd_netbsd): Likewise.
21499 (cmd_freebsd): Changed type to grub_extcmd_t.
21500 (cmd_openbsd): Likewise.
21501 (cmd_netbsd): Likewise.
21502 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21503 grub_cmd_openbsd as extended commands.
21504 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21505 cmd_netbsd and cmd_openbsd
21506
11d1c769 215072009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21510
7a9094e5 215112009-08-21 Pavel Roskin <proski@gnu.org>
21512
5496c37e 21513 * Makefile.in (install-local): When checking if a file is in the
21514 build directory, use "test -e" to detect symlinks.
21515
7a9094e5 21516 * Makefile.in (install-local): Remove all files in
21517 $(DESTDIR)$(pkglibdir) before installing new files there.
21518
e53cea11 215192009-08-18 Felix Zielcke <fzielcke@z-51.de>
21520
21521 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21522 grub-mkelfimage.
21523
9aced544 215242009-08-18 Felix Zielcke <fzielcke@z-51.de>
21525
21526 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21527 explicitly specified by the user.
21528
b7da6bab 215292009-08-18 Pavel Roskin <proski@gnu.org>
21530
21531 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21532 grub_uint8_t pointer for data.
21533 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21534 Likewise.
21535 * video/fb/fbutil.c: Remove unnecessary casts.
21536
19f1b335 215372009-08-17 Michal Suchanek <hramrach@centrum.cz>
21538
21539 VBE cleanup.
21540
21541 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21542 (grub_vbe_set_video_mode): Save active mode info
21543 only after setting the mode.
21544 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21545 second argument.
21546
2f467aa9 215472009-08-17 Michal Suchanek <hramrach@centrum.cz>
21548
21549 Rename variables for clarity.
21550
21551 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21552 (active_vbe_mode_info): ... this. All users updated.
21553 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21554 All users updated.
21555 (initial_mode): Rename to ...
21556 (initial_vbe_mode): ... this. All users updated.
21557 (mode_in_use): Rename to ..
21558 (vbe_mode_in_use): ... this. All users updated.
21559 (mode_list): Rename to ..
21560 (vbe_mode_list): ... this. All users updated.
21561 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21562 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21563 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21564 'mode_list_size' to 'vbe_mode_list_size'.
21565 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21566 'best_mode_info' to 'best_vbe_mode_info' and
21567 'best_mode' to 'best_vbe_mode'
21568
6025fcd7 215692009-08-17 Michal Suchanek <hramrach@centrum.cz>
21570
21571 Remove duplicate grub_video_fb_get_video_ptr.
21572
21573 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21574 (grub_video_fb_get_video_ptr): ... this.
21575 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21576 * video/fb/fbutil.c: Add comment about addressing.
21577 (get_data_ptr): Rename to ...
21578 (grub_video_fb_get_video_ptr): ... this. All users updated.
21579 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21580
cc8c6faf 215812009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21582
21583 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21584 grub_dprintf() that was just added.
21585
08aa61f0 215862009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21587
21588 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21589 (DEFAULT_VIDEO_MODE): Remove macros.
21590 (grub_linux_boot): Remove assumption that Linux has FB support,
21591 and use "text" as default video mode.
21592
7cef4f75 215932009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21596 grub_dprintf.
21597 * fs/fat.c (grub_fat_read_data): Likewise.
21598
e1f39873 215992009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21602 payload.
21603 (grub_module): Likewise.
21604
c166d79e 216052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21608 mbi->cmdline but free playground.
21609
c60cee8e 216102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 Handle group offset on UFS1.
21613
21614 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21615 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21616
c0d8b5d4 216172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21618
21619 Split ufs.mod into ufs1.mod and ufs2.mod.
21620
21621 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21622 (grub_fstest_SOURCES): Likewise.
21623 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21624 (ufs_mod_SOURCES): Remove.
21625 (ufs_mod_CFLAGS): Likewise.
21626 (ufs_mod_LDFLAGS): Likewise.
21627 (ufs1_mod_SOURCES): New variable.
21628 (ufs1_mod_CFLAGS): Likewise.
21629 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21630 (ufs2_mod_SOURCES): New variable.
21631 (ufs2_mod_CFLAGS): Likewise.
21632 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21634 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21635 Likewise.
21636 (grub_emu_SOURCES): Likewise.
21637 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21638 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21639 (grub_setup_SOURCES): Likewise.
21640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21641 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21642 (grub_setup_SOURCES): Likewise.
21643 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21644 Likewise.
21645 * fs/ufs2.c: New file.
21646 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21647
d3539132 216482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 Framebuffer split.
21651
21652 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21653 subsystem at the end.
21654 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21655 (video_fb_mod_SOURCES): New variable.
21656 (video_fb_mod_CFLAGS): Likewise.
21657 (video_fb_mod_LDFLAGS): Likewise.
21658 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21659 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21660 * video/i386/pc/vbeblit.c: Moved from here ...
21661 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21662 * video/i386/pc/vbefill.c: Moved from here ...
21663 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21664 * video/i386/pc/vbeutil.c: Moved from here ...
21665 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21666 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21667 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21668 * include/grub/i386/pc/vbefill.h: Moved from here ...
21669 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21670 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21671 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21672 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21673 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21674 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21675 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21676 (grub_video_adapter): Added 'get_info_and_fini'.
21677 (grub_video_get_info_and_fini): New prototype.
21678 (grub_video_set_mode): make modestring const char *.
21679 * loader/i386/linux.c (grub_linux_setup_video): Use
21680 grub_video_get_info_and_fini.
21681 (grub_linux_boot): Move modesetting just before booting.
21682 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21683 grub_video_get_info_and_fini.
21684 * video/i386/pc/vbe.c: Moved framebuffer part ...
21685 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21686 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21687 grub_video_fbstd_colors and grub_video_fb_set_palette.
21688 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21689 grub_video_fb_init.
21690 (grub_video_vbe_fini): Use grub_video_fb_fini.
21691 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21692 render_target and use grub_video_fb_set_active_render_target and
21693 grub_video_fb_set_palette.
21694 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21695 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21696 (grub_video_vbe_adapter): Use framebuffer.
21697 * video/video.c (grub_video_get_info_and_fini): New function.
21698 (grub_video_set_mode): Make modestring const char *.
21699 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21700 values are already initialised.
21701
d404ee56 217022009-08-14 Pavel Roskin <proski@gnu.org>
21703
21704 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21705 ABS and APPLE_CC.
21706 * boot/i386/pc/diskboot.S: Likewise.
21707 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21708 sectors allow compilation on MacOSX.
21709 * conf/i386-pc.rmk: Enable unconditional compilation of
21710 lnxboot.img.
21711
9a10df16 217122009-08-13 Colin Watson <cjwatson@ubuntu.com>
21713
21714 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21715 * util/grub.d/00_header.in: Enter interruptible sleep if
21716 GRUB_HIDDEN_TIMEOUT is set.
21717
be3c9ca7 217182009-08-13 Yves Blusseau <blusseau@zetam.org>
21719
21720 * include/grub/symbol.h: Add the LOCAL macro.
21721 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21722 starting with "L_".
21723
1f9e557e 217242009-08-13 Pavel Roskin <proski@gnu.org>
21725
9ca62843 21726 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21727 any modern compilers we support.
21728
1f9e557e 21729 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21730 Use local labels starting with "L_" so that Apple assembler
21731 knows they are local.
21732
81623db6 217332009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21734
21735 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21736 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21737 (bsd_kernel_types): ... this enum.
21738
21739 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21740 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21741 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21742
21743 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21744 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21745 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21746 messages.
21747
f5d35e7a 217482009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21749
21750 * util/grub-dumpdevtree: Moved from here ...
21751 * util/i386/efi/grub-dumpdevtree: ... to here.
21752 (hexify): New function. Converts a string to its hex version.
21753 Generate hex versions of "efi" and "device-properties" by calling
21754 hexify() on the ASCII strings rather than by hardcoding numbers.
21755
d1e1d527 217562009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21757
21758 * fs/jfs.c: Update copyright year.
21759
1ebbe064 217602009-08-08 Felix Zielcke <fzielcke@z-51.de>
21761
21762 * util/grub.d/00_header.in: Fix a comment.
21763 * util/grub.d/10_linux.in: Likewise.
21764 * util/grub.d/10_windows.in: Likewise.
21765 * util/grub.d/10_hurd.in: Likewise.
21766
a78c8d24 217672009-08-08 Felix Zielcke <fzielcke@z-51.de>
21768
21769 * util/grub-mkconfig.in: Allow the user to specify the used font
21770 with GRUB_FONT.
21771
29a6b9e8 217722009-08-08 Pavel Roskin <proski@gnu.org>
21773
b5f16cc4 21774 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21775 available, xfs.mod needs it now.
21776
2f5cb827 21777 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21778 the "g" modifier in sed when the intention is to strip something
21779 once. This fixes comparison of kernels with multiple dashes.
21780
29a6b9e8 21781 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21782 on it. Add missing space before closing bracket. Fix
21783 misleading formatting.
21784
892a3d98 217852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21786
21787 * docs/grub.texi: Major overhaul. Remove all sections that are
21788 specific to GRUB Legacy, or mostly composed of Legacy-specific
21789 information.
21790
ed94253f 217912009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21792
21793 * docs/version.texi: New file. Provides version information for
21794 grub.texi.
21795
126d6628 217962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21797
21798 * docs/grub.texi: Update CVS information to SVN.
21799 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21800
998b5aa9 218012009-08-07 Felix Zielcke <fzielcke@z-51.de>
21802
21803 * util/grub-mkconfig.in: Remove a wrong `fi'.
21804
818e094a 218052009-08-07 Felix Zielcke <fzielcke@z-51.de>
21806
21807 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21808 (grub_jfs_uuid): New function.
21809 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21810
b969c52f 218112009-08-07 Felix Zielcke <fzielcke@z-51.de>
21812
21813 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21814 of it to ...
21815 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21816 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21817
7a4894cc 218182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21819
21820 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21821 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21822 Update all users.
21823
21824 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21825 not just "vmlinu[zx]".
21826 Moved from here ...
21827 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21828 all users.
21829
21830 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21831 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21832 all users.
21833
4e2171f8 218342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21835
21836 * util/grub.d/10_freebsd.in: Use an absolute device path for
21837 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21838
6dcfcb32 218392009-08-06 Felix Zielcke <fzielcke@z-51.de>
21840
21841 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21842 handling of multiple abstraction modules.
21843
f56a8756 218442009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21845
21846 Fix a bug resulting in black screen when loading Linux using a
21847 packed video mode.
21848
21849 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21850 function.
21851
21852 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21853 (grub_vbe_bios_getset_dac_palette_width): New function.
21854 (grub_vbe_bios_get_dac_palette_width)
21855 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21856 grub_vbe_bios_getset_dac_palette_width()).
21857
21858 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21859 check for return status.
21860 (grub_vbe_get_video_mode_info): When getting information for a packed
21861 mode (<= 8 bpp), obtain DAC palette width using
21862 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21863 {red,green,blue}_mark_size.
21864
222671b2 218652009-08-04 Felix Zielcke <fzielcke@z-51.de>
21866
ecb1a6d9 21867 * commands/search.c (options): Fix help output to match actual code.
222671b2 21868
f84114f5 218692009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21872 of homegrown code.
21873
bd288a20 218742009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21875
21876 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21877 on XFS or ReiserFS.
21878
8aab5e25 218792009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 Support Apple partition map with sector size different from 512 bytes.
21882
21883 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21884 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21885 and 'apart.partmap_size'.
21886
6ad6258a 218872009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
218882009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21889
21890 Fix cpuid command.
21891
21892 * commands/i386/cpuid.c (options): New variable.
21893 (grub_cmd_cpuid): Return real error.
21894 (GRUB_MOD_INIT(cpuid)): Declare options.
21895
67459bc6 218962009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21899 valid.
21900
fbc6ab54 219012009-07-31 Bean <bean123ch@gmail.com>
21902
21903 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21904 log2_inode.
21905 (grub_fshelp_node): Move inode field to the end.
21906 (grub_xfs_data): Remove inode field.
21907 (grub_xfs_inode_block): Calculate inode size using sblock.
21908 (grub_xfs_inode_offset): Likewise.
21909 (grub_xfs_read_inode): Calculate inode size using sblock.
21910 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21911 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21912 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21913 to match inode size.
21914 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21915 not accessible when data is null.
21916 (grub_xfs_open): Likewise.
21917
f45d6cfc 219182009-07-31 Bean <bean123ch@gmail.com>
21919
21920 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21921 Don't change pv->disk if it's already set.
21922
21923 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21924 (grub_raid_register): ... here.
21925 (grub_raid_rescan): Removed.
21926
21927 * include/grub/raid.h (grub_raid_rescan): Removed.
21928
21929 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21930 (fstest): Replace grub_raid_rescan with module fini function followed
21931 by init function.
21932
21933 * util/grub-probe.c: Add include file <grub/raid.h>.
21934 (probe_raid_level): New function.
21935 (probe): Detect abstraction by walking the disk device, support two
21936 level of abstraction (LVM on RAID) when detecting partition map.
21937
24443b5a 219382009-07-31 Pavel Roskin <proski@gnu.org>
21939
21940 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21941 to grub_zalloc(), it was erroneous.
21942 Reported by Bean <bean123ch@gmail.com>
21943
a275d9e7 219442009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21947 embedding zone, not only the first one.
a275d9e7 21948
56c5a47f 219492009-07-29 Joe Auricchio <jauricchio@gmail.com>
21950
21951 * term/gfxterm.c (clear_char): New function.
21952 (grub_virtual_screen_setup): Use clear_char.
21953 (scroll_up): Likewise.
21954 (grub_virtual_screen_cls): Likewise.
21955
67bb323a 219562009-07-29 Felix Zielcke <fzielcke@z-51.de>
21957
21958 * util/deviceiter.c (get_acceleraid_disk_name): New static
21959 function.
21960 (grub_util_iterate_devices): Handle Accelraid devices.
21961 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21962
388a7c75 219632009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21964
21965 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21966 separator for the suggested gfxpayload string (';' collides with the
21967 parser and needs escaping).
21968
3bb7abcf 219692009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21972 Clear direction flag before jumping to OS.
21973 (grub_multiboot2_real_boot): Likewise.
21974
2ddd36d7 219752009-07-28 Felix Zielcke <fzielcke@z-51.de>
21976
21977 * util/i386/pc/grub-install: Fix parsing of --disk-module
21978 option.
21979
c521b62b 219802009-07-28 Felix Zielcke <fzielcke@z-51.de>
21981
21982 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21983 when embedding.
21984
880e0a0c 219852009-07-26 Felix Zielcke <fzielcke@z-51.de>
21986
21987 * util/grub-mkconfig.in (package_version): New variable.
21988 Use it do display the version.
21989
2366e356 219902009-07-25 Felix Zielcke <fzielcke@z-51.de>
21991
21992 * kern/file.c (grub_file_open): Revert to previous check with
21993 grub_errno.
21994
7ad8c80e 219952009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21998 from help line. It's out of sync with code.
21999
72b9658b 220002009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22003 entries on failed boot.
22004
77435277 220052009-07-25 Felix Zielcke <fzielcke@z-51.de>
22006
22007 * kern/file.c (grub_file_open): Fix an error check.
22008
fcaa8b21 220092009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22010
35d16c74 22011 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22012 partition map couldn't be identified.
fcaa8b21 22013
48904cd1 220142009-07-23 Pavel Roskin <proski@gnu.org>
22015
ef3c317f 22016 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22017 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22018 case of little endian words becomes just an optimization.
22019 Respect const modifier.
ad8ea1f4 22020 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22021
48904cd1 22022 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22023 to avoid loss of upper bits if align is unsigned and shorter
22024 than addr.
22025
260c9a89 220262009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 UUID support for UFS
22029
22030 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22031 (grub_ufs_uuid): New function.
22032 (grub_ufs_fs): add .uuid
22033
f76ce889 220342009-07-21 Pavel Roskin <proski@gnu.org>
22035
22036 * kern/dl.c (grub_dl_check_header): Make static.
22037
6a6cbcaf 220382009-07-21 Felix Zielcke <fzielcke@z-51.de>
22039
22040 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22041 add drivemap for Vista. It breaks Windows 7.
22042
cffcddb2 220432009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22046 128 bytes
22047
1ef44b80 220482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 Add BFS support
22051
22052 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22053 (grub_fstest_SOURCES): Likewise.
22054 (pkglib_MODULES): Add befs.mod.
22055 (befs_mod_SOURCES): New variable.
22056 (befs_mod_CFLAGS): Likewise.
22057 (befs_mod_LDFLAGS): Likewise.
22058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22059 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22060 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22061 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22062 (grub_setup_SOURCES): Likewise.
22063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22065 (grub_setup_SOURCES): Likewise.
22066 * fs/befs.c: New file.
22067 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22068 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22069 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22070 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22071 (B_KEY_INDEX_ALIGN): New declaration.
22072 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22073 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22074 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22075 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22076 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22077 (grub_afs_mount) [MODE_BFS]: Likewise.
22078 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22079 (grub_afs_fs): Use GRUB_AFS_FSNAME
22080 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22081 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22082 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22083 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22084
4f253044 220852009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22086
22087 * util/getroot.c (find_root_device): Add support for MacOSX.
22088 * util/hostdisk.c: Likewise.
22089
57a55913 220902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22091
22092 * font/font.c (find_glyph): Check whether a font is present to avoid
22093 segmentation fault.
75421ca9 22094
220952009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22096
22097 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22098
e98cd0c2 220992009-07-20 Pavel Roskin <proski@gnu.org>
22100
22101 * configure.ac: Trim excessively wordy excuses.
22102
1d2d169a 221032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 Add symlink, mtime and label support to AtheFS.
22106
22107 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22108 (grub_afs_iterate_dir): Handle symlinks.
22109 (grub_afs_open): Use grub_afs_read_symlink.
22110 (grub_afs_dir): Likewise.
22111 Pass mtime.
22112 (grub_afs_label): New function.
22113 (grub_afs_fs): Add grub_afs_label.
22114 (grub_afs_read_symlink): New function.
22115
186f3189 221162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Fix AtheFS support.
22119
22120 * fs/afs.c: Fix comments style.
22121 (grub_afs_blockrun): Declare as packed.
22122 (grub_afs_datastream): Likewise.
22123 (grub_afs_bnode): Likewise.
22124 (grub_afs_btree): Likewise.
22125 (grub_afs_sblock): Likewise.
22126 Declare `name' as char.
22127 (grub_afs_inode): Declare as packed.
22128 Change void *vnode to grub_uint32_t unused.
22129 (grub_afs_iterate_dir): Check that key_size is positive.
22130 (grub_afs_mount): Don't read superblock twice.
75421ca9 22131 (grub_afs_dir): Don't free node in case of error,
186f3189 22132 grub_fshelp_find_file already handles this.
22133 (grub_afs_open): Likewise.
22134
5680109e 221352009-07-19 Pavel Roskin <proski@gnu.org>
22136
22137 * Makefile.in: Remove LIBLZO and enable_lzo.
22138 * conf/i386-pc.rmk: Remove lzo support.
22139 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22140 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22141 support.
22142 * kern/i386/pc/lzo1x.S: Remove.
22143 * kern/i386/pc/startup.S: Remove lzo support.
22144 * util/i386/pc/grub-mkimage.c: Likewise.
22145
ac70fa32 221462009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22149 * fs/xfs.c (grub_xfs_dir): Likewise.
22150 * fs/afs.c (grub_afs_dir): Likewise.
22151 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22152 (grub_iso9660_open): Likewise.
22153 * fs/jfs.c (grub_jfs_open): Likewise.
22154 * fs/ext2.c (grub_ext2_dir): Likewise.
22155 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22156 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22157
eab58da2 221582009-07-16 Pavel Roskin <proski@gnu.org>
22159
d2838156 22160 * configure.ac: Never add "-c" to CFLAGS.
22161
55c70904 22162 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22163
43e6200c 22164 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22165 grub_cv_cc_efiemu should be used.
22166
ce7a733d 22167 * configure.ac: Typo fixes.
22168
eab58da2 22169 * kern/mm.c (grub_zalloc): New function.
22170 (grub_debug_zalloc): Likewise.
22171 * include/grub/mm.h: Declare grub_zalloc() and
22172 grub_debug_zalloc().
22173 * util/misc.c (grub_zalloc): New function.
22174 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22175 instead of grub_malloc(), remove unneeded initializations.
22176 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22177 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22178 * commands/parttool.c (grub_cmd_parttool): Likewise.
22179 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22180 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22181 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22182 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22183 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22184 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22185 (grub_cmd_efiemu_pnvram): Likewise.
22186 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22187 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22188 (grub_iso9660_iterate_dir): Likewise.
22189 * fs/jfs.c (grub_jfs_opendir): Likewise.
22190 * fs/ntfs.c (list_file): Likewise.
22191 (grub_ntfs_mount): Likewise.
22192 * kern/disk.c (grub_disk_open): Likewise.
22193 * kern/dl.c (grub_dl_load_core): Likewise.
22194 * kern/elf.c (grub_elf_file): Likewise.
22195 * kern/env.c (grub_env_context_open): Likewise.
22196 (grub_env_set): Likewise.
22197 (grub_env_set_data_slot): Likewise.
22198 * kern/file.c (grub_file_open): Likewise.
22199 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22200 * loader/i386/multiboot.c (grub_module): Likewise.
22201 * loader/xnu.c (grub_xnu_create_key): Likewise.
22202 (grub_xnu_create_value): Likewise.
22203 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22204 (read_config_file): Likewise.
22205 * normal/menu_entry.c (make_screen): Likewise.
22206 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22207 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22208 * script/sh/script.c (grub_script_parse): Likewise.
22209 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22210 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22211 * video/readers/png.c (grub_png_output_byte): Likewise.
22212 (grub_video_reader_png): Likewise.
22213
830afef7 222142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22215
22216 Enable all targets that can be built by default
22217
830afef7 22218 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22219 grub-mkfont and grub-fstest if they can be built
22220
ee293aee 222212009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22222
22223 Fix hang and segmentation fault in grub-emu-usb
22224
22225 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22226 * util/usb.c (grub_libusb_devices): likewise
22227 (grub_libusb_init): rename to ...
22228 (GRUB_MOD_INIT (libusb)):...this
22229 (grub_libusb_fini): rename to ..
22230 (GRUB_MOD_FINI (libusb)):...this
22231 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22232 * include/grub/disk.h (grub_raid_init): removed, it's useless
22233 (grub_raid_fini): likewise
22234 (grub_lvm_init): likewise
22235 (grub_lvm_fini): likewise
22236 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22237 by grub_init_all
22238
94414221 222392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 Fix libusb
22242
22243 * Makefile.in (LIBUSB): new macro
22244 * genmk.rb (Utility/print_tail): new method
22245 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22246 (top level): call util.print_tail at the end.
22247
59ade63d 222482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22249
22250 Make FreeBSD accept zpool.cache
22251
22252 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22253 type is /boot/zfs/zpool.cache
22254
a58da8c7 222552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22256
22257 Fix 64-bit efiemu
22258
22259 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22260 correct wrong typedef
22261 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22262
20591577 222632009-07-15 Pavel Roskin <proski@gnu.org>
22264
560ca572 22265 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22266 * kern/disk.c (struct grub_disk_cache): Likewise.
22267
e8e8e4fd 22268 * commands/probe.c (options): Typo fix.
22269
fde24e10 22270 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22271 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22272 accordingly.
22273 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22274
379c54c1 22275 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22276 the end of "Error" to make the message more readable.
22277
7bd8f5bf 22278 * boot/i386/pc/boot.S (kernel_segment): Remove.
22279 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22280 for destination.
22281
40b132c5 22282 * boot/i386/pc/boot.S (boot_version): Remove.
22283 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22284 Remove.
22285
20591577 22286 * include/grub/i386/pc/boot.h: Sort all offsets.
22287 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22288 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22289 * boot/i386/pc/boot.S: Assert location of every offset listed in
22290 include/grub/i386/pc/boot.h.
22291
2df32b2c 222922009-07-13 Pavel Roskin <proski@gnu.org>
22293
44b5d879 22294 * include/grub/i386/coreboot/machine.h: Rename
22295 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22296 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22297 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22298
17dc3751 22299 * kern/dl.c: Force native word size to suppress warnings when
22300 compiling grub-emu.
22301
2df32b2c 22302 * kern/device.c (grub_device_iterate): Change struct part_ent to
22303 hold the name, not a pointer to it. Use one grub_malloc() per
22304 partition, not two. Free partition_name if grub_malloc() fails.
22305 Set ents to NULL only before grub_partition_iterate() is called.
22306
75c59f59 223072009-07-11 Bean <bean123ch@gmail.com>
22308
22309 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22310 childname.
22311
0ae1bf88 223122009-07-10 Bean <bean123ch@gmail.com>
223132009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22314
22315 * kern/ieee1275/openfw.c (grub_children_iterate)
22316 (grub_devalias_iterate): Fix size evaluation for property or path
22317 strings, which was broken since r2132.
22318
8279cade 223192009-07-07 Pavel Roskin <proski@gnu.org>
22320
7d8a52d3 22321 * commands/search.c (search_file): Merge into ...
22322 (search_fs): ... this. Accept search type as argument.
22323 (grub_cmd_search): Pass search type to search_fs().
22324
25f9a05a 22325 * include/grub/util/console.h: New file.
22326 * util/console.c: Use it instead of grub/machine/console.h.
22327 * util/grub-emu.c: Likewise.
22328
8279cade 22329 * lib/arg.c (find_long_option): Remove.
22330 (find_long): Add `len' argument, make `s' const char *.
22331 (grub_arg_parse): Parse long options in place, not in a
22332 temporary buffer.
22333
4a11b60f 223342009-07-06 Pavel Roskin <proski@gnu.org>
22335
99f68041 22336 * commands/search.c (search_fs): Fix potential NULL pointer
22337 dereference.
22338
4a11b60f 22339 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22340 function pointer.
22341
e110f4de 223422009-07-06 Daniel Mierswa <impulze@impulze.org>
22343
22344 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22345 comparison.
22346
46eeb6a2 223472009-07-05 Pavel Roskin <proski@gnu.org>
22348
bab74958 22349 * include/grub/i386/linux.h (struct linux_kernel_params):
22350 Restore padding3, it's still needed.
22351
46eeb6a2 22352 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22353 FreeBSD.
22354 * util/osdetect.lua: Likewise.
22355
b4a1dc79 223562009-07-05 Bean <bean123ch@gmail.com>
22357
22358 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22359
22360 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22361 (grub_lua_getenv): Likewise.
22362 (grub_lua_setenv): Likewise.
22363 (save_errno): New function.
22364 (push_result): Likewise.
22365 (grub_lua_enum_device): Likewise.
22366 (grub_lua_enum_file): Likewise.
22367 (grub_lua_file_open): Likewise.
22368 (grub_lua_file_close): Likewise.
22369 (grub_lua_file_seek): Likewise.
22370 (grub_lua_file_read): Likewise.
22371 (grub_lua_file_getline): Likewise.
22372 (grub_lua_file_getsize): Likewise.
22373 (grub_lua_file_getpos): Likewise.
22374 (grub_lua_file_eof): Likewise.
22375 (grub_lua_file_exist): Likewise.
22376 (grub_lua_add_menu): Likewise.
22377
22378 * script/lua/grub_lua.h (isupper): New inline function.
22379 (islower): Likewise.
22380 (ispunct): Likewise.
22381 (isxdigit): Likewise.
22382 (strcspn): Change to normal function.
22383 (strpbkr): New function declaration.
22384 (memchr): Likewise.
22385
22386 * script/lua/grub_main.c (scan_str): New function.
22387 (strcspn): Likewise.
22388 (strpbrk): Likewise.
22389 (memchr): Likewise.
22390
22391 * script/lua/linit.c (lualibs): Enable the string library.
22392
22393 * util/osdetect.lua: New file.
22394
2da92295 223952009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22396
22397 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22398 `capabilities' member.
22399
b2582ec9 224002009-07-02 Pavel Roskin <proski@gnu.org>
22401
22402 * genparttoollist.sh: Add missing newline at the end.
22403
32622956 224042009-07-01 Pavel Roskin <proski@gnu.org>
22405
87a7339e 22406 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22407
d23af54e 22408 * util/hostdisk.c (open_device): Remove `const' from
22409 `sysctl_size', as sysctlbyname() can change it (in this case it
22410 doesn't actually happen).
22411
c94b18a9 22412 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22413 using signed long int constants.
22414
c6cd3ef0 22415 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22416 constant to avoid a warning on FreeBSD.
22417
0df63420 22418 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22419 where it's needed.
22420
999577f1 22421 * Makefile.in: Install include/grub/machine symlink.
22422
6f41557f 22423 * Makefile.in: When installing symlinks, use "cp -fR", which
22424 works on FreeBSD and MacOSX.
22425 From Yves Blusseau <cl7m42e02@sneakemail.com>
22426
c8d22988 22427 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22428 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22429
1b96e952 22430 * util/misc.c: Move grub_reboot() and grub_halt() ...
22431 * util/grub-emu.c: ... here. Make main_env static.
22432 * include/grub/util/misc.h: Remove main_env.
22433
2ef0084d 22434 * kern/mm.c: Use correct format to print size_t.
22435
32622956 22436 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22437 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22438 * kern/powerpc/dl.c: Likewise.
22439 * kern/sparc64/dl.c: Likewise.
22440 * kern/x86_64/dl.c: Likewise.
22441
3f7f0cd0 224422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22443
22444 Fix grub-emu build on sparc64-ieee1275.
22445
75421ca9 22446 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22448
211d06b5 224492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22450
22451 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22452 (grub_reboot, grub_halt): New functions.
22453
22454 * util/i386/pc/misc.c: Delete. Update all users.
22455 * util/sparc64/ieee1275/misc.c: Likewise.
22456 * util/powerpc/ieee1275/misc.c: Likewise.
22457
aaf53e3c 224582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22459
22460 * conf/i386.rmk (setjmp_mod_SOURCES)
22461 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22462 * conf/common.rmk (setjmp_mod_SOURCES)
22463 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22464 to use $(target_cpu).
22465 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22466 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22467 * conf/powerpc-ieee1275.rmk: Likewise.
22468 * conf/sparc64-ieee1275.rmk: Likewise.
22469
22470 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22471 $(target_cpu) for kern/$(target_cpu)/dl.c.
22472 * conf/i386-efi.rmk: Likewise.
22473 * conf/i386-ieee1275.rmk: Likewise.
22474 * conf/x86_64-efi.rmk: Likewise.
22475 * conf/i386-coreboot.rmk: Likewise.
22476 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22477 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22478 kern/$(target_cpu)/cache.S.
22479 * conf/sparc64-ieee1275.rmk: Likewise.
22480
a337130b 224812009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22482
22483 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22484 type to `grub_uint8_t', and adjust `padding9' accordingly.
22485
c6fe4d53 224862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22487
b09db61d 22488 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22489
c6fe4d53 22490 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22491 assembly in final jump, using register constraints.
22492
b09db61d 22493 (grub_linux_boot): For text mode, initialize `have_vga' using
22494 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22495
22496 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22497 right before the final jump.
22498
22499 Set `video_mode' to 0x3.
22500
22501 Document initialization of `video_page', `video_mode' and
22502 `video_ega_bx'.
22503
28333ad0 225042009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22505
22506 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22507 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22508 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22509
02164e1b 225102009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22511
22512 Fix build on Debian / sparc.
22513
22514 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22515
18b6c557 225162009-06-28 Pavel Roskin <proski@gnu.org>
22517
85f2aab6 22518 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22519 fix a warning.
22520
18b6c557 22521 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22522
ad760f81 225232009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22526 `err'.
22527
87a4623b 225282009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22529
22530 Revert r2338.
22531
22532 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22533 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22534 grub_errno / grub_errmsg appropriately.
87a4623b 22535 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22536
8231fb77 225372009-06-27 Pavel Roskin <proski@gnu.org>
225382009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22539
22540 * include/grub/dl.h: Include grub/elf.h.
22541 (struct grub_dl): Add symtab field.
22542 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22543 GRUB_MODULES_MACHINE_READONLY.
22544 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22545 of the header for read-only modules.
22546 (grub_dl_unload): Free mod->symtab for read-only modules.
22547 * kern/i386/dl.c: Use mod->symtab.
22548 * kern/powerpc/dl.c: Likewise.
22549 * kern/sparc64/dl.c: Likewise.
22550 * kern/x86_64/dl.c: Likewise.
22551
22552 * conf/i386-qemu.rmk: New file.
22553 * kern/i386/qemu/startup.S: Likewise.
22554 * kern/i386/qemu/mmap.c: Likewise.
22555 * boot/i386/qemu/boot.S: Likewise.
22556 * include/grub/i386/qemu/time.h: Likewise.
22557 * include/grub/i386/qemu/serial.h: Likewise.
22558 * include/grub/i386/qemu/kernel.h: Likewise.
22559 * include/grub/i386/qemu/console.h: Likewise.
22560 * include/grub/i386/qemu/boot.h: Likewise.
22561 * include/grub/i386/qemu/init.h: Likewise.
22562 * include/grub/i386/qemu/machine.h: Likewise.
22563 * include/grub/i386/qemu/loader.h: Likewise.
22564 * include/grub/i386/qemu/memory.h: Likewise.
22565
22566 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22567 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22568 [qemu] (pkglib_IMAGES): Add `boot.img'.
22569 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22570 [qemu] (boot_img_FORMAT): New variables.
22571 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22572 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22573 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22574 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22575 [qemu] (kernel_img_FORMAT): New variables.
22576
22577 * configure.ac: Recognise `i386-qemu'.
22578
22579 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22580 (for no compression).
22581 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22582 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22583 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22584 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22585 ifdefs).
22586
97fe384e 225872009-06-27 Pavel Roskin <proski@gnu.org>
22588
22589 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22590 read.
22591 * efiemu/prepare32.c: Likewise.
22592 * efiemu/prepare64.c: Likewise.
22593
c402ab17 225942009-06-26 Pavel Roskin <proski@gnu.org>
22595
22596 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22597 * include/grub/elf.h: Define symbols without "32" or "64" based
22598 on GRUB_TARGET_WORDSIZE.
22599 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22600 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22601 ELF definitions.
22602 * efiemu/loadcore64.c: Likewise.
22603 * loader/i386/bsd32.c: Likewise.
22604 * loader/i386/bsd64.c: Likewise.
22605 * kern/dl.c: Remove own ELF definitions.
22606 * util/i386/efi/grub-mkimage.c: Likewise.
22607
9bbdfd4d 226082009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22609
22610 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22611 segment 0x0 unconditionally, because the reference generated by
22612 GAS is an absolute address.
22613
a42ce6e9 226142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22615
22616 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22617 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22618
c952cf92 226192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22620
22621 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22622 indexes. Check for -f explicitly.
cc3752ad 22623 (search_file): Improve error message.
22624 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22625
132a0a59 226262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22627
22628 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22629 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22630
387a140c 226312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22632
22633 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22634 * conf/i386-ieee1275.rmk: Likewise.
22635 * conf/i386-coreboot.rmk: Likewise.
22636
22637 * kern/i386/pc/startup.S (grub_stop): Remove function.
22638 * kern/i386/ieee1275/startup.S: Likewise.
22639 * kern/i386/coreboot/startup.S: Likewise.
22640 * kern/i386/misc.S (grub_stop): New function.
22641
41da9665 226422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22643
22644 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22645 * kern/i386/realmode.S (real_to_prot): ... to here.
22646
bf337234 226472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22648
22649 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22650 with `kernel.img'.
22651 (kernel_elf_SOURCES): Rename to ...
22652 (kernel_img_SOURCES): ... this.
22653 (kernel_elf_HEADERS): Rename to ...
22654 (kernel_img_HEADERS): ... this. Update all users.
22655 (kernel_elf_ASFLAGS): Rename to ...
22656 (kernel_img_ASFLAGS): ... this.
22657 (kernel_elf_CFLAGS): Rename to ...
22658 (kernel_img_CFLAGS): ... this.
22659 (kernel_elf_LDFLAGS): Rename to ...
22660 (kernel_img_LDFLAGS): ... this.
22661 * conf/i386-coreboot.rmk: Likewise.
22662 * conf/powerpc-ieee1275.rmk: Likewise.
22663
22664 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22665 with "kernel.img".
22666
f52196ff 226672009-06-21 Pavel Roskin <proski@gnu.org>
22668
c3cee413 22669 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22670 to match nested functions.
22671 * loader/sparc64/ieee1275/linux.c: Likewise.
22672
f52196ff 22673 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22674
58750afc 226752009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22676
22677 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22678 all i386 platforms.
22679
15355c7d 226802009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22681
22682 Fix asm file handling on ELF, and remove workarounds.
22683
22684 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22685 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22686 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22687 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22688
3f3ec72b 226892009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 Load BSD ELF modules
22692
22693 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22694 and loader/i386/bsd64.c
22695 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22696 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22697 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22698 (grub_freebsd_load_elfmodule32): New declaration
22699 (grub_freebsd_load_elfmoduleobj64): Likewise
22700 (grub_freebsd_load_elf_meta32): Likewise
22701 (grub_freebsd_load_elf_meta64): Likewise
22702 (grub_freebsd_add_meta): Likewise
22703 (grub_freebsd_add_meta_module): Likewise
22704 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22705 (grub_freebsd_add_meta_module): Likewise and move module-specific
22706 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22707 (grub_cmd_freebsd): Add elf-kernel specific parts
22708 based on grub_freebsd_add_meta_module
22709 (grub_cmd_freebsd_module): Add type parsing moved from
22710 grub_freebsd_add_meta_module
22711 (grub_cmd_freebsd_module_elf): New function
22712 (cmd_freebsd_module_elf): New variable
22713 (GRUB_MOD_INIT): Register freebsd_module_elf
22714 * loader/i386/bsd32.c: New file
22715 * loader/i386/bsd64.c: Likewise
22716 * loader/i386/bsdXX.c: Likewise
22717 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22718 (grub_elf64_load): Likewise
22719 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22720 All users updated
22721 (grub_elf64_load_hook_t): Likewise
22722
0db15301 227232009-06-21 Colin Watson <cjwatson@ubuntu.com>
22724
22725 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22726 variable.
22727 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22728 don't write a menu entry for recovery mode.
22729
546796c1 227302009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22731
22732 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22733 after it's no longer needed.
22734
cd7310d5 227352009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22736
22737 * include/grub/i386/loader.h (grub_linux_prot_size)
22738 (grub_linux_tmp_addr, grub_linux_real_addr)
22739 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22740 GRUB_MACHINE_PCBIOS.
22741 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22742 common grub_util_info() call to ...
22743 (generate_image): ... here.
22744 Fix use of uninitialized memory, comparison of signed with
22745 unsigned integers and memory leak.
22746 Remove bogus module address message.
22747
ab32d3b5 227482009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22751 grub_raid_register
22752 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22753
024ef597 227542009-06-19 Pavel Roskin <proski@gnu.org>
22755
22756 * configure.ac: Remove stray AC_MSG_CHECKING.
22757
3ac72b51 227582009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22761
e14cd814 227622009-06-18 Pavel Roskin <proski@gnu.org>
22763
22764 * conf/common.rmk: Add fs_file.mod.
22765 * disk/fs_file.c: New file.
22766 * include/grub/disk.h (enum grub_disk_dev_id): Add
22767 GRUB_DISK_DEVICE_FILE_ID.
22768
26586d98 227692009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 Fix build with Apple's toolchain. Part 2
22772
22773 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22774 a fake start
22775
26de2bcd 227762009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22777
22778 Fix build with Apple's toolchain. Part 1
22779
22780 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22781 for long calls
22782 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22783 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22784 Apple's toolchain
22785
09b3490b 227862009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 Fix warnings
22789
22790 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22791 (decomp_block): initialize ch
22792 use grub_memcpy instead of memcpy
22793
c22a006a 227942009-06-17 Pavel Roskin <proski@gnu.org>
22795
d3638678 22796 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22797 version, use declarations needed to use vga_text as the startup
22798 console.
22799
c22a006a 22800 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22801 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22802 the kernel.
22803 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22804 and grub_at_keyboard_fini(), it's done on module load and
22805 unload.
22806
05b129e0 228072009-06-17 Felix Zielcke <fzielcke@z-51.de>
22808
22809 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22810 file can't be found.
22811 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22812
cf24ed9e 228132009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22814
22815 Fix newline handling
22816
22817 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22818 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22819 (grub_script_yylex): don't segfault on unterminated script
22820 newline terminates command and variable
22821
74aa8e4b 228222009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22823
22824 avoid double grub_adjust_range call. Bug reported by David Simner
22825
22826 * kern/disk.c (grub_disk_write): change to raw disk access before
22827 calling disk_read
22828
1bd265f3 228292009-06-17 Colin Watson <cjwatson@ubuntu.com>
22830
22831 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22832 spaces, for the benefit of help2man.
22833 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22834
a2d08c06 228352009-06-16 Pavel Roskin <proski@gnu.org>
22836
22837 * kern/i386/halt.c: Include grub/machine/init.h.
22838 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22839
b97bcb19 228402009-06-16 Felix Zielcke <fzielcke@z-51.de>
22841
22842 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22843 drivemap menuentry.
22844
0644f96c 228452009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22846
22847 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22848 `echo' command.
22849
3ef17a2e 228502009-06-16 Pavel Roskin <proski@gnu.org>
22851
22852 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22853 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22854 save %dx, we only need %dl and we never change it.
22855 * boot/i386/pc/cdboot.S: Don't set the root drive.
22856 * boot/i386/pc/pxeboot.S: Likewise.
22857 * include/grub/i386/pc/boot.h: Remove
22858 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22859 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22860 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22861 * kern/i386/pc/init.c (make_install_device): Remove references
22862 to grub_root_drive.
22863 * kern/i386/pc/startup.S: Likewise.
22864 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22865
693fe637 228662009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22867
22868 xnu_uuid command
22869
22870 * commands/xnu_uuid.c: new file
22871 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22872 (xnu_uuid_mod_SOURCES): new variable
22873 (xnu_uuid_mod_CFLAGS): likewise
22874 (xnu_uuid_mod_LDFLAGS): likewise
22875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22876 * conf/i386-ieee1275.rmk: likewise
22877 * conf/i386-pc.rmk: likewise
22878 * conf/powerpc-ieee1275.rmk: likewise
22879 * conf/sparc64-ieee1275.rmk: likewise
22880 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22881
c9da87d0 228822009-06-16 Pavel Roskin <proski@gnu.org>
22883
22884 * configure.ac: Avoid '==' in test command, it's not portable.
22885
9c6f4596 228862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22887
22888 Probe command
22889
22890 * commands/probe.c: new file
22891 * conf/common.rmk (pkglib_MODULES): add probe.mod
22892 (probe_mod_SOURCES): new variable
22893 (probe_mod_CFLAGS): likewise
22894 (probe_mod_LDFLAGS): likewise
22895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22896 * conf/i386-ieee1275.rmk: likewise
22897 * conf/i386-pc.rmk: likewise
22898 * conf/powerpc-ieee1275.rmk: likewise
22899 * conf/sparc64-ieee1275.rmk: likewise
22900
70b7f9fd 229012009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22902
22903 Fix handling of string like \"hello\" and "a
22904 b"
22905
22906 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22907 (grub_script_yylex): fix parsing of quoting, escaping and newline
22908
71c79a6b 229092009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22910
dd74360c 22911 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22912 handling
dd74360c 22913
0644f96c 229142009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22915
22916 * util/grub-mkconfig.in: Fix parsing of --output option.
22917
e40893c3 229182009-06-12 Pavel Roskin <proski@gnu.org>
22919
22920 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22921 genmk.rb don't need to be generated or installed.
22922
3a1acfe2 229232009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 * commands/i386/pc/drivemap_int13h.S: add more comments
22926
3a4575d4 229272009-06-11 Pavel Roskin <proski@gnu.org>
22928
0658e928 22929 * Makefile.in (uninstall): Uninstall manuals.
22930
ca0388f0 22931 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22932 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22933 and update-grub_lib in two places.
22934 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22935
e3b27c39 22936 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22937 a compiler warning.
22938
3a4575d4 22939 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22940 `entry_lo' to fix variable shadowing.
22941
af1f4f55 229422009-06-11 Christian Franke <franke@computer.org>
22943
22944 * kern/misc.c (__enable_execute_stack): Add missing return type
22945 to prevent gcc warning.
22946
5225e649 229472009-06-11 Felix Zielcke <fzielcke@z-51.de>
22948
22949 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22950
7d83bd47 229512009-06-11 Pavel Roskin <proski@gnu.org>
22952
c1cb63ba 22953 * Makefile.in: Don't rely on any scripts being executable.
22954 Always use $(SHELL) to run shell scripts.
22955
7d83bd47 22956 * configure.ac: Always define ___main if using -nostdlib. This
22957 fixes tests on Cygwin.
22958
948f48e7 229592009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22960
22961 UDF fix
22962
7d83bd47 22963 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22964 is in bytes and not in blocks
7d83bd47 22965
8ada9bc1 229662009-06-11 Pavel Roskin <proski@gnu.org>
22967
22968 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22969 warning.
22970
25ad2323 229712009-06-11 Felix Zielcke <fzielcke@z-51.de>
22972
22973 * util/grub.d/30_os-prober.in: Fix a comment. Source
22974 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22975 to set the root device. Place drivemap command in the generated
22976 chain entry.
22977
e65acb0c 229782009-06-11 Pavel Roskin <proski@gnu.org>
22979
22980 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22981 have long been resolved.
22982
f285fe2d 229832009-06-11 Colin Watson <cjwatson@ubuntu.com>
22984
bd47b0b5 22985 * util/grub.d/10_linux.in: Capitalise "Linux".
22986
f285fe2d 22987 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22988
a0c62e4e 229892009-06-11 Pavel Roskin <proski@gnu.org>
22990
b6783cb2 22991 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22992 fix a gcc warning and ensure that the function won't ever exit.
22993
dde032e8 22994 * kern/i386/ieee1275/init.c: Add missing prototype for
22995 grub_stop_floppy().
22996
22cd079d 22997 * loader/ieee1275/multiboot2.c [__i386__]: Include
22998 grub/cpu/multiboot.h.
22999
a0c62e4e 23000 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23001 casts to short - they are not portable and cause warnings. Fix
23002 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23003
63963d17 230042009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Drivemap fixes
23007
23008 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23009 new function
23010 (grub_get_root_biosnumber_saved): new variable
23011 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23012 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23013 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23014 %dx after the call if necessary
23015 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23016 (boot_mod_SOURCES): remove
23017 (boot_mod_CFLAGS): remove
23018 (boot_mod_LDFLAGS): remove
23019 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23020 (boot_mod_SOURCES): new variable
23021 (boot_mod_CFLAGS): likewise
23022 (boot_mod_LDFLAGS): likewise
23023 * conf/i386-efi.rmk: likewise
23024 * conf/i386-ieee1275.rmk: likewise
23025 * conf/i386-pc.rmk: likewise
23026 * conf/powerpc-ieee1275.rmk: likewise
23027 * conf/sparc64-ieee1275.rmk: likewise
23028 * conf/x86_64-efi.rmk: likewise
23029 * include/grub/i386/pc/biosnum.h: new file
23030 * lib/i386/pc/biosnum.c: likewise
23031 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23032 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23033 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23034
33abf7ae 230352009-06-10 Pavel Roskin <proski@gnu.org>
23036
5ac35b35 23037 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23038 Use separate variables. Read only the file size at the end, but
23039 not the checksum that we don't use.
23040
5c5215d5 23041 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23042 Adjust all callers.
23043
27d5fef7 23044 * kern/ieee1275/openfw.c: Remove libc includes.
23045 * kern/ieee1275/cmain.c: Likewise.
23046 * include/grub/ieee1275/ieee1275.h: Likewise.
23047
33abf7ae 23048 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23049 compiler warnings.
23050
19d50c2b 230512009-06-10 Felix Zielcke <fzielcke@z-51.de>
23052
23053 * Makefile.in: Remove all trailing whitespace.
23054 * conf/i386-pc.rmk: Likewise.
23055 * conf/powerpc-ieee1275.rmk: Likewise.
23056 * conf/sparc64-ieee1275.rmk: Likewise.
23057 * docs/grub.texi: Likewise.
23058 * docs/texinfo.tex: Likewise.
23059 * disk/fs_uuid.c: Likewise.
23060 * disk/lvm.c: Likewise.
23061 * disk/scsi.c: Likewise.
23062 * disk/ata.c: Likewise.
23063 * disk/ieee1275/ofdisk.c: Likewise.
23064 * disk/i386/pc/biosdisk.c: Likewise.
23065 * disk/host.c: Likewise.
23066 * disk/raid.c: Likewise.
23067 * disk/efi/efidisk.c: Likewise.
23068 * disk/usbms.c: Likewise.
23069 * disk/memdisk.c: Likewise.
23070 * disk/loopback.c: Likewise.
23071 * kern/powerpc/dl.c: Likewise.
23072 * kern/device.c: Likewise.
23073 * kern/dl.c: Likewise.
23074 * kern/sparc64/dl.c: Likewise.
23075 * kern/ieee1275/ieee1275.c: Likewise.
23076 * kern/term.c: Likewise.
23077 * kern/fs.c: Likewise.
23078 * kern/i386/dl.c: Likewise.
23079 * kern/i386/pc/startup.S: Likewise.
23080 * kern/i386/pc/init.c: Likewise.
23081 * kern/i386/pc/mmap.c: Likewise.
23082 * kern/i386/pc/lzo1x.S: Likewise.
23083 * kern/i386/ieee1275/init.c: Likewise.
23084 * kern/i386/realmode.S: Likewise.
23085 * kern/i386/tsc.c: Likewise.
23086 * kern/partition.c: Likewise.
23087 * kern/corecmd.c: Likewise.
23088 * kern/file.c: Likewise.
23089 * kern/efi/efi.c: Likewise.
23090 * kern/efi/init.c: Likewise.
23091 * kern/efi/mm.c: Likewise.
23092 * kern/main.c: Likewise.
23093 * kern/err.c: Likewise.
23094 * kern/env.c: Likewise.
23095 * kern/disk.c: Likewise.
23096 * kern/generic/millisleep.c: Likewise.
23097 * kern/generic/rtc_get_time_ms.c: Likewise.
23098 * kern/misc.c: Likewise.
23099 * kern/parser.c: Likewise.
23100 * genmk.rb: Likewise.
23101 * configure.ac: Likewise.
23102 * boot/i386/pc/diskboot.S: Likewise.
23103 * boot/i386/pc/pxeboot.S: Likewise.
23104 * boot/i386/pc/boot.S: Likewise.
23105 * boot/i386/pc/lnxboot.S: Likewise.
23106 * boot/i386/pc/cdboot.S: Likewise.
23107 * parttool/pcpart.c: Likewise.
23108 * video/readers/tga.c: Likewise.
23109 * video/video.c: Likewise.
23110 * video/bitmap.c: Likewise.
23111 * lib/envblk.c: Likewise.
23112 * lib/i386/setjmp.S: Likewise.
23113 * fs/xfs.c: Likewise.
23114 * fs/afs.c: Likewise.
23115 * fs/fat.c: Likewise.
23116 * fs/ntfs.c: Likewise.
23117 * fs/udf.c: Likewise.
23118 * fs/affs.c: Likewise.
23119 * fs/iso9660.c: Likewise.
23120 * fs/hfs.c: Likewise.
23121 * fs/fshelp.c: Likewise.
23122 * fs/ext2.c: Likewise.
23123 * fs/jfs.c: Likewise.
23124 * fs/reiserfs.c: Likewise.
23125 * fs/hfsplus.c: Likewise.
23126 * fs/minix.c: Likewise.
23127 * fs/cpio.c: Likewise.
23128 * fs/sfs.c: Likewise.
23129 * fs/ufs.c: Likewise.
23130 * efiemu/prepare.c: Likewise.
23131 * efiemu/loadcore_common.c: Likewise.
23132 * efiemu/runtime/efiemu.sh: Likewise.
23133 * efiemu/runtime/efiemu.S: Likewise.
23134 * efiemu/runtime/efiemu.c: Likewise.
23135 * efiemu/pnvram.c: Likewise.
23136 * efiemu/main.c: Likewise.
23137 * efiemu/i386/pc/cfgtables.c: Likewise.
23138 * efiemu/i386/loadcore64.c: Likewise.
23139 * efiemu/i386/loadcore32.c: Likewise.
23140 * efiemu/loadcore.c: Likewise.
23141 * efiemu/symbols.c: Likewise.
23142 * efiemu/mm.c: Likewise.
23143 * include/grub/autoefi.h: Likewise.
23144 * include/grub/datetime.h: Likewise.
23145 * include/grub/term.h: Likewise.
23146 * include/grub/hfs.h: Likewise.
23147 * include/grub/lvm.h: Likewise.
23148 * include/grub/i386/tsc.h: Likewise.
23149 * include/grub/i386/linux.h: Likewise.
23150 * include/grub/i386/xnu.h: Likewise.
23151 * include/grub/i386/efiemu.h: Likewise.
23152 * include/grub/i386/pc/biosdisk.h: Likewise.
23153 * include/grub/i386/pc/memory.h: Likewise.
23154 * include/grub/i386/pc/vbe.h: Likewise.
23155 * include/grub/parttool.h: Likewise.
23156 * include/grub/video.h: Likewise.
23157 * include/grub/memory.h: Likewise.
23158 * include/grub/fs.h: Likewise.
23159 * include/grub/partition.h: Likewise.
23160 * include/grub/xnu.h: Likewise.
23161 * include/grub/efi/api.h: Likewise.
23162 * include/grub/efi/pe32.h: Likewise.
23163 * include/grub/efi/memory.h: Likewise.
23164 * include/grub/multiboot.h: Likewise.
23165 * include/grub/usbdesc.h: Likewise.
23166 * include/grub/multiboot2.h: Likewise.
23167 * include/grub/acpi.h: Likewise.
23168 * include/grub/efiemu/efiemu.h: Likewise.
23169 * include/grub/disk.h: Likewise.
23170 * include/grub/ieee1275/ieee1275.h: Likewise.
23171 * include/grub/net.h: Likewise.
23172 * include/grub/machoload.h: Likewise.
23173 * include/grub/macho.h: Likewise.
23174 * include/multiboot.h: Likewise.
23175 * genmoddep.awk: Likewise.
23176 * normal/main.c: Likewise.
23177 * normal/menu_entry.c: Likewise.
23178 * normal/menu_viewer.c: Likewise.
23179 * normal/completion.c: Likewise.
23180 * normal/cmdline.c: Likewise.
23181 * normal/misc.c: Likewise.
23182 * normal/datetime.c: Likewise.
23183 * bus/usb/usbtrans.c: Likewise.
23184 * bus/usb/ohci.c: Likewise.
23185 * bus/usb/uhci.c: Likewise.
23186 * bus/usb/usb.c: Likewise.
23187 * mmap/efi/mmap.c: Likewise.
23188 * mmap/i386/pc/mmap_helper.S: Likewise.
23189 * mmap/i386/pc/mmap.c: Likewise.
23190 * mmap/i386/mmap.c: Likewise.
23191 * mmap/i386/uppermem.c: Likewise.
23192 * mmap/mmap.c: Likewise.
23193 * commands/acpi.c: Likewise.
23194 * commands/echo.c: Likewise.
23195 * commands/blocklist.c: Likewise.
23196 * commands/loadenv.c: Likewise.
23197 * commands/usbtest.c: Likewise.
23198 * commands/boot.c: Likewise.
23199 * commands/parttool.c: Likewise.
23200 * commands/search.c: Likewise.
23201 * commands/cat.c: Likewise.
23202 * commands/i386/pc/play.c: Likewise.
23203 * commands/i386/pc/drivemap.c: Likewise.
23204 * commands/i386/pc/vbeinfo.c: Likewise.
23205 * commands/i386/pc/acpi.c: Likewise.
23206 * commands/i386/pc/vbetest.c: Likewise.
23207 * commands/ls.c: Likewise.
23208 * commands/cmp.c: Likewise.
23209 * commands/test.c: Likewise.
23210 * commands/efi/acpi.c: Likewise.
23211 * commands/gptsync.c: Likewise.
23212 * commands/help.c: Likewise.
23213 * partmap/amiga.c: Likewise.
23214 * partmap/apple.c: Likewise.
23215 * partmap/acorn.c: Likewise.
23216 * partmap/pc.c: Likewise.
23217 * partmap/sun.c: Likewise.
23218 * partmap/gpt.c: Likewise.
23219 * script/sh/lexer.c: Likewise.
23220 * script/sh/function.c: Likewise.
23221 * font/font.c: Likewise.
23222 * font/font_cmd.c: Likewise.
23223 * loader/powerpc/ieee1275/linux.c: Likewise.
23224 * loader/efi/chainloader.c: Likewise.
23225 * loader/multiboot_loader.c: Likewise.
23226 * loader/macho.c: Likewise.
23227 * loader/i386/multiboot.c: Likewise.
23228 * loader/i386/linux.c: Likewise.
23229 * loader/i386/pc/linux.c: Likewise.
23230 * loader/i386/pc/multiboot2.c: Likewise.
23231 * loader/i386/pc/chainloader.c: Likewise.
23232 * loader/i386/pc/xnu.c: Likewise.
23233 * loader/i386/bsd_trampoline.S: Likewise.
23234 * loader/i386/efi/linux.c: Likewise.
23235 * loader/i386/multiboot_elfxx.c: Likewise.
23236 * loader/i386/bsd_helper.S: Likewise.
23237 * loader/i386/bsd.c: Likewise.
23238 * loader/i386/linux_trampoline.S: Likewise.
23239 * loader/i386/xnu_helper.S: Likewise.
23240 * loader/i386/xnu.c: Likewise.
23241 * loader/i386/bsd_pagetable.c: Likewise.
23242 * loader/i386/multiboot_helper.S: Likewise.
23243 * loader/xnu.c: Likewise.
23244 * loader/xnu_resume.c: Likewise.
23245 * io/gzio.c: Likewise.
23246 * term/efi/console.c: Likewise.
23247 * term/terminfo.c: Likewise.
23248 * term/ieee1275/ofconsole.c: Likewise.
23249 * term/i386/pc/serial.c: Likewise.
23250 * term/i386/pc/vesafb.c: Likewise.
23251 * term/i386/pc/vga.c: Likewise.
23252 * term/usb_keyboard.c: Likewise.
23253 * term/gfxterm.c: Likewise.
23254 * aclocal.m4: Likewise.
23255 * util/lvm.c: Likewise.
23256 * util/grub.d/30_os-prober.in: Likewise.
23257 * util/grub.d/10_hurd.in: Likewise.
23258 * util/console.c: Likewise.
23259 * util/grub-macho2img.c: Likewise.
23260 * util/grub-probe.c: Likewise.
23261 * util/hostfs.c: Likewise.
23262 * util/i386/pc/grub-mkimage.c: Likewise.
23263 * util/i386/pc/grub-setup.c: Likewise.
23264 * util/i386/efi/grub-mkimage.c: Likewise.
23265 * util/grub-mkconfig.in: Likewise.
23266 * util/raid.c: Likewise.
23267 * util/resolve.c: Likewise.
23268 * util/grub-mkdevicemap.c: Likewise.
23269 * util/grub-emu.c: Likewise.
23270 * util/getroot.c: Likewise.
23271 * util/hostdisk.c: Likewise.
23272 * util/usb.c: Likewise.
23273 * util/grub-editenv.c: Likewise.
23274 * util/misc.c: Likewise.
23275
d2d49665 232762009-06-10 Felix Zielcke <fzielcke@z-51.de>
23277
23278 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23279 `genparttoollist.sh'.
23280 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23281 Add `*.sh' to the list find searches for and change `mdate.sh'
23282 to `mdate-sh'.
23283
fe052e37 232842009-06-10 Pavel Roskin <proski@gnu.org>
23285
2763ac18 23286 * include/grub/multiboot2.h: Provide compatibility defines for
23287 multiboot2.h.
23288 * include/multiboot2.h: Include stdint.h only if needed, using
23289 angle brackets.
23290 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23291 grub/multiboot2.h.
23292 * loader/ieee1275/multiboot2.c: Likewise.
23293 * loader/multiboot2.c: Likewise.
23294 * loader/multiboot_loader.c: Likewise.
23295
437e6adc 23296 * configure.ac: Use -nostdlib when probing for the target. It
23297 should not be required to have libc for the target.
23298
06a6836c 23299 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23300 they fail without libc headers for the target.
23301 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23302 exports.
23303 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23304 preprocessor conditionals.
23305
fe052e37 23306 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23307 build system doesn't need to be aware of the tar.c internals.
23308
afd22553 233092009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23310
afd22553 23311 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23312
6b787c4f 233132009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23314
23315 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23316 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23317
233182009-06-09 Felix Zielcke <fzielcke@z-51.de>
23319
23320 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23321 aren't available if ata.mod gets used.
6b787c4f 23322
473d1e45 233232009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23324
473d1e45 23325 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23326 initialising controller.
473d1e45 23327 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23328
255a27d4 233292009-06-08 Felix Zielcke <fzielcke@z-51.de>
23330
23331 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23332 to choose between ata and biosdisk module on i386-pc.
23333
473d1e45 233342009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23335
d55842d8 23336 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23337 Subclass and Programming Interface fields in terms of the 3 byte
23338 Class Code register.
23339 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23340
fa5db0b1 23341 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23342 interface is OHCI. Add grub_dprintf for symmetry with
23343 bus/usb/uhci.c.
23344 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23345 interface is UHCI. Add interf variable for programming
23346 interface. Print interface with class/subclass.
23347
c0947beb 23348 * bus/usb/ohci.c: Set interf with correct field.
23349
69da8877 23350 * bus/usb/uhci.c: Remove unneeded doubled lines.
23351 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23352 Remove whitespace inside comment.
23353
9e172e30 233542009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23355
23356 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23357 as fallback an equivalent option without depth.
23358
de65ee2b 233592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 Not fail if unable to retrieve C/H/S on LBA disks
23362
473d1e45 23363 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23364 if unable to retrieve C/H/S on LBA disks
23365
b57ea2c9 233662009-06-08 Pavel Roskin <proski@gnu.org>
23367
23368 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23369 about aliasing.
23370
af361263 233712009-06-08 Felix Zielcke <fzielcke@z-51.de>
23372
23373 * Makefile.in (uninstall): Remove all $lib_DATA files.
23374
4c9ec6b3 233752009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23376
23377 Bugfix: install on partitionless device
23378
23379 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23380 is a whole disk
23381
e76fc924 233822009-06-08 Felix Zielcke <fzielcke@z-51.de>
23383
23384 * Makefile.in (uninstall): Remove all $include_DATA files.
23385
ba5a0d05 233862009-06-08 Felix Zielcke <fzielcke@z-51.de>
23387
23388 * commands/true.c: New file. Implement the true and false commands.
23389 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23390 (true_mod_SOURCES): New variable.
23391 (true_mod_CFLAGS): Likewise.
23392 (true_mod_LDFLAGS): Likewise.
23393
c8048e32 233942009-06-05 Colin D Bennett <colin@gibibit.com>
23395
23396 Optimized font character lookup using binary search instead of linear
23397 search. Fonts now are required to have the character index ordered by
23398 code point.
23399
23400 * font/font.c (load_font_index): Verify that fonts have ordered
23401 character indices.
23402 (find_glyph): Use binary search instead of linear search to find a
23403 character in a font.
23404
408305be 234052009-06-05 Michael Scherer <misc@mandriva.org>
23406
23407 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23408 uses case sensitive btree.
23409 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23410 only for case insensitive filesystems.
23411
8ee1e0d9 234122009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23415 * conf/common.rmk (search_mod_CFLAGS): likewise
23416
a9966eb1 234172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23418
473d1e45 23419 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23420 compensate a compiler bug
23421
9e7100fb 234222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23423
473d1e45 23424 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23425 instead of '\b'
473d1e45 23426
ede21d71 234272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 Definitions for creating asm symbols with Apple's CC
23430
23431 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23432 [APPLE_CC] (VARIABLE): likewise
23433
9dbf7653 234342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23435
23436 Disable lnxboot.img when compiled
23437 with Apple's CC
23438
23439 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23440 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23441 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23442 [! APPLE_CC] (CODE_LENG): skip
23443 [! APPLE_CC] (setup_sects): likewise
23444 [! APPLE_CC]: skip filling
473d1e45 23445
e93cdc3d 234462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23447
23448 Address in trampolines based on 32-bit registers when compiled
23449 with Apple's CC
23450
473d1e45 23451 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23452 for addresses
23453 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23454
6c688477 234552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23458
23459 * kern/misc.c [APPLE_CC] (memcpy): new function
23460 [APPLE_CC] (memmove): likewise
23461 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23462 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23463 (memset): likewise
23464 (abort): likewise
23465 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23466 APPLE_CC are defined
23467 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23468 (grub_assert_fail): make prototype conditional
23469
e37ffc5c 234702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23473
473d1e45 23474 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23475 grub-macho2img
e37ffc5c 23476 (CLEANFILES): add grub-macho2img
23477 (grub_macho2img_SOURCES): new variable
23478 * kern/i386/pc/startup.S (bss_start): new variable
23479 (bss_end): likewise
23480 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23481 * util/grub-macho2img.c: new file
23482
cf00df31 234832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 Use objconv when compiling with Apple's CC
23486
23487 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23488 (efiemu64.o): likewise
23489 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23490 when compiling with Apple's CC
23491 (efiemu64_s.o): likewise
23492 * configure.ac: check for objconv when compiling with Apple's CC
23493 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23494
d119a20c 234952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 Define segment as well as section when compiling with
23498 Apple's CC
23499
23500 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23501 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23502 (efiemu_convert_pointer): likewise
23503 (efiemu_set_virtual_address_map): likewise
23504 (efiemu_convert_pointer): likewise
23505 (efiemu_getcrc32): likewise
23506 (init_crc32_table): likewise
23507 (reflect): likewise
23508 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23509 (GRUB_MOD_DEP): likewise
473d1e45 23510
c8600122 235112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23512
23513 Allow a compilation without -mcmodel=large
23514
23515 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23516 when compiled without -mcmodel=large
473d1e45 23517 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23518 without -mcmodel=large
473d1e45 23519 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23520 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23521
e8df1d4e 235222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 Remove nested functions in efiemu core
23525
23526 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23527
cc6c3ac1 235282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23531
23532 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23533 temporary storage
473d1e45 23534 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23535 using Apple's CC
cc6c3ac1 23536 (grub_cpu_is_tsc_supported): likewise
23537 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23538
3e325901 235392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 Absolute addressing through constant with Apple's cc
23542
23543 * kern/i386/pc/startup.S: Define necessary constants
23544 and address through it when using ABS with Apple's CC
23545 * boot/i386/pc/diskboot.S: likewise
23546 * boot/i386/pc/boot.S: likewise
23547 * boot/i386/pc/lnxboot.S: likewise
23548 * boot/i386/pc/cdboot.S: likewise
23549 * mmap/i386/pc/mmap_helper.S: likewise
23550 * commands/i386/pc/drivemap_int13h.S: likewise
23551
2b167a72 235522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23553
23554 Check if compiler is apple cc
23555
23556 * Makefile.in (ASFLAGS): new variable
23557 (TARGET_ASFLAGS): likewise
23558 (TARGET_MODULE_FORMAT): likewise
23559 (TARGET_APPLE_CC): likewise
23560 (OBJCONV): likewise
23561 (TARGET_IMG_CFLAGS): likewise
23562 (TARGET_CPPFLAGS): add includedir
23563 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23564 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23565 Check for linker script only if compiler isn't Apple's CC
23566 (TARGET_MODULE_FORMAT): set
23567 (TARGET_APPLE_CC): likewise
23568 (TARGET_ASFLAGS): likewise
23569 (ASFLAGS): likewise
23570 Check for objcopy only if compiler isn't Apple's CC
23571 Check for BSS symbol only if compiler isn't Apple's CC
23572 * genmk.rb: adapt nm options if we use Apple's utils
23573 * aclocal.m4 (grub_apple_cc): new test
23574 (grub_apple_target_cc): likewise
473d1e45 23575
fb14123e 235762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23577
23578 Simplify sed expressions and improve awk
23579
23580 * Makefile.in (install-local): simplify sed expression
23581 * gencmdlist.sh: likewise
23582 * genmoddep.awk: avoid adding module as a dependency of itself
23583
5b889789 235842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23585
23586 Add missing start symbols
23587
23588 * boot/i386/pc/boot.S: add start
fb14123e 23589 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23590
fd2bf2e3 235912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23594
23595 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23596 (relocate_addresses): consider both r_addend and value at offset
23597 (make_mods_section): zerofill modinfo and header
23598 (convert_elf): write prefix here
473d1e45 23599
5389763d 236002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 Use .asciz instead of .string
23603
23604 * i386/pc/diskboot.S: use .asciz instead of .string
23605 * i386/pc/boot.S: likewise
23606 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23607 (GRUB_MOD_NAME): likewise
473d1e45 23608
3eb5ed4e 236092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23610
23611 gfxpayload support
23612
23613 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23614 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23615 (grub_video_setup): remove
23616 (grub_video_set_mode): new prototype
23617 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23618 (vid_mode): remove
23619 (linux_vesafb_res): compile only on PCBIOS
23620 (grub_linux_boot): support gfxpayload
23621 * loader/i386/pc/xnu.c (video_hook): new function
23622 (grub_xnu_set_video): support gfxpayload
23623 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23624 (DEFAULT_VIDEO_HEIGHT): likewise
23625 (DEFAULT_VIDEO_FLAGS): likewise
23626 (DEFAULT_VIDEO_MODE): new definition
23627 (video_hook): new function
23628 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23629 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23630 loading xnu
23631 * video/video.c (grub_video_setup): removed
473d1e45 23632 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23633 grub_video_setup
23634
4b0e1143 236352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23636
23637 Avoid calling biosdisk in drivemap
23638
23639 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23640 (revparse_biosdisk): likewise
23641 (list_mappings): derive name from id directly
23642 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23643
fda6cb98 236442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 Script fixes
23647
23648 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23649 (grub_lexer_param): add tokenonhold
23650 (grub_script_create_cmdline): remove cmdline. All callers updated
23651 (grub_script_function_create): make functionname
23652 grub_script_arg. All callers updated
23653 (grub_script_execute_argument_to_string): new prototype
23654 * kern/parser.c (state_transitions): reorder
23655 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23656 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23657 make global
23658 (grub_script_execute_cmdline): use new format
23659 * script/sh/function.c (grub_script_function_create): make functionname
23660 grub_script_arg. All callers updated
473d1e45 23661 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23662 (grub_script_yylex): remove
23663 (grub_script_yylex2): renamed to ...
23664 (grub_script_yylex): ...renamed
23665 parse the expressions like a${b}c
23666 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23667 (GRUB_PARSER_TOKEN_VAR): remove
23668 (GRUB_PARSER_TOKEN_NAME): likewise
23669 ("if"): declare as typeless
23670 ("while"): likewise
23671 ("function"): likewise
23672 ("else"): likewise
23673 ("then"): likewise
23674 ("fi"): likewise
23675 (text): remove
23676 (argument): likewise
23677 (script): accept empty scripts and make exit on error
23678 (arguments): use GRUB_PARSER_TOKEN_ARG
23679 (function): likewise
23680 (command): move error handling to script
23681 (menuentry): move grub_script_lexer_ref before
473d1e45 23682 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23683 argument. All callers updated
23684
f4448a07 236852009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23686
23687 Prevent GRUB from probing floppies during boot.
23688
23689 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23690 * commands/search.c (options): Add --no-floppy.
23691 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23692 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23693 --no-floppy when searching for UUIDs.
23694
2bf5885a 236952009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23696
23697 Simplify the code duplication in commands/search.c.
23698
23699 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23700 (search_fs): ... this. Update all users.
23701
f6fd460a 237022009-06-03 Felix Zielcke <fzielcke@z-51.de>
23703
23704 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23705
cbb3c83e 237062009-05-28 Pavel Roskin <proski@gnu.org>
23707
57788cfd 23708 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23709 Remove the original symlink explicitly.
23710
cbb3c83e 23711 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23712 just one slash. That's how grub_fshelp_find_file() does it.
23713
cd0d5e30 237142009-05-26 Pavel Roskin <proski@gnu.org>
23715
f0f8bbe2 23716 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23717 to `str'.
23718
cd0d5e30 23719 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23720 possibly unused.
23721
8c2cab51 237222009-05-25 Christian Franke <franke@computer.org>
23723
23724 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23725 register.
23726 (grub_atapi_identify): Add wait after drive select.
23727 (grub_ata_identify): Do more strict status register check before
23728 calling grub_atapi_identify (). Suppress error message if status
23729 register is 0x00 after command failure. Add status register
23730 check after PIO read to avoid bogus identify due to stuck DRQ.
23731 Thanks to Pavel Roskin for testing.
23732 (grub_device_initialize): Remove unsafe status register check.
23733 Thanks to 'phcoder' for problem report and patch.
23734 Prevent sign extension in debug message.
23735
230c0ad6 237362009-05-23 Colin D Bennett <colin@gibibit.com>
23737
23738 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23739 definition file, and functions defined in `normal/menu.c' have had
23740 their prototypes moved to `include/grub/menu.h' for consistency.
23741
23742 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23743 from normal.h.
23744 (grub_menu_get_entry): Likewise.
23745 (grub_menu_get_timeout): Likewise.
23746 (grub_menu_set_timeout): Likewise.
23747 (grub_menu_execute_entry): Likewise.
23748 (grub_menu_execute_with_fallback): Likewise.
23749 (grub_menu_entry_run): Likewise.
23750
23751 * include/grub/normal.h: Re-ordered and grouped function
23752 prototypes by file that the function is defined in.
23753 (grub_menu_execute_callback): Removed; moved to menu.h.
23754 (grub_menu_get_entry): Likewise.
23755 (grub_menu_get_timeout): Likewise.
23756 (grub_menu_set_timeout): Likewise.
23757 (grub_menu_execute_entry): Likewise.
23758 (grub_menu_execute_with_fallback): Likewise.
23759 (grub_menu_entry_run): Likewise.
23760 (grub_menu_addentry): Renamed from this ...
23761 (grub_normal_add_menu_entry): ... to this.
23762
23763 * normal/main.c (grub_menu_addentry): Renamed from this ...
23764 (grub_normal_add_menu_entry): ... to this.
23765
23766 * script/sh/execute.c (grub_script_execute_menuentry): Update
23767 reference to renamed grub_menu_addentry function.
23768
861f03a5 237692009-05-23 Felix Zielcke <fzielcke@z-51.de>
23770
23771 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23772
96b1619a 237732009-05-22 Pavel Roskin <proski@gnu.org>
23774
bf6a5fb2 23775 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23776 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23777 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23778 compiling for the i386 targets, but not for the utilities.
23779
96b1619a 23780 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23781 to grub_uint8_t.
23782 (grub_root_drive): Likewise.
23783 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23784 remove alignment.
23785 (grub_root_drive): Change size to byte.
23786 (grub_start_addr): Remove.
23787 (grub_end_addr): Likewise.
23788 (grub_apm_bios_info): Likewise.
23789
b729776b 237902009-05-21 Felix Zielcke <fzielcke@z-51.de>
23791
23792 * normal/i386: Remove.
23793 * normal/powerpc: Likewise.
23794 * normal/sparc64: Likewise.
23795 * normal/x86_64: Likewise.
23796
0a15ce80 237972009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23798
23799 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23800 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23801 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23802
33db9015 238032009-05-18 Colin D Bennett <colin@gibibit.com>
23804
d6da58e6 23805 Display error messages when parsing a Lua statement fails.
23806 Previously, executing a syntactically invalid statement like
23807 ")foo" or "bar;" would silently fail.
33db9015 23808
23809 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23810 (grub_lua_parse_line): Improved reporting of Lua parser and
23811 execution errors.
33db9015 23812
46422c89 238132009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 Remove -Werror which causes build to fail on some systems
23816
23817 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23818 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23819 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23820
22f53a96 238212009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23822
23823 trampoline for linux on 64-bit platform
23824
18f547ad 23825 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23826 loader/i386/efi/linux_trampoline.S
23827 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23828 declaration
d6da58e6 23829 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23830 here
22f53a96 23831 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23832 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23833 trampoline
22f53a96 23834 (jumpvector): removed
23835 (grub_linux_trampoline_start): new declaration
23836 (grub_linux_trampoline_end): likewise
23837 (grub_linux_boot): use trampoline when on 64-bit platform
23838 * loader/i386/linux.c: likewise
23839
cb5a0f40 238402009-05-16 Pavel Roskin <proski@gnu.org>
23841
23842 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23843 const to avoid a warning.
23844 (grub_lua_setenv): Likewise.
23845 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23846 lmsg to fix a warning.
23847
334f2c28 238482009-05-16 Felix Zielcke <fzielcke@z-51.de>
23849
23850 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23851 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23852 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23853 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23854 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23855 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23856 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23857 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23858
59e5d3ec 238592009-05-16 Felix Zielcke <fzielcke@z-51.de>
23860
23861 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23862
9d87a1ba 238632009-05-16 Bean <bean123ch@gmail.com>
23864
23865 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23866 (lua_mod_SOURCES): New variable.
23867 (lua_mod_CFLAGS): Likewise.
23868 (lua_mod_LDFLAGS): Likewise.
23869
23870 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23871 (setjmp_mod_SOURCES): New variable.
23872 (setjmp_mod_CFLAGS): Likewise.
23873 (setjmp_LDFLAGS): Likewise.
23874
23875 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23876 (setjmp_mod_SOURCES): New variable.
23877 (setjmp_mod_CFLAGS): Likewise.
23878 (setjmp_LDFLAGS): Likewise.
23879
23880 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23881 (setjmp_mod_SOURCES): New variable.
23882 (setjmp_mod_CFLAGS): Likewise.
23883 (setjmp_LDFLAGS): Likewise.
23884
23885 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23886 (setjmp_mod_SOURCES): New variable.
23887 (setjmp_mod_CFLAGS): Likewise.
23888 (setjmp_LDFLAGS): Likewise.
23889
23890 * normal/i386/setjmp.S: Moved from here ...
23891 * lib/i386/setjmp.S: ... Moved here
23892 * normal/x86_64/setjmp.S: Moved from here ...
23893 * lib/x86_64/setjmp.S: ... Moved here
23894 * normal/powerpc/setjmp.S: Moved from here ...
23895 * lib/powerpc/setjmp.S: ... Moved here
23896 * normal/sparc64/setjmp.S: Moved from here ...
23897 * lib/sparc64/setjmp.S: ... Moved here
23898
23899 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23900 returns_twice in mingw.
23901
23902 * script/lua/grub_lib.c: New file.
23903 * script/lua/grub_lib.h: Likewise.
23904 * script/lua/grub_lua.h: Likewise.
23905 * script/lua/grub_main.c: Likewise.
23906 * script/lua/lapi.c: Likewise.
23907 * script/lua/lapi.h: Likewise.
23908 * script/lua/lauxlib.c: Likewise.
23909 * script/lua/lauxlib.h: Likewise.
23910 * script/lua/lbaselib.c: Likewise.
23911 * script/lua/lcode.c: Likewise.
23912 * script/lua/lcode.h: Likewise.
23913 * script/lua/ldblib.c: Likewise.
23914 * script/lua/ldebug.c: Likewise.
23915 * script/lua/ldebug.h: Likewise.
23916 * script/lua/ldo.c: Likewise.
23917 * script/lua/ldo.h: Likewise.
23918 * script/lua/ldump.c: Likewise.
23919 * script/lua/lfunc.c: Likewise.
23920 * script/lua/lfunc.h: Likewise.
23921 * script/lua/lgc.c: Likewise.
23922 * script/lua/lgc.h: Likewise.
23923 * script/lua/linit.c: Likewise.
23924 * script/lua/liolib.c: Likewise.
23925 * script/lua/llex.c: Likewise.
23926 * script/lua/llex.h: Likewise.
23927 * script/lua/llimits.h: Likewise.
23928 * script/lua/lmathlib.c: Likewise.
23929 * script/lua/lmem.c: Likewise.
23930 * script/lua/lmem.h: Likewise.
23931 * script/lua/loadlib.c: Likewise.
23932 * script/lua/lobject.c: Likewise.
23933 * script/lua/lobject.h: Likewise.
23934 * script/lua/lopcodes.c: Likewise.
23935 * script/lua/lopcodes.h: Likewise.
23936 * script/lua/loslib.c: Likewise.
23937 * script/lua/lparser.c: Likewise.
23938 * script/lua/lparser.h: Likewise.
23939 * script/lua/lstate.c: Likewise.
23940 * script/lua/lstate.h: Likewise.
23941 * script/lua/lstring.c: Likewise.
23942 * script/lua/lstring.h: Likewise.
23943 * script/lua/lstrlib.c: Likewise.
23944 * script/lua/ltable.c: Likewise.
23945 * script/lua/ltable.h: Likewise.
23946 * script/lua/ltablib.c: Likewise.
23947 * script/lua/ltm.c: Likewise.
23948 * script/lua/ltm.h: Likewise.
23949 * script/lua/lua.h: Likewise.
23950 * script/lua/luaconf.h: Likewise.
23951 * script/lua/lualib.h: Likewise.
23952 * script/lua/lundump.c: Likewise.
23953 * script/lua/lundump.h: Likewise.
23954 * script/lua/lvm.c: Likewise.
23955 * script/lua/lvm.h: Likewise.
23956 * script/lua/lzio.c: Likewise.
23957 * script/lua/lzio.h: Likewise.
23958
5e898c9d 239592009-05-16 Bean <bean123ch@gmail.com>
23960
23961 * include/grub/kernel.h (grub_module_header_types): Add type
23962 OBJ_TYPE_CONFIG.
23963
23964 * kern/main.c (grub_load_config): New function.
23965 (grub_main): Call grub_load_config to read boot config.
23966
23967 * grub-mkimage (generate_image): New parameter config_path.
23968 (options): New option --config.
23969 (main): Parse --config option, and pass it to generate_image.
23970
cf353a47 239712009-05-14 Christian Franke <franke@computer.org>
23972
23973 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23974 This fixes build on Cygwin.
23975
3834887f 239762009-05-14 Pavel Roskin <proski@gnu.org>
23977
23978 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23979 jump. This saves two bytes, so the typical case of 2 swapped
23980 drives would fit 32 bytes.
23981
8090fc01 239822009-05-13 Pavel Roskin <proski@gnu.org>
23983
ac963883 23984 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23985 grub_uint32_t to avoid a warning.
23986
8090fc01 23987 * loader/i386/linux.c (allocate_pages): When assigning
23988 real_mode_mem, cast through grub_size_t to fix a warning. The
23989 code already makes sure that the value would fit a pointer.
23990 (grub_linux_setup_video): Cast render_target->data to
23991 grub_size_t to fix a warning.
23992
18f547ad 239932009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23994
23995 * commands/i386/pc/drivemap.c: New file - implement drivemap
23996 command.
23997 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23998 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23999
6f6a8b28 240002009-05-13 Pavel Roskin <proski@gnu.org>
24001
24002 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24003 embedding_area_exists.
24004
15fbf4c4 240052009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24008 it easier to understand / work with.
59978c8a 24009 Improve warning messages for cases where there's no embedding area,
24010 or when it is too small (or core.img too large).
15fbf4c4 24011
238e871f 240122009-05-13 Pavel Roskin <proski@gnu.org>
24013
0ab3a9a4 24014 * loader/i386/pc/multiboot2.c: Add necessary includes for
24015 grub_multiboot2_real_boot().
24016
a2c8c5f8 24017 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24018 PX record is always little-endian. We only need the lower 2
24019 bytes of the mode.
24020
faec96af 24021 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24022 facilitate code reuse.
24023 (grub_cpio_mount): Use "struct head", not a char buffer. This
24024 fixes a warning reported by gcc 4.4.
24025
238e871f 24026 * kernel/disk.c (grub_disk_read): Use void pointer for the
24027 buffer.
24028 (grub_disk_write): Use const void pointer for the buffer.
24029 Adjust all callers. Remove unnecessary casts.
24030
901d2f0c 240312009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 * util/i386/pc/grub-install.in: Update copyright year.
24034
18f547ad 240352009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24036
24037 gptsync
24038
24039 * commands/gptsync.c: new file
24040 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24041 (gptsync_mod_SOURCES): new variable
24042 (gptsync_mod_CFLAGS): likewise
24043 (gptsync_mod_LDFLAGS): likewise
18f547ad 24044 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24045 new definition
24046 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24047 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24048 * conf/i386-ieee1275.rmk: likewise
24049 * conf/i386-pc.rmk: likewise
24050 * conf/powerpc-ieee1275.rmk: likewise
24051
b4ba690a 240522009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 Fixed grub-emu
24055
24056 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24057 (grub_dl_ref): likewise
24058
317e1a44 240592009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24060
24061 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24062 split in two functions (one for msdos and one for gpt).
24063
041b8094 240642009-05-08 Pavel Roskin <proski@gnu.org>
24065
752473c2 24066 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24067 not modified.
24068
041b8094 24069 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24070 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24071 Initialize them with -1. Add sanity check for bad1. Eliminate
24072 nerr variable.
24073
172800ce 240742009-05-08 David S. Miller <davem@davemloft.net>
24075
24076 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24077
29aa5e81 240782009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24079
24080 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24081 existence.
29aa5e81 24082
96613b62 240832009-05-05 Felix Zielcke <fzielcke@z-51.de>
24084
24085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24086 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24087
eef73c8a 240882009-05-05 David S. Miller <davem@davemloft.net>
24089
24090 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24091
119494b5 240922009-05-05 Pavel Roskin <proski@gnu.org>
24093
24094 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24095 of grub_dl_ref() and grub_dl_unref().
24096 * commands/parttool.c: Remove preprocessor conditionals around
24097 grub_dl_ref() and grub_dl_unref().
24098 * fs/affs.c: Likewise.
24099 * fs/afs.c: Likewise.
24100 * fs/cpio.c: Likewise.
24101 * fs/ext2.c: Likewise.
24102 * fs/fat.c: Likewise.
24103 * fs/hfs.c: Likewise.
24104 * fs/hfsplus.c: Likewise.
24105 * fs/iso9660.c: Likewise.
24106 * fs/jfs.c: Likewise.
24107 * fs/minix.c: Likewise.
24108 * fs/ntfs.c: Likewise.
24109 * fs/reiserfs.c: Likewise.
24110 * fs/sfs.c: Likewise.
24111 * fs/udf.c: Likewise.
24112 * fs/ufs.c: Likewise.
24113 * fs/xfs.c: Likewise.
24114 * include/grub/dl.h: Likewise.
24115 * loader/xnu.c: Likewise.
24116
de5fd76e 241172009-05-04 Pavel Roskin <proski@gnu.org>
24118
24119 * commands/acpi.c: Remove unused variable my_mod.
24120 * partmap/amiga.c: Likewise.
24121 * partmap/apple.c: Likewise.
24122 * partmap/gpt.c: Likewise.
24123 * partmap/pc.c: Likewise.
24124 * partmap/sun.c: Likewise.
24125 * term/gfxterm.c: Likewise.
24126 * term/i386/pc/vesafb.c: Likewise.
24127 * term/i386/pc/vga.c: Likewise.
24128
983598ad 241292009-05-04 David S. Miller <davem@davemloft.net>
24130
24131 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24132 pointer args to grub_ieee1275_get_property().
24133
8aadec43 24134 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24135
9554b15e 24136 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24137 devices, and do not traverse down under controller nodes.
24138
67e23c90 24139 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24140 (grub_ofdisk_open): Use it to un-escape "," characters.
24141 * kern/disk.c (find_part_sep): New.
24142 (grub_disk_open): Use it to find the first non-escaped ','
24143 character in the disk name.
24144 * util/ieee1275/devicemap.c (escape_of_path): New.
24145 (grub_util_emit_devicemap_entry): Use it.
24146 * util/sparc64/ieee1275/grub-install.in: Update script to
24147 strip partition specifiers properly by not triggering on
24148 '\' escaped ',' characters.
24149
74bfdd2f 241502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24153 to 0x300.
24154 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24155 resolutions.
24156 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24157 on documentation from Wikipedia).
24158
4241d2b1 241592009-05-04 Pavel Roskin <proski@gnu.org>
24160
24161 * disk/ata.c: Spelling fixes.
24162 * disk/raid.c: Likewise.
24163 * disk/usbms.c: Likewise.
24164 * disk/dmraid_nvidia.c: Likewise.
24165 * kern/ieee1275/openfw.c: Likewise.
24166 * kern/ieee1275/init.c: Likewise.
24167 * kern/ieee1275/cmain.c: Likewise.
24168 * boot/i386/pc/cdboot.S: Likewise.
24169 * video/readers/png.c: Likewise.
24170 * video/i386/pc/vbe.c: Likewise.
24171 * fs/udf.c: Likewise.
24172 * fs/hfs.c: Likewise.
24173 * fs/reiserfs.c: Likewise.
24174 * efiemu/runtime/efiemu.c: Likewise.
24175 * efiemu/main.c: Likewise.
24176 * efiemu/mm.c: Likewise.
24177 * include/grub/elf.h: Likewise.
24178 * include/grub/xnu.h: Likewise.
24179 * include/grub/usbdesc.h: Likewise.
24180 * include/grub/usb.h: Likewise.
24181 * include/grub/script_sh.h: Likewise.
24182 * include/grub/lib/LzmaEnc.h: Likewise.
24183 * include/grub/efiemu/efiemu.h: Likewise.
24184 * include/grub/command.h: Likewise.
24185 * normal/menu.c: Likewise.
24186 * normal/main.c: Likewise.
24187 * normal/datetime.c: Likewise.
24188 * bus/usb/uhci.c: Likewise.
24189 * mmap/i386/uppermem.c: Likewise.
24190 * mmap/mmap.c: Likewise.
24191 * commands/acpi.c: Likewise.
24192 * commands/test.c: Likewise.
24193 * partmap/apple.c: Likewise.
24194 * font/font.c: Likewise.
24195 * loader/sparc64/ieee1275/linux.c: Likewise.
24196 * loader/macho.c: Likewise.
24197 * loader/i386/bsd_trampoline.S: Likewise.
24198 * loader/i386/bsd.c: Likewise.
24199 * loader/xnu.c: Likewise.
24200 * term/i386/pc/vesafb.c: Likewise.
24201 * term/usb_keyboard.c: Likewise.
24202 * util/resolve.c: Likewise.
24203 * util/getroot.c: Likewise.
24204
0cfc0083 242052009-05-04 Felix Zielcke <fzielcke@z-51.de>
24206
24207 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24208
7c1d00cd 242092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24212 build error.
24213
b01f0548 242142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24215
24216 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24217 parameter only available on BIOS.
24218
ecc3eb22 242192009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 Removed wrong semicolon in declaration
24222
24223 * grub/misc.h (grub_dprintf): remove semicolon
24224
112972a9 242252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24226
24227 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24228 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24229 is done by grub_cmd_linux() now).
24230 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24231 restore video to text mode.
24232 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24233 indicates lack of "vga=" parameter. "vga=0" is mapped to
24234 `GRUB_LINUX_VID_MODE_NORMAL'.
24235
afd5c115 242362009-05-04 Felix Zielcke <fzielcke@z-51.de>
24237
24238 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24239 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24240 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24241 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24242 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24243 `grub_script.tab.c'.
24244
24245 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24250
faa517ce 24251 * Makefile.in: Remove duplicated 2008 in Copyright line.
24252
ae0c0bdc 242532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24254
473d1e45 24255 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24256 unconditionally.
24257 * include/grub/util/misc.h (grub_util_warn): New declaration.
24258
24259 * util/i386/pc/grub-install.in: Understand --force and pass it down
24260 to grub-setup.
24261
24262 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24263 down to setup().
24264 (setup): Improve error messages and add warnings when requested to
24265 install in odd layouts. Refuse to install using blocklists unless
24266 --force was set.
24267
18f547ad 242682009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24269
24270 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24271
6d260daa 242722009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24273
24274 Updated copyright year
24275
24276 * fs/hfsplus.c: updated copyright year
18f547ad 24277
69f853f8 242782009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24279
24280 HFS+ UUID
24281
18f547ad 24282 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24283 in the space previously used by unused3
24284 (grub_hfsplus_uuid): new function
24285 (grub_hfsplus_fs): added uuid field
24286
4c402e73 242872009-05-03 Pavel Roskin <proski@gnu.org>
24288
24289 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24290 suppress warnings. It's no longer needed.
24291 * disk/host.c: Likewise.
24292 * disk/ata_pthru.c: Likewise.
24293 * disk/loopback.c: Likewise.
24294 * hook/datehook.c: Likewise.
24295 * parttool/pcpart.c: Likewise.
24296 * fs/i386/pc/pxe.c: Likewise.
24297 * fs/ntfscomp.c: Likewise.
24298 * efiemu/main.c: Likewise.
24299 * mmap/mmap.c: Likewise.
24300 * commands/crc.c: Likewise.
24301 * commands/hexdump.c: Likewise.
24302 * commands/hdparm.c: Likewise.
24303 * commands/acpi.c: Likewise.
24304 * commands/echo.c: Likewise.
24305 * commands/minicmd.c: Likewise.
24306 * commands/blocklist.c: Likewise.
24307 * commands/memrw.c: Likewise.
24308 * commands/loadenv.c: Likewise.
24309 * commands/usbtest.c: Likewise.
24310 * commands/lsmmap.c: Likewise.
24311 * commands/boot.c: Likewise.
24312 * commands/parttool.c: Likewise.
24313 * commands/configfile.c: Likewise.
24314 * commands/search.c: Likewise.
24315 * commands/ieee1275/suspend.c: Likewise.
24316 * commands/cat.c: Likewise.
24317 * commands/i386/pc/pxecmd.c: Likewise.
24318 * commands/i386/pc/play.c: Likewise.
24319 * commands/i386/pc/halt.c: Likewise.
24320 * commands/i386/pc/vbeinfo.c: Likewise.
24321 * commands/i386/pc/vbetest.c: Likewise.
24322 * commands/lspci.c: Likewise.
24323 * commands/date.c: Likewise.
24324 * commands/handler.c: Likewise.
24325 * commands/ls.c: Likewise.
24326 * commands/test.c: Likewise.
24327 * commands/cmp.c: Likewise.
24328 * commands/efi/loadbios.c: Likewise.
24329 * commands/efi/fixvideo.c: Likewise.
24330 * commands/halt.c: Likewise.
24331 * commands/help.c: Likewise.
24332 * commands/reboot.c: Likewise.
24333 * hello/hello.c: Likewise.
24334 * script/sh/main.c: Likewise.
24335 * loader/xnu.c: Likewise.
24336 * term/terminfo.c: Likewise.
24337 * term/i386/pc/serial.c: Likewise.
24338 * term/usb_keyboard.c: Likewise.
24339
515b5079 243402009-05-03 David S. Miller <davem@davemloft.net>
24341
24342 * normal/menu.c: Include grub/parser.h
24343
dfc31a22 243442009-05-03 Pavel Roskin <proski@gnu.org>
24345
2fee74f1 24346 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24347 not char*.
24348 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24349 Suggested by Javier Martín <lordhabbit@gmail.com>
24350
dfc31a22 24351 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24352 efiemu??.o doesn't exist.
24353 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24354 copying.
24355
18f547ad 243562009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24357
24358 FreeBSD 64-bit support
24359
18f547ad 24360 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24361 and loader/i386/bsd_trampoline.S
24362 (bsd_mod_ASFLAGS): new variable
24363 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24364 (FREEBSD_MODTYPE_KERNEL64): likewise
24365 (grub_bsd64_trampoline_start): likewise
24366 (grub_bsd64_trampoline_end): likewise
24367 (grub_bsd64_trampoline_selfjump): likewise
24368 (grub_bsd64_trampoline_gdt): likewise
24369 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24370 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24371 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24372 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24373 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24374 of "attrib" member
24375 * loader/i386/bsd_pagetable.c: new file
24376 * loader/i386/bsd_trampoline.S: likewise
24377 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24378 (ALIGN_VAR): likewise
24379 (entry_hi): new variable
24380 (kern_end_mdofs): likewise
24381 (is_64bit): likewise
24382 (grub_freebsd_add_meta): use ALIGN_VAR
24383 (grub_e820_mmap): new declaration
24384 (grub_freebsd_add_mmap): new function
24385 (grub_freebsd_add_meta_module): support 64 bit kernels
24386 (grub_freebsd_list_modules): use ALIGN_VAR
24387 (gdt_descriptor): new declaration
24388 (grub_freebsd_boot): support 64 bit kernels
24389 (grub_bsd_elf64_hook): new function
24390 (grub_bsd_load_elf): support elf64
24391
038c5720 243922009-05-03 Bean <bean123ch@gmail.com>
24393
24394 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24395 after we get the result of if statement.
24396
fc45fb58 243972009-05-03 Bean <bean123ch@gmail.com>
24398
24399 * Makefile.in (enable_efiemu): New variable.
24400
24401 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24402 set.
24403 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24404 path.
24405 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24406 path, add -mno-red-zone option.
24407 (efiemu64_s.o): Likewise.
24408 (efiemu64.o): Use macro $^ for source file.
24409
24410 * configure.ac (--enable-efiemu): New option.
24411
bbee0f2b 244122009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24413
24414 xnu support
24415
24416 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24417 (pkglib_MODULES): add xnu.mod
24418 (xnu_mod_SOURCES): new variable
24419 (xnu_mod_CFLAGS): likewise
24420 (xnu_mod_LDFLAGS): likewise
24421 (xnu_mod_ASFLAGS): likewise
24422 * conf/i386-pc.rmk: likewise
24423 * conf/x86_64-efi.rmk: likewise
7dd4a573 24424 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24425 new declaration
24426 * include/grub/i386/macho.h: new file
24427 * include/grub/i386/xnu.h: likewise
24428 * include/grub/macho.h: likewise
24429 * include/grub/machoload.h: likewise
24430 * include/grub/x86_64/macho.h: likewise
24431 * include/grub/x86_64/xnu.h: likewise
24432 * include/grub/xnu.h: likewise
24433 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24434 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24435 * loader/i386/efi/xnu.c: new file
24436 * loader/i386/pc/xnu.c: likewise
24437 * loader/i386/xnu.c: likewise
24438 * loader/i386/xnu_helper.S: likewise
24439 * loader/macho.c: likewise
24440 * loader/xnu.c: likewise
24441 * loader/xnu_resume.c: likewise
24442 * util/grub-dumpdevtree: likewise
24443 * include/grub/i386/pit.h: include grub/err.h
24444 (grub_pit_wait): export
24445 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24446
5caf964d 244472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24448
24449 Efiemu
7dd4a573 24450
5caf964d 24451 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24452 _linux_efi, linux_efi.
24453 new files in grub-emu
5caf964d 24454 new targets efiemu32.o and efiemu64.o
24455 * loader/linux_normal_efiemu.c: likewise
24456 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24457 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24458 files to copy
24459 * include/grub/autoefi.h: new file
7dd4a573 24460 * include/grub/i386/efiemu.h: likewise
5caf964d 24461 * include/grub/i386/pc/efiemu.h: likewise
24462 * include/grub/efi/api.h: add LL suffix when necessary
24463 new definitions relating to tables
24464 * include/grub/efiemu/efiemu.h: new file
24465 * include/grub/efiemu/runtime.h: likewise
24466 * efiemu/prepare.c: likewise
24467 * efiemu/loadcore_common.c: likewise
24468 * efiemu/loadcore64.c: likewise
24469 * efiemu/runtime/efiemu.sh: likewise
24470 * efiemu/runtime/efiemu.S: likewise
24471 * efiemu/runtime/efiemu.c: likewise
24472 * efiemu/runtime/config.h: likewise
24473 * efiemu/prepare32.c: likewise
24474 * efiemu/main.c: likewise
24475 * efiemu/modules/pnvram.c: likewise
24476 * efiemu/modules/i386: likewise
24477 * efiemu/modules/i386/pc: likewise
24478 * efiemu/modules/acpi.c: likewise
24479 * efiemu/i386/pc/cfgtables.c: likewise
24480 * efiemu/i386/loadcore64.c: likewise
24481 * efiemu/i386/loadcore32.c: likewise
24482 * efiemu/prepare64.c: likewise
24483 * efiemu/loadcore.c: likewise
24484 * efiemu/symbols.c: likewise
24485 * efiemu/mm.c: likewise
24486 * efiemu/loadcore32.c: likewise
7dd4a573 24487
244882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24489
24490 ACPI spoofing
24491
24492 * commands/acpi.c: new file
24493 * commands/i386/pc/acpi.c: likewise
24494 * commands/efi/acpi.c: likewise
24495 * include/grub/acpi.h: likewise
24496 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24497 (acpi_mod_SOURCES): new variable
24498 (acpi_mod_CFLAGS): likewise
24499 (acpi_mod_LDFLAGS): likewise
24500 * conf/i386-efi.rmk: likewise
24501 * conf/x86_64-efi.rmk: likewise
24502
7dd4a573 245032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24504
24505 Missing part from mmap patch
24506
24507 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24508 (grub_mmap_unregister)
24509 (grub_mmap_free_and_unregister): use grub_mmap_register
24510
7dd4a573 245112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24512
24513 Mmap services
24514
24515 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24516 * loader/i386/linux.c (find_mmap_size): likewise
24517 (allocate_pages): likewise
24518 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24519 (grub_fill_multiboot_mmap): likewise
24520 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24521 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24522 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24523 (OPENBSD_MMAP_RESERVED): likewise
24524 * include/grub/i386/pc/memory.h: include grub/memory.h
24525 (grub_lower_mem): removed
24526 (grub_upper_mem): likewise
24527 (GRUB_MACHINE_MEMORY_ACPI): new definition
24528 (GRUB_MACHINE_MEMORY_NVS): likewise
24529 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24530 (GRUB_MACHINE_MEMORY_HOLE): likewise
24531 (grub_machine_mmap_register): likewise
24532 (grub_machine_mmap_unregister): likewise
24533 (grub_machine_get_upper): likewise
24534 (grub_machine_get_lower): likewise
24535 (grub_machine_get_post64): likewise
24536 * include/grub/i386/efi/memory.h: new file
24537 * include/grub/x86_64/efi/memory.h: likewise
24538 * include/grub/efi/memory.h: likewise
24539 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24540 (mmap_mod_SOURCES): new variable
24541 (mmap_mod_LDFLAGS): likewise
24542 (mmap_mod_ASFLAGS): likewise
24543 * conf/i386-coreboot.rmk: likewise
24544 * conf/i386-ieee1275.rmk: likewise
24545 * conf/i386-efi.rmk: likewise
24546 * conf/x86_64-efi.rmk: likewise
24547 * include/grub/types.h (UINT_TO_PTR): new macro
24548 (PTR_TO_UINT32): likewise
24549 (PTR_TO_UINT64): likewise
24550 * include/grub/memory.h: new file
24551 * mmap/i386/pc/mmap.c: likewise
24552 * mmap/i386/pc/mmap_helper.S: likewise
24553 * mmap/i386/uppermem.c: likewise
24554 * mmap/mmap.c: likewise
24555 * mmap/efi/mmap.c: likewise
7dd4a573 24556 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24557 grub_upper_mem
24558 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24559 (grub_upper_mem): likewise
24560 (grub_machine_init): don't use grub_upper_mem,
24561 make grub_lower_mem local
24562 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24563 grub_mmap_iterate and grub_mmap_get_upper
24564 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24565
d558e6b5 245662009-05-02 Bean <bean123ch@gmail.com>
24567
24568 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24569 script/sh/parser.y.
24570 (pkglib_MODULES): Add normal.mod and sh.mod.
24571 (normal_SOURCES): New variable.
24572 (normal_mod_CFLAGS): Likewise.
24573 (normal_mod_LDFLAGS): Likewise.
24574 (sh_mod_SOURCES): Likewise.
24575 (sh_mod_CFLAGS): Likewise.
24576 (sh_mod_LDFLAGS): Likewise.
24577
24578 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24579 script/sh/lexer.c_DEPENDENCIES.
24580 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24581 kern/rescue_reader.c and kern/rescue_parser.c.
24582 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24583 (grub_emu_SOURCES): Change source files.
24584 (pkglib_MODULES): Remove normal.mod.
24585 (normal_SOURCES): Removed.
24586 (normal_mod_CFLAGS): Likewise.
24587 (normal_mod_LDFLAGS): Likewise.
24588 * conf/i386-coreboot.rmk: Likewise.
24589 * conf/i386-efi.rmk: Likewise.
24590 * conf/i386-ieee1276.rmk: Likewise.
24591 * conf/powerpc-ieee1275.rmk: Likewise.
24592 * conf/sparc64-ieee1275.rmk: Likewise.
24593 * conf/x86_64-efi.rmk: Likewise.
24594
24595 * include/grub/command.h (grub_command_execute): New inline function.
24596
24597 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24598
24599 * include/grub/normal.h: Remove <grub/setjmp.h>.
24600 (grub_fs_module_list): Moved to normal/autofs.c.
24601 (grub_exit_env): Removed.
24602 (grub_command_execute): Likewise.
24603 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24604 parameter script.
24605 (read_command_list): New function declaration.
24606 (read_fs_list): Likewise.
24607
24608 * include/parser.h: Include <grub/reader.h>.
24609 (grub_parser_split_cmdline): Change type of getline parameter.
24610 (grub_parser): New structure.
24611 (grub_parser_class): New variable.
24612 (grub_parser_execute): New function declaration.
24613 (grub_register_rescue_parser): Likewise.
24614 (grub_parser_register): New inline function.
24615 (grub_parser_unregister): Likewise.
24616 (grub_parser_get_current): Likewise.
24617 (grub_parser_set_current): Likewise.
24618
24619 * include/grub/reader.h: New file.
24620 * kern/reader.c: Likewise.
24621 * kern/rescue_parser.c: Likewise.
24622 * kern/rescue_reader.c: Likewise.
24623 * normal/autofs.c: Likewise.
24624 * normal/dyncmd.c: Likewise.
24625
24626 * include/grub/rescue.h: Removed.
24627 * normal/command.h: Likewise.
24628
24629 * include/grub/script.h: Moved to ...
24630 * include/grub/script_sh.h: ... Moved here.
24631 * normal/execute.c: Moved to ...
24632 * script/sh/execute.c: ... Moved here.
24633 * normal/function.c: Moved to ...
24634 * script/sh/function.c: ... Moved here.
24635 * normal/lexer.c: Moved to ...
24636 * script/sh/lexer.c: ... Moved here.
24637 * normal/parser.y: Moved to ...
24638 * script/sh/parser.y: ... Moved here.
24639 * normal/script.c: Moved to ...
24640 * script/sh/script.c: ... Moved here.
24641
24642 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24643 <grub/reader.h>.
24644 (grub_exit_env): Removed.
24645 (fs_module_list): Moved to normal/autofs.c.
24646 (grub_file_getline): Don't handle comment here.
24647 (free_menu): Skip removed field entry->commands.
24648 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24649 script parameter.
24650 (read_config_file): Removed nested parameter, change getline function.
24651 (grub_enter_normal_mode): Removed.
24652 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24653 (read_command_list): Likewise.
24654 (autoload_fs_module): Moved to normal/autofs.c.
24655 (read_fs_list): Likewise.
24656 (reader_nested): New variable.
24657 (grub_normal_execute): Run parser.sh to switch to sh parser.
24658 (grub_cmd_rescue): Removed.
24659 (cmd_normal): Removed.
24660 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24661 rescue command.
24662 (grub_cmdline_run): New function.
24663 (grub_normal_reader_init): Likewise.
24664 (grub_normal_read_line): Likewise.
24665 (grub_env_write_pager): Likewise.
24666 (cmdline): New variable.
24667 (grub_normal_reader): Likewise.
24668 (GRUB_MOD_INIT): Register normal reader and set as current, register
24669 pager hook, register normal command with grub_register_command_prio,
24670 so that it won't show up in command.lst.
24671 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24672 grub_fs_autoload_hook.
24673
24674 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24675 (grub_menu_execute_entry): Replace grub_script_execute with
24676 grub_parser_execute, change parameter to grub_command_execute.
24677
24678 * normal/menu_text.c: Remove <grub/script.h>.
24679
24680 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24681 and <grub/parser.h>.
24682 (run): Change editor_getline to use new parser interface. Change
24683 parameter to grub_command_execute.
24684
24685 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24686 <grub/reader.h> and <grub/parser.h>.
24687 (grub_load_normal_mode): Execute normal command.
24688 (grub_main): Call grub_register_core_commands,
24689 grub_register_rescue_parser and grub_register_rescue_reader, use
24690 grub_reader_loop to enter input loop.
24691
7dd4a573 24692 * kern/parser.c (grub_parser_split_cmdline): Change type of
24693 getline parameter.
d558e6b5 24694 (grub_parser_class): New variable.
24695 (grub_parser_execute): New function.
24696
24697 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24698 * loader/multiboot2.c: Likewise.
24699 * loader/sparc64/ieee1275/linux.c: Likewise.
24700
24701 * util/grub-emu.c (read_command_list): New dummy function.
24702
18db813d 247032009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24704
24705 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24706 count to 16 for CCISS and IDA.
24707
6c67de15 247082009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24709
24710 * normal/menu_text.c (grub_wait_after_message): Print a newline
24711 after waiting for user input.
24712
24713 * loader/i386/linux.c: Include `<grub/normal.h>'.
24714 (grub_cmd_linux): Improve the error message about `ask' mode, by
24715 waiting for user input so it's not missed (we can do this, since
24716 user requested interaction).
24717
d9dc87b0 247182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 Added missing lst to grub-mkrescue
24721
24722 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24723 and ${input_dir}/parttool.lst
24724
ac8a2baa 247252009-04-30 David S. Miller <davem@davemloft.net>
24726
ad22a610 24727 * util/hostdisk.c (device_is_wholedisk): New function.
24728 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24729 zero only if device_is_wholedisk() returns true.
24730
6966215d 24731 * util/hostdisk.c (convert_system_partition_to_system_disk):
24732 Handle virtual disk devices named /dev/vdiskX as found on sparc
24733 and powerpc.
24734
ac8a2baa 24735 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24736 lettered partition specifier is found, convert to numbered.
24737
979b4fb4 247382009-04-29 David S. Miller <davem@davemloft.net>
24739
e2bf39b2 24740 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24741 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24742
3c64e104 24743 * normal/command.c: Add missing newline at end of file.
24744
979b4fb4 24745 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24746 warnings.
24747 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24748 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24749 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24750 ihandles have a 32-bit type but need to be stored in a "void *".
24751
136d9f82 247522009-04-28 Pavel Roskin <proski@gnu.org>
24753
9459c306 24754 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24755 not disk. Adjust all dependencies.
2e08a26a 24756 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24757 grub_disk_close().
24758
136d9f82 24759 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24760 parent's partition, don't copy it by reference, as it gets freed
24761 on close.
24762
7dd4a573 247632009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24764
24765 Preboot hooks support
24766
24767 * commands/boot.c (struct grub_preboot_t): new declaration
24768 (preboots_head): new variable
24769 (preboots_tail): likewise
24770 (grub_loader_register_preboot_hook): new function
24771 (grub_loader_unregister_preboot_hook): likewise
24772 (grub_loader_set): launch preboot hooks
24773 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24774 (grub_loader_register_preboot_hook): new declaration
24775 (grub_loader_unregister_preboot_hook): likewise
24776
5af922b5 247772009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 Warning fix
24780
7dd4a573 24781 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24782 calling grub_dprintf
24783
a5562c30 247842009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24785
24786 Bug and warning fixes
24787
7dd4a573 24788 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24789 declaration
24790 * commands/test.c (test_parse): fixed bug with file tests and corrected
24791 declaration of find_file
24792
4006f85c 247932009-04-26 Pavel Roskin <proski@gnu.org>
24794
24795 * Makefile.in: Don't install empty manual pages if help2man is
24796 missing. Use help2man option for output, not shell redirection.
24797
5c77c3de 247982009-04-26 David S. Miller <davem@davemloft.net>
24799
24800 * util/grub-mkdevicemap.c (make_device_map): Add missing
24801 NESTED_FUNC_ATTR to process_device().
24802
033b10a8 248032009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 Test command
24806
24807 * commands/test.c: rewritten to use bash-like test
24808
e4343593 248092009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 Parttool autoloading and improvements
24812
7dd4a573 24813 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24814 (parttool.lst): new target
24815 * genmk.rb: generate parttool-*
24816 (CLEANFILES): add #{parttool}
24817 (PARTTOOLFILES): new variable
24818 * genparttoollist.sh: new file
7dd4a573 24819 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24820 (grub_pcpart_type): likewise
24821 * commands/parttool.c (helpmsg): new variable
24822 (grub_cmd_parttool): output help if not enough arguments are supplied
24823 autoload modules
24824 (GRUB_MOD_INIT(parttool)): use helpmsg
24825
0d312500 248262009-04-24 David S. Miller <davem@davemloft.net>
24827
7dd4a573 24828 Avoiding opening same device multiple times in device iterator.
0d312500 24829
24830 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24831 and use it to build a list of partitions in iterate_disk() and
0d312500 24832 iterate_partition().
24833
ac20caff 24834 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24835 on disk->data.
24836
0dcf7495 24837 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24838 grub_devalias_iterate() result instead of unconditional 0.
24839 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24840 Also, capture hook return value, either directly or via
24841 grub_children_iterate(), and propagate to caller.
24842 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24843 grub_children_iterate): Return value is now 'int' instead of
24844 'grub_err_t'.
24845 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24846 like a proper iterator, stopping when hooks return non-zero.
24847 (grub_devalias_iterate): Likewise.
24848
c8c08833 248492009-04-23 David S. Miller <davem@davemloft.net>
24850
24851 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24852
f01005a8 248532009-04-22 David S. Miller <davem@davemloft.net>
24854
24855 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24856 is larger than address_cells, use that value for address_cells too.
24857
4e8269da 24858 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24859 IEEE1275_MAX_PATH_LEN): Define.
24860 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24861 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24862 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24863 'devtype'. Explicitly NULL terminate devalias expansion.
24864
a1447506 24865 * util/sparc64/ieee1275/misc.c: New file.
24866 * util/sparc64/ieee1275/grub-setup.c: New file.
24867 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24868 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24869 * util/sparc64/ieee1275/grub-install.in: New file.
24870 * util/ieee1275/ofpath.c: New file.
24871 * util/ieee1275/devicemap.c: New file.
24872 * util/devicemap.c: New file.
24873 * util/deviceiter.c: New file.
24874 * kern/sparc64/ieee1275/init.c: New file.
24875 * include/grub/util/ofpath.h: New file.
24876 * include/grub/util/deviceiter.h: New file.
24877 * util/grub-mkdevicemap.c: Include deviceiter.h.
24878 Implement using grub_util_emit_devicemap_entry and
24879 grub_util_iterate_devices.
24880 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24881 util/devicemap.c into grub-mkdevicemap
24882 * conf/i386-efi.rmk: Likewise.
24883 * conf/i386-ieee1275.rmk: Likewise.
24884 * conf/i386-pc.rmk: Likewise.
24885 * conf/powerpc-ieee1275.rmk: Likewise.
24886 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24887 images and installation utilities. Build kernel as image
24888 instead of as elf binary. Use common rules as much as possible.
24889
7dd4a573 248902009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24891
24892 Correct GPT definition
24893
7dd4a573 24894 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24895 of "attrib" member
24896
c6c5219f 248972009-04-19 Felix Zielcke <fzielcke@z-51.de>
24898
24899 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24900
0552ff9f 249012009-04-19 David S. Miller <davem@davemloft.net>
24902
24903 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24904 (grub_rescue_cmd_linux): Rename to...
24905 (grub_cmd_linux): and fix prototype.
24906 (grub_rescue_cmd_initrd): Rename to...
24907 (grub_cmd_initrd): and fix prototype.
24908 (cmd_linux, cmd_initrd): New.
24909 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24910 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24911
d1a282fc 249122009-04-17 Pavel Roskin <proski@gnu.org>
24913
07c5039f 24914 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24915 format.
24916 (grub_ohci_transfer): Likewise.
24917
b012002d 24918 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24919
1bc09c35 24920 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24921 return without a value. Fix inconsistent indentation.
24922
e0ff9126 24923 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24924 match struct grub_fs.
24925
d1a282fc 24926 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24927 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24928 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24929 * commands/lspci.c (grub_lspci_iter): Likewise.
24930
a96df3f2 249312009-04-16 Bean <bean123ch@gmail.com>
24932
24933 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24934 value.
24935
41bb0fe9 249362009-04-15 Pavel Roskin <proski@gnu.org>
24937
24938 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24939 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24940 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24941 definitions.
24942
596c6970 249432009-04-15 Felix Zielcke <fzielcke@z-51.de>
24944
24945 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24946 that no multiple data or metadata areas are supported and `Unknown
596c6970 24947 metadata header'.
24948
7dd4a573 249492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24950
24951 Move loader out of the kernel
24952
24953 * kern/loader.c: moved to ...
24954 * commands/boot.c: ... moved here
24955 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24956 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24957 * include/grub/kernel.h (grub_machine_fini): export
24958 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24959 (grub_loader_set): likewise
24960 (grub_loader_unset): likewise
24961 (grub_loader_boot): likewise
24962 * conf/common.rmk: new module boot.mod
24963 (pkglib_MODULES): add boot.mod
24964 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24965 (grub_emu_SOURCES): likewise
24966 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24967 (grub_emu_SOURCES): likewise
24968 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24969 (grub_emu_SOURCES): likewise
24970 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24971 (grub_emu_SOURCES): likewise
24972 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24973 (grub_emu_SOURCES): likewise
7dd4a573 24974 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24975 (grub_emu_SOURCES): likewise
0d5d5653 24976 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24977 (grub_emu_SOURCES): likewise
0d5d5653 24978
7dd4a573 249792009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24980
24981 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24982
5999d619 24983 * kern/misc.c (grub_itoa): Removed function
24984 (grub_ltoa): likewise
24985 (grub_vsprintf): use grub_lltoa
24986
7dd4a573 249872009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24988
24989 Restore grub-emu
24990
24991 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24992 * conf/i386-coreboot.rmk: likewise
24993 * conf/i386-ieee1275.rmk: likewise
24994 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24995
20318222 249962009-04-15 Felix Zielcke <fzielcke@z-51.de>
24997
24998 * INSTALL: Add that `./autogen.sh' needs to be run before
24999 `./configure.'.
25000
d05f0df3 250012009-04-14 Bean <bean123ch@gmail.com>
25002
25003 * Makefile.in (pkglib_DATA): Add handler.lst.
25004 (handler.lst): New rule.
25005
25006 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25007 * conf/i386-coreboot.rmk: Likewise.
25008 * conf/i386-ieee1275.rmk: Likewise.
25009 * conf/i386-efi.rmk: Likewise.
25010 * conf/x86_64-efi.rmk: Likewise.
25011 * conf/powerpc-ieee1275.rmk: Likewise.
25012 * conf/sparc64-ieee1275.rmk: Likewise.
25013
25014 * genhandlerlist.sh: New file.
25015
25016 * genmk.rb: Add rules to generate handler.lst.
25017
25018 * include/grub/normal.h (grub_file_getline): New function definition.
25019 (read_handler_list): Likewise.
25020 (free_handler_list): Likewise.
25021
25022 * include/grub/term.h (grub_term_register_input): Add name parameter
25023 for auto generation of handler.lst.
25024 (grub_term_register_output): Likewise.
25025
25026 * normal/handler.c: New file.
25027
25028 * normal/main.c (get_line): Renamed to grub_file_getline.
25029 (read_config_file): Use the newly renamed grub_file_getline.
25030 (read_command_list): Likewise.
25031 (read_fs_list): Likewise.
25032 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25033 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25034
25035 * term/efi/console.c (grub_console_init): Add name parameter for auto
25036 generation of handler.lst.
25037 * term/gfxterm.c: Likewise.
25038 * term/i386/pc/at_keyboard.c: Likewise.
25039 * term/i386/pc/console.c: Likewise.
25040 * term/i386/pc/serial.c: Likewise.
25041 * term/i386/pc/vesafb.c: Likewise.
25042 * term/i386/pc/vga.c: Likewise.
25043 * term/i386/pc/vga_text.c: Likewise.
25044 * term/ieee1275/ofconsole.c: Likewise.
25045 * term/usb_keyboard.c: Likewise.
25046
33c846be 250472009-04-14 Bean <bean123ch@gmail.com>
25048
25049 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25050 properly with null character.
25051
4484e01e 250522009-04-14 Felix Zielcke <fzielcke@z-51.de>
25053
25054 * configure: Remove.
25055 * config.h.in: Likewise.
f93d668e 25056 * stamp-h.in: Likewise.
4484e01e 25057 * DISTLIST: Likewise.
25058 * conf/common.mk: Likewise.
25059 * conf/i386-coreboot.mk: Likewise.
25060 * conf/i386-efi.mk: Likewise.
25061 * conf/i386-ieee1275.mk: Likewise.
25062 * conf/i386.mk: Likewise.
25063 * conf/i386-pc.mk: Likewise.
25064 * conf/powerpc-ieee1275.mk: Likewise.
25065 * conf/sparc64-ieee1275.mk: Likewise.
25066 * conf/x86_64-efi.mk: Likewise.
25067
25068 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25069 develop on GRUB.
25070
7dd4a573 250712009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25072 David S. Miller <davem@davemloft.net>
25073
25074 * util/hostdisk.c (make_device_name): Fix buffer length
25075 calculations.
25076
e25b5a8c 250772009-04-14 Felix Zielcke <fzielcke@z-51.de>
25078
25079 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25080 <sys/param.h> and <sys/sysctl.h>.
25081 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25082 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25083 opening the device and reset them afterwards.
25084
1f1f580c 250852009-04-13 Pavel Roskin <proski@gnu.org>
25086
25087 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25088 Reported by John Stanley <jpsinthemix@verizon.net>
25089
7ebc2d6b 250902009-04-13 Robert Millan <rmh@aybabtu.com>
25091
25092 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25093 that name for menuentries when appropriate.
7ebc2d6b 25094
d8ba3667 250952009-04-13 Felix Zielcke <fzielcke@z-51.de>
25096
25097 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25098
cba416eb 250992009-04-13 Robert Millan <rmh@aybabtu.com>
25100
25101 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25102 to Linux, simply abort telling the user it's no longer supported.
25103
a547a745 251042009-04-13 Felix Zielcke <fzielcke@z-51.de>
25105
25106 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25107 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25108 `freebsd_loadenv' only when devices.hints exist.
25109
232a769c 251102009-04-13 Pavel Roskin <proski@gnu.org>
25111
25112 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25113
c3012039 251142009-04-13 Felix Zielcke <fzielcke@z-51.de>
25115
25116 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25117 partition number.
25118 (grub_drive): Likewise.
25119
234022fe 251202009-04-13 David S. Miller <davem@davemloft.net>
25121
25122 * kern/sparc64/ieee1275/ieee1275.c: New file.
25123 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25124 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25125 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25126 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25127 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25128 grub_ieee1275_alloc_physmem): Declare new exported functions.
25129
d8e1836c 25130 * include/grub/sparc64/ieee1275/loader.h: New file.
25131 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25132 * include/grub/sparc64/kernel.h: Likewise.
25133 * loader/sparc64/ieee1275/linux.c: Likewise.
25134
96bd81ec 25135 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25136 (grub_fstest_SOURCES): Likewise.
25137
6a4737e5 25138 * util/hostdisk.c (make_device_name): Do not make any assumptions
25139 about the length of drive names.
25140
1d7a72fd 25141 * kern/dl.c (grub_dl_load_file): Close file immediately when
25142 we are done using it.
25143
56bc2471 251442009-04-12 David S. Miller <davem@davemloft.net>
25145
25146 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25147 values. Noticed by Pavel Roskin.
25148
df38d0bb 25149 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25150 target compiler.
7dd4a573 25151
e382e93a 25152 * genmk.rb: Add more flexible image type specification, also
25153 pass --strip-unneeded to objcopy.
25154 * conf/i386-pc.rmk: Use *_FORMAT.
25155 * conf/i386-pc.mk: Rebuilt.
25156
f5dbbca9 25157 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25158 (OFDISK_HASH_SZ): Define.
25159 (ofdisk_hash): New hash table.
25160 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25161 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25162 instead of device phandle which is not unique.
25163
91c88b12 25164 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25165 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25166 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25167 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25168 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25169 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25170 GRUB_KERNEL_MACHINE_DATA_END): Define.
25171 (grub_kernel_image_size, grub_total_module_size): Declare.
25172
5b5d4aa5 251732009-04-12 Pavel Roskin <proski@gnu.org>
25174
7dd4a573 25175 * configure.ac: Change the logic when we check for target tools.
25176 Do it when the target is specified and it's different from the
25177 specified value of the host.
5b5d4aa5 25178
c91e1793 251792009-04-11 Felix Zielcke <fzielcke@z-51.de>
25180
25181 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25182 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25183 GNU/kFreeBSD. Check if a device is a character device. Use
25184 DIOCGMEDIASIZE to get the size.
25185 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25186 support for GNU/kFreeBSD.
25187 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25188 is a character device instead of a block device. Add support for
25189 FreeBSD device names.
25190
25191 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25192 is a character device instead of a block device.
25193
25194 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25195 is a character device instead of a block device.
25196
b1ac8644 251972009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25198
25199 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25200 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25201 FreeBSD. Check if a device is a character device. Use
25202 DIOCGMEDIASIZE to get the size.
25203 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25204 support for FreeBSD.
25205 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25206 is a character device instead of a block device. Add support for
25207 FreeBSD device names.
25208
25209 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25210 a character device instead of a block device.
25211 (grub_util_check_char_device): New function.
25212
25213 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25214 a character device instead of a block device.
25215
25216 * include/grub/util/getroot.h (grub_util_check_char_device): New
25217 prototype.
25218
a3f7515a 252192009-04-11 David S. Miller <davem@davemloft.net>
25220
25221 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25222 static libgcc.
25223 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25224 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25225 function, if present.
25226 (__bswapdi2): Likewise.
25227
0d44993d 25228 * include/grub/sparc64/ieee1275/boot.h: New file.
25229 * boot/sparc64/ieee1275/boot.S: Likewise.
25230 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25231
ed3d2bc2 25232 * kern/misc.c (grub_ltoa): New function.
25233 (grub_vsprintf): Use it to format 'long' integers.
25234
d3bfb59c 252352009-04-10 David S. Miller <davem@davemloft.net>
25236
25237 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25238 slots are of type grub_ieee1275_cell_t.
25239 (grub_nand_read): Likewise.
25240 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25241 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25242 macros are used to compare values in arg/ret block of the call.
25243 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25244 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25245 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25246 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25247 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25248 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25249 grub_ieee1275_close, grub_ieee1275_set_property,
25250 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25251 grub_ieee1275_cell_t.
25252 * kern/ieee1275/openfw.c (grub_map): Likewise.
25253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25254 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25255
450e2238 25256 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25257 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25258 (grub_devalias_iterate): Likewise.
25259
7dd4a573 252602009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25261
25262 UFS improvements
25263
25264 * fs/ufs.c (INODE_NBLOCKS): new definition
25265 (struct grub_ufs_dirent): added fields for non-BSD dirents
25266 (grub_ufs_get_file_block): fixed double indirect handling
25267 (grub_ufs_lookup_symlink): use more robust way to determine whether
25268 symlink is inline
25269 (grub_ufs_find_file): support for non-BSD dirents
25270 (grub_ufs_dir): support for non-BSD dirents
25271
e7e6862a 252722009-04-10 Bean <bean123ch@gnail.com>
25273
25274 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25275 attribute, otherwise the size would be wrong for i386 platform.
25276
25277 * include/grub/pci.h (grub_pci_read_word): New inline function.
25278 (grub_pci_read_byte): Likewise.
25279 (grub_pci_write): Likewise.
25280 (grub_pci_write_word): Likewise.
25281 (grub_pci_write_byte): Likewise.
25282
25283 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25284
25285 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25286 (find_framebuf): Scan pci to locate the frame buffer address.
25287
25288 * commands/efi/fixvideo.c: New file.
25289
25290 * commands/efi/loadbios.c: Likewise.
25291
25292 * commands/memrw.c: Likewise.
25293
25294 * util/grub-dumpbios.in: Likewise.
25295
25296 * conf/common.rmk (grub-dumpbios): New utility.
25297 (pkglib_MODULES): New module memrw.mod.
25298 (memrw_mod_SOURCE): New macro.
25299 (memrw_mod_CFLAGS): Likewise.
25300 (memrw_mod_LDFLAGS): Likewise.
25301
7dd4a573 25302 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25303 fixvideo.mod.
25304 (loadbios_mod_SOURCE): New macro.
25305 (loadbios_mod_CFLAGS): Likewise.
25306 (loadbios_mod_LDFLAGS): Likewise.
25307 (fixvideo_mod_SOURCE): Likewise.
25308 (fixvideo_mod_CFLAGS): Likewise.
25309 (fixvideo_mod_LDFLAGS): Likewise.
25310
7dd4a573 25311 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25312 fixvideo.mod.
25313 (loadbios_mod_SOURCE): New macro.
25314 (loadbios_mod_CFLAGS): Likewise.
25315 (loadbios_mod_LDFLAGS): Likewise.
25316 (fixvideo_mod_SOURCE): Likewise.
25317 (fixvideo_mod_CFLAGS): Likewise.
25318 (fixvideo_mod_LDFLAGS): Likewise.
25319
af63ada2 253202009-04-08 Felix Zielcke <fzielcke@z-51.de>
25321
25322 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25323
c2cdde70 253242009-04-07 David S. Miller <davem@davemloft.net>
25325
25326 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25327 support for R_SPARC_OLO10 relocations. Fix compile warning for
25328 R_SPARC_WDISP30 case.
ea3f72cf 25329 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25330
761319cf 253312009-04-06 Pavel Roskin <proski@gnu.org>
25332
1007d1f5 25333 * include/grub/misc.h (ARRAY_SIZE): New macro.
25334 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25335 New macro.
25336 * loader/i386/linux.c (allocate_pages): Use free_pages().
25337 (grub_linux_unload): Don't use free_pages().
25338 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25339 wrong index. Treat all other modes as text modes.
25340 (grub_cmd_linux): Initialize vid_mode unconditionally to
25341 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25342
761319cf 25343 * commands/help.c (print_command_help): Use cmd->prio, not
25344 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25345
ea761d40 253462009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25347
ea761d40 25348 Parttool
25349
25350 * parttool/pcpart.c: new file
25351 * commands/parttool.c: likewise
25352 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25353 (parttool_mod_SOURCES): new variable
25354 (parttool_mod_CFLAGS): likewise
25355 (parttool_mod_LDFLAGS): likewise
25356 (pcpart_mod_SOURCES): likewise
25357 (pcpart_mod_CFLAGS): likewise
25358 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25359 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25360 and parttool/pcpart.c
25361 * conf/i386-efi.rmk: likewise
25362 * conf/i386-ieee1275.rmk: likewise
25363 * conf/i386-pc.rmk: likewise
25364 * conf/powerpc-ieee1275.rmk: likewise
25365 * conf/sparc64-ieee1275.rmk: likewise
25366 * conf/x86_64-ieee1275.rmk: likewise
25367
05aaebfb 253682009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25369
25370 Support for mtime and further expandability of dir command
25371
25372 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25373 * include/grub/datetime.h: ... moved here and added
05aaebfb 25374 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25375 * include/grub/fs.h: new syntax for dir and mtime functions in
25376 struct grub_fs
05aaebfb 25377 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25378 and GRUB_FSHELP_FLAGS_MASK
25379 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25380 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25381 (grub_ext2_mtime): new function
25382 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25383 (grub_hfsplus_mtime): new function
25384 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25385 (GRUB_UFS_ATTR_FILE): likewise
25386 (GRUB_UFS_ATTR_LNK): likewise
25387 (struct grub_ufs_sblock): new fields mtime
25388 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25389 all users updated
25390 (grub_ufs_dir): mtime support
25391 (grub_ufs_mtime): new function
25392 * fs/affs.c (grub_affs_dir): use new dir syntax
25393 * fs/afs.c (grub_afs_dir): likewise
25394 * fs/cpio.c (grub_cpio_dir): likewise
25395 * fs/fat.c (grub_fat_find_dir): likewise
25396 * fs/hfs.c (grub_hfs_dir): likewise
25397 * fs/iso9660.c (grub_iso9660_dir): likewise
25398 * fs/jfs.c (grub_jfs_dir): likewise
25399 * fs/minix.c (grub_minix_dir): likewise
25400 * fs/ntfs.c (grub_ntfs_dir): likewise
25401 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25402 * fs/sfs.c (grub_sfs_dir): likewise
25403 * fs/xfs.c (grub_xfs_dir): likewise
25404 * util/hostfs.c (grub_hostfs_dir): likewise
25405 * lib/datetime.c: moved to ...
25406 * normal/datetime.c: ... moved here
25407 (grub_unixtime2datetime): new function
25408 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25409 * normal/completion.c (iterate_dir): use new dir syntax
25410 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25411 last modification time of a volume
7dd4a573 25412 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25413 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25415 (normal_mod_SOURCES): likewise
25416 (datetime_mod_SOURCES): Removed lib/datetime.c
25417 * conf/i386-efi.rmk: likewise
7dd4a573 25418 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25419 * conf/i386-pc.rmk: likewise
25420 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25421 * conf/sparc64-ieee1275.rmk: likewise
25422 * conf/x86_64-efi.rmk: likewise
05aaebfb 25423
8a7e1a14 254242009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25427
25428 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25429 on grub_fat_find_dir
25430 (grub_fat_find_dir): use grub_fat_iterate_dir
25431 (grub_fat_label): likewise
25432
04186a9c 254332009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25434
7dd4a573 25435 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25436 and command.h
25437 remove extraneous kernel_elf_HEADERS
25438
da4c0bb6 254392009-04-04 Bean <bean123ch@gnail.com>
25440
25441 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25442
25443 * util/misc.c: Likewise.
25444
54ad9555 254452009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25446
25447 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25448 instead of grub_printf.
25449
7a6bf9f2 254502009-04-03 Robert Millan <rmh@aybabtu.com>
25451
25452 * loader/i386/linux.c (grub_linux_setup_video): Fill
25453 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25454 values from `mode info' structure instead of hardcoded
25455 values.
25456
3fcc2083 254572009-04-01 Pavel Roskin <proski@gnu.org>
25458
25459 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25460 unused now.
25461 * genmk.rb: Likewise.
25462 * configure.ac: Likewise.
25463
5ec9740b 254642009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25465
25466 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25467 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25468
5270cec8 254692009-04-01 David S. Miller <davem@davemloft.net>
25470
25471 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25472 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25473 (grub_setjmp): Mark with 'returns_twice' attribute.
25474 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25475 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25476 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25477
9c3dd854 254782009-04-01 Robert Millan <rmh@aybabtu.com>
25479
25480 Reapply fix from 2008-07-28 which was accidentally reverted; also
25481 perform the same fix to a similar check in same function.
25482
25483 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25484 with the same number are found, just use issue a warning with
25485 grub_dprintf(), as this error has been reported to be non-fatal.
25486
0d818b7e 254872009-03-31 Pavel Roskin <proski@gnu.org>
25488
25489 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25490 for cross-compilation.
25491
95646d92 254922009-03-30 Robert Millan <rmh@aybabtu.com>
25493
25494 Fix i386-ieee1275 build.
25495
25496 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25497 Remove declaration.
25498
6a003ed1 254992009-03-30 Pavel Roskin <proski@gnu.org>
25500
25501 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25502 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25503 zero-terminated, rely only on the strlen value. Fix comparison
25504 of strings differing in length.
25505
92f33540 255062009-03-30 Robert Millan <rmh@aybabtu.com>
25507
25508 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25509 checking for abi version. Improve error messages on BIOS to notify
25510 user about `linux16' command.
25511
a8c48fd5 255122009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25513
f968172e 25514 Leak fixes
a8c48fd5 25515
f968172e 25516 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25517 in case of collision
25518 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25519
9c323f09 255202009-03-29 Robert Millan <rmh@aybabtu.com>
25521
25522 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25523 set `vid_mode' accordingly.
25524 (grub_linux_boot): Process `vid_mode' and set video mode.
25525
ae68f423 255262009-03-29 Robert Millan <rmh@aybabtu.com>
25527
25528 * util/grub.d/10_linux.in (linux_entry): New function.
25529 Factorize generation of Linux boot entries.
25530
5709cfc4 255312009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25532
25533 Make the format of Environment Block plain text. The boot loader
25534 part is not tested well yet.
7dd4a573 25535
5709cfc4 25536 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25537 (buffer): Removed.
25538 (envblk): Likewise.
25539 (usage): Remove "info" and "clear". Add "unset". Update the
25540 description of "set", as this does not delete variables any
25541 longer.
25542 (create_envblk_file): Complete rewrite.
25543 (open_envblk_file): Likewise.
25544 (cmd_info): Removed.
25545 (cmd_list): Likewise.
25546 (cmd_set): Likewise.
25547 (cmd_clear): Likewise.
25548 (list_variables): New function.
25549 (write_envblk): Likewise.
25550 (set_variables): Likewise.
25551 (unset_variables): Likewise.
25552 (main): Complete rewrite.
25553
25554 * commands/loadenv.c (buffer): Removed.
25555 (envblk): Likewise.
25556 (open_envblk_file): New function.
25557 (read_envblk_file): Complete rewrite.
25558 (grub_cmd_load_env): Likewise.
25559 (grub_cmd_list_env): Likewise.
25560 (struct blocklist): New struct.
25561 (free_blocklists): New function.
25562 (check_blocklists): Likewise.
25563 (write_blocklists): Likewise.
25564 (grub_cmd_save_env): Complete rewrite.
25565
25566 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25567 a plain text signature.
25568 (GRUB_ENVBLK_MAXLEN): Removed.
25569 (struct grub_envblk): Complete rewrite.
25570 (grub_envblk_find): Removed.
25571 (grub_envblk_insert): Likewise.
25572 (grub_envblk_open): New prototype.
25573 (grub_envblk_set): Likewise.
25574 (grub_envblk_delete): Put const to VALUE.
25575 (grub_envblk_iterate): Put const to NAME and VALUE.
25576 (grub_envblk_close): New prototype.
25577 (grub_envblk_buffer): New inline function.
25578 (grub_envblk_size): Likewise.
25579
25580 * lib/envblk.c: Include grub/mm.h.
25581 (grub_env_find): Removed.
25582 (grub_envblk_open): New function.
25583 (grub_envblk_close): Likewise.
25584 (escaped_value_len): Likewise.
25585 (find_next_line): Likewise.
25586 (grub_envblk_insert): Removed.
25587 (grub_envblk_set): New function.
25588 (grub_envblk_delete): Complete rewrite.
25589 (grub_envblk_iterate): Likewise.
25590
a9368fd3 255912009-03-28 Robert Millan <rmh@aybabtu.com>
25592
25593 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25594 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25595 variables. Use 16-bit loader.
25596 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25597 loader.
25598 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25599 (grub_linux16_boot): ... this. Update all users.
25600 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25601 (grub_linux_boot): ... this. Update all users.
25602
25603 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25604 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25605 commands to `linux16' and `initrd16'.
25606 (GRUB_MOD_FINI(linux)): Rename to ...
25607 (GRUB_MOD_FINI(linux16)): ... this.
25608
e4dd5a7e 256092009-03-24 Pavel Roskin <proski@gnu.org>
25610
25611 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25612 not just for compilation.
25613
c04d6e05 256142009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 Move multiboot helper out of kernel
25617
25618 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25619 `loader/i386/multiboot_helper.S'.
25620 * conf/i386-coreboot.rmk: Likewise
25621 * conf/i386-ieee1275.rmk: Likewise
25622
25623 * kern/i386/loader.S: Move multiboot helpers from here...
25624 * loader/i386/multiboot_helper.S: ...moved here
25625 * include/grub/i386/loader.h: Move declarations of multiboot
25626 helpers from here...
25627 * include/grub/i386/multiboot.h: ...moved here
25628 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25629
42a5b3fc 256302009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25631
25632 * kern/env.c (grub_env_context_open): Added an argument to specify
25633 whether a new context inherits exported variables from current
25634 one. This is useful when making a sandbox to interpret a config
25635 file.
25636 All callers updated.
25637
25638 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25639
b28bbc4e 256402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25641
25642 * kern/env.c (grub_env_context_close): Fix memory leaks.
25643
f04f02e4 256442009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25645
25646 * normal/main.c (grub_normal_execute): Added an argument
25647 BATCH to specify if an interactive interface should be provided
25648 after reading a config file.
25649 All callers updated.
25650 (read_command_list): Prevent being executed twice.
25651 (read_fs_list): Likewise.
25652
42a5b3fc 25653 * include/grub/normal.h (grub_normal_execute): Updated the
25654 prototype.
f04f02e4 25655
41473ac2 256562009-03-22 Pavel Roskin <proski@gno.org>
25657
fbc00b0c 25658 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25659 _start.
25660 * kern/i386/pc/startup.S: Likewise.
25661 * kern/i386/efi/startup.S: Likewise.
25662 * kern/i386/ieee1275/startup.S: Likewise.
25663 * kern/i386/coreboot/startup.S: Likewise.
25664 * kern/x86_64/efi/startup.S: Likewise.
25665
41473ac2 25666 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25667 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25668 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25669
2274cc8f 256702009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25671
25672 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25673
25674 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25675 limit detection.
25676 Use vaddr of correct segment for entry_point.
25677
b1b797cb 256782009-03-21 Bean <bean123ch@gmail.com>
25679
25680 * commands/blocklist.c: Add include file <grub/command.h>, remove
25681 <grub/normal.h> and <grub/arg.h>.
25682 (grub_cmd_blocklist): Use the new command interface.
25683 (GRUB_MOD_INIT): Likewise.
25684 (GRUB_MOD_FINI): Likewise.
25685 * commands/boot.c: Likewise.
25686 * commands/cat.c: Likewise.
25687 * commands/cmp.c: Likewise.
25688 * commands/configfile.c: Likewise.
25689 * commands/crc.c: Likewise.
25690 * commands/echo.c: Likewise.
25691 * commands/halt.c: Likewise.
25692 * commands/handler.c: Likewise.
25693 * commands/hdparm.c: Likewise.
25694 * commands/help.c: Likewise.
25695 * commands/hexdump.c: Likewise.
25696 * commands/loadenv.c: Likewise.
25697 * commands/ls.c: Likewise.
25698 * commands/lsmmap.c: Likewise.
25699 * commands/lspci.c: Likewise.
25700 * commands/loadenv.c: Likewise.
25701 * commands/read.c: Likewise.
25702 * commands/reboot.c: Likewise.
25703 * commands/search.c: Likewise.
25704 * commands/sleep.c: Likewise.
25705 * commands/test.c: Likewise.
25706 * commands/usbtest.c: Likewise.
25707 * commands/videotest.c: Likewise.
25708 * commands/i386/cpuid.c: Likewise.
25709 * commands/i386/pc/halt.c: Likewise.
25710 * commands/i386/pc/play.c: Likewise.
25711 * commands/i386/pc/pxecmd.c: Likewise.
25712 * commands/i386/pc/vbeinfo.c: Likewise.
25713 * commands/i386/pc/vbetest.c: Likewise.
25714 * commands/ieee1275/suspend.c: Likewise.
25715 * disk/loopback.c: Likewise.
25716 * font/font_cmd.c: Likewise.
25717 * hello/hello.c: Likewise.
25718 * loader/efi/appleloader.c: Likewise.
25719 * loader/efi/chainloader.c: Likewise.
25720 * loader/i386/bsd.c: Likewise.
25721 * loader/i386/efi/linux.c: Likewise.
25722 * loader/i386/ieee1275/linux.c: Likewise.
25723 * loader/i386/linux.c: Likewise.
25724 * loader/i386/pc/chainloader.c: Likewise.
25725 * loader/i386/pc/linux.c: Likewise.
25726 * loader/powerpc/ieee1275/linux.c: Likewise.
25727 * loader/multiboot_loader.c: Likewise.
25728 * term/gfxterm.c: Likewise.
25729 * term/i386/pc/serial.c: Likewise.
25730 * term/terminfo.c: Likewise.
25731
25732 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25733 * term/i386/pc/vga.c: Likewise.
25734 * video/readers/jpeg.c: Likewise.
25735 * video/readers/png.c: Likewise.
25736 * video/readers/tga.c: Likewise.
25737
25738 * util/grub-fstest (cmd_loopback): Removed.
25739 (cmd_blocklist): Likewise.
25740 (cmd_ls): Likewise.
25741 (grub_register_command): Likewise.
25742 (grub_unregister_command): Likewise.
25743 (execute_command): Use grub_command_find to locate command and execute
25744 it.
25745
25746 * include/grub/efi/chainloader.h: Removed.
25747 * loader/efi/chainloader_normal.c: Likewise.
25748 * loader/i386/bsd_normal.c: Likewise.
25749 * loader/i386/pc/chainloader_normal.c: Likewise.
25750 * loader/i386/pc/multiboot_normal.c: Likewise.
25751 * loader/linux_normal.c: Likewise.
25752 * loader/multiboot_loader_normal.c: Likewise.
25753 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25754
25755 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25756 and grub_register_command_p1.
25757
25758 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25759 kern/command.c, lib/arg.c and commands/extcmd.c.
25760 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25761 (minicmd_mod_SOURCES): New variable.
25762 (minicmd_mod_CFLAGS): Likewise.
25763 (minicmd_mod_LDFLAGS): Likewise.
25764 (extcmd_mod_SOURCES): Likewise.
25765 (extcmd_mod_CFLAGS): Likewise.
25766 (extcmd_mod_LDFLAGS): Likewise.
25767 (boot_mod_SOURCES): Removed.
25768 (boot_mod_CFLAGS): Likewise.
25769 (boot_mod_LDFLAGS): Likewise.
25770
25771 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25772 kern/corecmd.c.
25773 (kernel_img_HEADERS): Add command.h.
25774 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25775 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25776 and lib/arg.c.
25777 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25778 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25779 remove the corresponding normal mode command.
25780 (normal_mod_SOURCES): Remove normal/arg.c.
25781 * conf/i386-coreboot.rmk: Likewise.
25782 * conf/i386-efi.rmk: Likewise.
25783 * conf/i386-ieee1275.rmk: Likewise.
25784 * conf/powerpc-ieee1275.rmk: Likewise.
25785 * conf/x86_64-efi.rmk: Likewise.
25786
25787 * include/grub/arg.h: Move from here ...
25788 * include/grub/lib/arg.h: ... to here.
25789
25790 * normal/arg.c: Move from here ...
25791 * lib/arg.c: ... to here.
25792
25793 * commands/extcmd.c: New file.
25794 * commands/minicmd.c: Likewise.
25795 * include/grub/command.h: Likewise.
25796 * include/grub/extcmd.h: Likewise.
25797 * kern/command.c: Likewise.
25798 * kern/corecmd.c: Likewise.
25799
25800 * kern/list.c (grub_list_iterate): Return int instead of void.
25801 (grub_list_insert): New function.
25802 (grub_prio_list_insert): Likewise.
25803
25804 * kern/rescue.c (grub_rescue_command): Removed.
25805 (grub_rescue_command_list): Likewise.
25806 (grub_rescue_register_command): Likewise.
25807 (grub_rescue_unregister_command): Likewise.
25808 (grub_rescue_cmd_boot): Move to minicmd.c
25809 (grub_rescue_cmd_help): Likewise.
25810 (grub_rescue_cmd_info): Likewise.
25811 (grub_rescue_cmd_boot): Likewise.
25812 (grub_rescue_cmd_testload): Likewise.
25813 (grub_rescue_cmd_dump): Likewise.
25814 (grub_rescue_cmd_rmmod): Likewise.
25815 (grub_rescue_cmd_lsmod): Likewise.
25816 (grub_rescue_cmd_exit): Likewise.
25817 (grub_rescue_print_devices): Moved to corecmd.c.
25818 (grub_rescue_print_files): Likewise.
25819 (grub_rescue_cmd_ls): Likewise.
25820 (grub_rescue_cmd_insmod): Likewise.
25821 (grub_rescue_cmd_set): Likewise.
25822 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25823 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25824 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25825 commands, remove grub_rescue_register_command calls.
b1b797cb 25826
7d074e3c 25827 * normal/command.c (grub_register_command): Removed.
b1b797cb 25828 (grub_unregister_command): Likewise.
25829 (grub_command_find): Likewise.
25830 (grub_iterate_commands): Likewise.
25831 (rescue_command): Likewise.
25832 (export_command): Moved to corecmd.c.
25833 (set_command): Removed.
25834 (unset_command): Likewise.
25835 (insmod_command): Likewise.
25836 (rmmod_command): Likewise.
25837 (lsmod_command): Likewise.
25838 (grub_command_init): Likewise.
25839
25840 * normal/completion.c (iterate_command): Use cmd->prio to check for
25841 active command.
25842 (complete_arguments): Use grub_extcmd_t structure to find options.
25843 (grub_normal_do_completion): Change function grub_iterate_commands to
25844 grub_command_iterate.
25845
25846 * normal/execute.c (grub_script_execute_cmd): No need to parse
25847 argument here.
25848
25849 * normal/main.c (grub_dyncmd_dispatcher): New function.
25850 (read_command_list): Register unload commands as dyncmd.
25851 (grub_cmd_normal): Use new command interface, register rescue,
25852 unregister normal at entry, register normal, unregister rescue at exit.
25853
25854 * include/grub/list.h (grub_list_test_t): New type.
25855 (grub_list_iterate): Return int instead of void.
25856 (grub_list_insert): New function.
25857 (GRUB_AS_NAMED_LIST_P): New macro.
25858 (GRUB_AS_PRIO_LIST): Likewise.
25859 (GRUB_AS_PRIO_LIST_P): Likewise.
25860 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25861 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25862 (grub_prio_list): New structure.
25863 (grub_prio_list_insert): New function.
25864 (grub_prio_list_remove): New inline function.
25865
25866 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25867 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25868 (GRUB_COMMAND_FLAG_MENU): Likewise.
25869 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25870 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25871 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25872 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25873 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25874 (grub_command): Likewise.
25875 (grub_register_command): Likewise.
25876 (grub_command_find): Likewise.
25877 (grub_iterate_commands): Likewise.
25878 (grub_command_init): Likewise.
25879 (grub_arg_parse): Likewise.
25880 (grub_arg_show_help): Likewise.
25881
25882 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25883 (grub_rescue_unregister_command): Likewise.
25884
25885 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25886 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25887 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25888
25889 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25890 grub_rescue_cmd_initrd.
25891 * include/grub/i386/loader.h: Likewise.
25892 * include/grub/x86_64/loader.h: Likewise.
25893
25894 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25895
1f4147aa 258962009-03-21 Bean <bean123ch@gmail.com>
25897
25898 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25899 instead of stat in mingw environment.
25900
25901 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25902
25903 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25904
25905 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25906 AC_CONFIG_LINKS.
25907
2156d5ba 259082009-03-21 Bean <bean123ch@gmail.com>
25909
25910 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25911 out of range error.
25912
177b82ca 259132009-03-18 Michel Dänzer <michel@daenzer.net>
25914
25915 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25916 checking inode flags for EXT4_EXTENTS_FLAG.
25917
14aad807 259182009-03-18 Robert Millan <rmh@aybabtu.com>
25919
25920 * loader/i386/linux.c: Include `<grub/video.h>' and
25921 `<grub/i386/pc/vbe.h>'..
25922 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25923 (grub_linux32_boot): Attempt to configure video settings with
25924 grub_linux_setup_video().
25925 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25926 to avoid grub_console_fini() which would step out of graphical mode
25927 unconditionally.
25928
8cf83a27 259292009-03-14 Robert Millan <rmh@aybabtu.com>
25930
25931 Fix build on powerpc.
25932 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25933
40164e75 259342009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25937 background image command.
25938
c58bc32a 259392009-03-12 Colin D Bennett <colin@gibibit.com>
25940
25941 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25942 (grub_gfxterm_putchar): Extract pairs of identical calls to
25943 draw_cursor out of conditional blocks.
25944
5415144a 259452009-03-11 Pavel Roskin <proski@gnu.org>
25946
25947 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25948 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25949
6394042e 259502009-03-11 Robert Millan <rmh@aybabtu.com>
25951
25952 * loader/i386/multiboot_elfxx.c
25953 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25954
b7b50e5f 259552009-03-11 Felix Zielcke <fzielcke@z-51.de>
25956
25957 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25958 `kern/handler.c'.
25959
1ca7fc96 259602009-03-11 Robert Millan <rmh@aybabtu.com>
25961
25962 * loader/i386/multiboot.c (code_size): New variable.
25963 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25964 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25965 4-byte alignment to MBI and others by increasing
7d074e3c 25966 `boot_loader_name_length' appropriately.
1ca7fc96 25967
25968 * loader/i386/multiboot_elfxx.c
25969 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25970
a83ea1d2 259712009-03-09 Felix Zielcke <fzielcke@z-51.de>
25972
25973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25974 `fs/ext2.c'.
25975
aa9f3bff 259762009-03-08 Robert Millan <rmh@aybabtu.com>
25977
25978 Make loader/i386/linux.c usable on i386-pc again.
25979
25980 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25981 memory to heap.
25982 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25983 `#error' stanza.
25984
d8b3b60e 259852009-03-07 Bean <bean123ch@gmail.com>
25986
25987 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25988 allocation.
25989
b362c9e9 259902009-03-06 Robert Millan <rmh@aybabtu.com>
25991
25992 Fix display issue on terminals with screen size other than 80x25
25993 (e.g. gfxterm with resolution higher than 640x480).
25994
25995 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25996 position relative to the center of the terminal instead of relying
b362c9e9 25997 on a hardcoded offset.
25998
9304eef1 259992009-03-04 Robert Millan <rmh@aybabtu.com>
26000
26001 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26002 installed.
26003
26004 * Makefile.in (host_kernel): New variable.
26005 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26006 scripts instead of just the windows one.
26007 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26008
eabc95fb 260092009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26010
26011 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26012 `kern/handler.c'.
26013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26014 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26017 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26018 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26019
ceb1223c 260202009-03-04 Felix Zielcke <fzielcke@z-51.de>
26021
26022 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26023 or if there's no space for the disk label and print the partition number on a
26024 invalid magic.
26025
4910684a 260262009-03-04 Felix Zielcke <fzielcke@z-51.de>
26027
26028 * util/misc.c: Include <time.h>.
26029 (grub_millisleep): New function.
26030
7e9ca17a 260312009-03-04 Bean <bean123ch@gmail.com>
26032
26033 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26034 another option -mno-red-zone.
26035
26036 * commands/handler.c: Change module description.
26037
26038 * kern/handler.c: Add missing space at the end of description line.
26039
26040 * kern/list.c: Likewise.
26041
f501677c 260422009-03-03 Robert Millan <rmh@aybabtu.com>
26043
26044 Move more components to the relocation area, and fix mbi pointer
26045 handling to use the destination rather than the origin (thanks to
26046 Vladimir Serbinenko for spotting).
26047
26048 * loader/i386/multiboot.c (mbi_dest): New variable.
26049 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26050 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26051 relocation area.
26052
9902d047 260532009-03-01 Bean <bean123ch@gmail.com>
26054
50fb7002 26055 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26056 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26057 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26058 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26059
26060 * loader/i386/efi/linux.c (acpi_guid): New variable.
26061 (acpi_guid): Likewise.
26062 (EBDA_SEG_ADDR): New constant.
26063 (LOW_MEM_ADDR): Likewise.
26064 (FAKE_EBDA_SEG): Likewise.
26065 (fake_bios_data): New function.
26066 (grub_linux_boot): Call fake_bios_data.
26067
71b9f361 260682009-03-01 Bean <bean123ch@gmail.com>
26069
26070 * commands/terminal.c: Removed.
26071
26072 * commands/handler.c: New file.
26073
26074 * include/grub/list.h: Likewise.
26075
26076 * include/grub/handler.h: Likewise.
26077
26078 * kern/list.c: Likewise.
26079
26080 * kern/handler.c: Likewise.
26081
26082 * kern/term.h: Include header file <grub/handler.h>.
26083 (grub_term_input): Move next field to the beginning.
26084 (grub_term_output): Likewise.
26085 (grub_term_input_class): New variable.
26086 (grub_term_output_class): Likewise.
26087 (grub_term_register_input): Changed to inline function.
26088 (grub_term_register_output): Likewise.
26089 (grub_term_unregister_input): Likewise.
26090 (grub_term_unregister_output): Likewise.
26091 (grub_term_set_current_input): Likewise.
26092 (grub_term_set_current_output): Likewise.
26093 (grub_term_get_current_input): Likewise.
26094 (grub_term_get_current_output): Likewise.
26095 (grub_term_iterate_input): Removed.
26096 (grub_term_iterate_output): Likewise.
26097
26098 * kern/term.c (grub_term_list_input): Removed.
26099 (grub_term_list_output): Likewise.
26100 (grub_term_input_class): New variable.
26101 (grub_term_output_class): Likewise.
50fb7002 26102 (grub_cur_term_input): Change variable as macro.
71b9f361 26103 (grub_cur_term_output): Likewise.
26104 (grub_term_register_input): Removed.
26105 (grub_term_register_output): Likewise.
26106 (grub_term_unregister_input): Likewise.
26107 (grub_term_unregister_output): Likewise.
26108 (grub_term_set_current_input): Likewise.
26109 (grub_term_set_current_output): Likewise.
26110 (grub_term_iterate_input): Likewise.
26111 (grub_term_iterate_output): Likewise.
26112 (grub_term_get_current_input): Likewise.
26113 (grub_term_get_current_output): Likewise.
26114
26115 * util/grub-editenv.c: Include header file <grub/handler.h>.
26116 (grub_term_get_current_input): Removed.
26117 (grub_term_get_current_output): Likewise.
26118 (grub_term_input_class): New variable.
50fb7002 26119 (grub_term_output_class): Likewise.
71b9f361 26120
26121 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26122 (grub_term_get_current_output): Likewise.
26123 (grub_term_input_class): New variable.
50fb7002 26124 (grub_term_output_class): Likewise.
71b9f361 26125
26126 * util/grub-probe.c (grub_term_get_current_input): Removed.
26127 (grub_term_get_current_output): Likewise.
26128 (grub_term_input_class): New variable.
50fb7002 26129 (grub_term_output_class): Likewise.
71b9f361 26130
26131 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26132 (grub_term_get_current_output): Likewise.
26133 (grub_term_input_class): New variable.
50fb7002 26134 (grub_term_output_class): Likewise.
71b9f361 26135
26136 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26137 (terminal_mod_SOURCES): Likewise.
26138 (terminal_mod_CFLAGS): Likewise.
26139 (terminal_mod_LDFLAGS): Likewise.
26140
26141 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26142 handler.c.
26143 (kernel_img_SOURCES): Add list.c and handler.c.
26144 (kernel_img_HEADERS): Add list.h and handler.h.
26145
26146 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26147 handler.c.
26148 (kernel_mod_SOURCES): Add list.c and handler.c.
26149 (kernel_mod_HEADERS): Add list.h and handler.h.
26150
26151 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26152 handler.c.
26153 (kernel_elf_SOURCES): Add list.c and handler.c.
26154 (kernel_elf_HEADERS): Add list.h and handler.h.
26155
26156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26157 handler.c.
26158 (kernel_elf_SOURCES): Add list.c and handler.c.
26159 (kernel_elf_HEADERS): Add list.h and handler.h.
26160
26161 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26162 handler.c.
26163 (kernel_mod_SOURCES): Add list.c and handler.c.
26164 (kernel_mod_HEADERS): Add list.h and handler.h.
26165
26166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26167 handler.c.
26168 (kernel_elf_SOURCES): Add list.c and handler.c.
26169 (kernel_elf_HEADERS): Add list.h and handler.h.
26170
8a31787f 261712009-02-27 Robert Millan <rmh@aybabtu.com>
26172
26173 Factorize elf32 / elf64 code in Multiboot loader. This will
26174 prevent it from getting out of sync again.
26175
26176 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26177 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26178 grub_multiboot_load_elf64): Move from here ...
26179 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26180 grub_multiboot_load_elf): ... to here (new file).
26181
51cd3dfc 261822009-02-27 Robert Millan <rmh@aybabtu.com>
26183
26184 * util/grub.d/10_linux.in: Rename "single-user mode" to
26185 "recovery mode".
26186
6e8c9c3a 261872009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26188
26189 Don't leak in SCSI code.
26190 * disk/scsi.c (grub_scsi_close): free `scsi'.
26191
4b6bf4f9 261922009-02-27 Robert Millan <rmh@aybabtu.com>
26193
26194 * loader/i386/pc/multiboot.c: Move from here ...
26195 * loader/i386/multiboot.c: ... to here. Update all users.
26196
b9413424 261972009-02-27 Robert Millan <rmh@aybabtu.com>
26198
26199 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26200 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26201
50fb7002 262022009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26203
26204 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26205 b-tree.
26206
8cc50345 262072009-02-27 Robert Millan <rmh@aybabtu.com>
26208
26209 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26210 `0x' qualifier as 0 when base is specified as parameter).
26211
6e09b8b7 262122009-02-24 Bean <bean123ch@gmail.com>
26213
26214 * configure.ac: Check for -mcmodel=large in x86_64 target.
26215
26216 * include/grub/efi/api.h (efi_call_10): New macro.
26217 (efi_wrap_10): New function.
26218
26219 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26220 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26221 (GRUB_PE32_REL_BASED_LOW): Likewise.
26222 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26223 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26224 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26225 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26226 (GRUB_PE32_REL_BASED_REL): Likewise.
26227 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26228 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26229 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26230
26231 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26232 issue.
26233
26234 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26235 (efi_wrap_10): New function.
26236
26237 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26238
26239 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26240 MB/MBP model (NV chipset).
26241 (devdata_devs): Add devpath_5 to the list.
26242
26243 * load/i386/efi/linux.c (video_base): Remove variable.
26244 (RGB_MASK): New macro.
26245 (RGB_MAGIC): Likewise.
26246 (LINE_MIN): Likewise.
26247 (LINE_MAX): Likewise.
26248 (FBTEST_STEP): Likewise.
26249 (FBTEST_COUNT): Likewise.
26250 (fb_list): New variable.
26251 (grub_find_video_card): Remove function.
26252 (find_framebuf): New function.
26253 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26254 line length.
26255
26256 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26257 problem for x86_64.
26258
74b21bee 262592009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26260
26261 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26262
26263 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26264 coding tool name.
26265
a455f472 262662009-02-22 Robert Millan <rmh@aybabtu.com>
26267
26268 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26269 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26270 in our relocation, instead of using it directly from heap. Also
26271 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26272
6374daf3 262732009-02-21 Robert Millan <rmh@aybabtu.com>
26274
26275 Implement USB keyboard support (based on patch by Marco Gerards)
26276
26277 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26278 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26279 (usb_keyboard_mod_LDFLAGS): New variables.
26280
26281 * term/usb_keyboard.c: New file.
26282
8fa4ea70 262832009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26284
26285 Corrected wrong declaration
26286
26287 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26288
353976ac 262892009-02-14 Christian Franke <franke@computer.org>
26290
26291 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26292 (grub_lspci_iter): Print class code and programming interface byte.
26293
6aa1169b 262942009-02-14 Christian Franke <franke@computer.org>
26295
26296 * gendistlist.sh: Ignore `.svn' directories.
26297
265372ca 262982009-02-14 Felix Zielcke <fzielcke@z-51.de>
26299
26300 * fs/fat.c: Add 2009 to Copyright line.
26301
9ff516f3 263022009-02-14 Christian Franke <franke@computer.org>
26303
26304 * commands/hdparm.c: New file. Provides `hdparm' command
26305 which sends ATA commands via grub_disk_ata_pass_through ().
26306
26307 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26308
26309 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26310 and <grub/cpu/io.h> to include/grub/ata.h.
26311 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26312 (GRUB_CDROM_SECTOR_SIZE): Remove.
26313 (GRUB_ATA_*): Move to include/grub/ata.h.
26314 (GRUB_ATAPI_*): Likewise.
26315 (enum grub_ata_commands): Likewise.
26316 (enum grub_ata_timeout_milliseconds): Likewise.
26317 (struct grub_ata_device): Likewise.
26318 (grub_ata_regset): Likewise.
26319 (grub_ata_regget): Likewise.
26320 (grub_ata_regset2): Likewise.
26321 (grub_ata_regget2): Likewise.
26322 (grub_ata_check_ready): Likewise.
26323 (grub_ata_wait_not_busy): Remove static, exported in
26324 include/grub/ata.h.
26325 (grub_ata_wait_drq): Likewise.
26326 (grub_ata_pio_read): Likewise.
26327
26328 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26329 function for hdparm.mod.
26330
26331 * include/grub/ata.h: New file, contains declarations from
26332 disk/ata.c.
26333 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26334
26335 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26336 (grub_disk_ata_pass_through): New exported variable.
26337
26338 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26339
772e23da 263402009-02-13 Colin D Bennett <colin@gibibit.com>
26341
26342 Support multiple fallback entries, and provide an API to support
26343 executing default+fallback menu entries. Renamed the `terminal' menu
26344 viewer to `text'.
26345
26346 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26347 variable declaration.
26348 (grub_menu_execute_callback): New structure declaration.
26349 (grub_menu_execute_callback_t): New typedef.
26350 (grub_menu_execute_with_fallback): New function declaration.
26351 (grub_menu_get_entry): Likewise.
26352 (grub_menu_get_timeout): Likewise.
26353 (grub_menu_set_timeout): Likewise.
26354
26355 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26356
26357 * normal/menu.c (grub_wait_after_message): Moved to
26358 `normal/menu_text.c'.
26359 (draw_border): Likewise.
26360 (print_message): Likewise.
26361 (print_entry): Likewise.
26362 (print_entries): Likewise.
26363 (grub_menu_init_page): Likewise.
26364 (get_entry_number): Likewise.
26365 (print_timeout): Likewise.
26366 (run_menu): Likewise.
26367 (grub_menu_execute_entry): Likewise.
26368 (show_text_menu): Likewise.
26369 (get_and_remove_first_entry_number): New function.
26370 (grub_menu_execute_with_fallback): Likewise.
26371 (get_entry): Renamed to ...
26372 (grub_menu_get_entry): .. this and made it global.
26373 (get_timeout): Renamed to ...
26374 (grub_menu_get_timeout): ... this and made it global.
26375 (set_timeout): Renamed to ...
26376 (grub_menu_set_timeout): ... this and made it global.
26377 (grub_normal_terminal_menu_viewer): Renamed to ...
26378 (grub_normal_text_menu_viewer): ... this.
26379
26380 * normal/menu_text.c: New file. Extracted text-menu-specific code
26381 from normal/menu.c.
26382
26383 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26384 (normal_mod_SOURCES): Likewise.
26385
26386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26387 (normal_mod_SOURCES): Likewise.
26388
26389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26390 (normal_mod_SOURCES): Likewise.
26391
26392 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26393 (normal_mod_SOURCES): Likewise.
26394
26395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26396 (normal_mod_SOURCES): Likewise.
26397
26398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26399 (normal_mod_SOURCES): Likewise.
26400
26401 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26402 (normal_mod_SOURCES): Likewise.
26403
16ac430e 264042009-02-11 Robert Millan <rmh@aybabtu.com>
26405
26406 * util/grub.d/00_header.in: Update old reference to `font' command.
26407
06ff20fc 264082009-02-10 Felix Zielcke <fzielcke@z-51.de>
26409
26410 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26411
26412 Based on patch from Javier Martín.
26413
96da9407 264142009-02-09 Felix Zielcke <fzielcke@z-51.de>
26415
26416 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26417 to avoid false positives with FAT.
96da9407 26418 (grub_fstest_SOURCES): Likewise.
26419 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26420 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26422 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26423 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26425
6dca6fe4 264262009-02-09 Felix Zielcke <fzielcke@z-51.de>
26427
06ff20fc 26428 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26429 bpb.version_specific.fat12_or_fat16.fstype and
26430 bpb.version_specific.fat32.fstype.
26431
2550c62f 264322009-02-08 Robert Millan <rmh@aybabtu.com>
26433
be110b30 26434 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26435
56978920 264362009-02-08 Robert Millan <rmh@aybabtu.com>
26437
26438 * Makefile.in (host_os, host_cpu): New variables.
26439 (target_os): Remove. Update all users.
26440
d64399b5 264412009-02-08 Marco Gerards <marco@gnu.org>
26442
26443 * Makefile.in (enable_grub_emu_usb): New variable.
26444 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26445 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26446 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26447 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26448 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26449 `usbtest.mod' and `usbms.mod'.
26450 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26451 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26452 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26453 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26454 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26455 variables.
26456
26457 * disk/usbms.c: New file.
26458
26459 * include/grub/usb.h: Likewise.
26460
26461 * include/grub/usbtrans.h: Likewise.
26462
26463 * include/grub/usbdesc.h: Likewise.
26464
26465 * bus/usb/usbtrans.c: Likewise.
26466
26467 * bus/usb/ohci.c: Likewise.
26468
26469 * bus/usb/uhci.c: Likewise.
26470
26471 * bus/usb/usbhub.c: Likewise.
26472
26473 * bus/usb/usb.c: Likewise.
26474
26475 * commands/usbtest.c: Likewise.
26476
26477 * util/usb.c: Likewise.
50fb7002 26478
d64399b5 26479 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26480
26481 * configure.ac: Test for libusb presence.
50fb7002 26482
d64399b5 26483 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26484
2b40d6bb 264852009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26486
26487 * kern/mm.c: Add more comments.
26488
73a4ce81 264892009-02-08 Robert Millan <rmh@aybabtu.com>
26490
26491 Patch from Javier Martín.
26492 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26493 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26494
f821ce59 264952009-02-08 Robert Millan <rmh@aybabtu.com>
26496
26497 * fs/cpio.c: Split tar functionality to ...
26498 * fs/tar.c: ... here (new file). Update all users.
26499
aebfc4b0 265002009-02-07 Robert Millan <rmh@aybabtu.com>
26501
26502 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26503 backward-incompatible features.
26504
26505 Based on patch from Javier Martín, with some adjustments.
26506
50fb7002 265072009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26508
26509 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26510
0bb5115e 265112009-02-07 Robert Millan <rmh@aybabtu.com>
26512
26513 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26514 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26515 after the RAID stuff.
26516
38a0f8e7 265172009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26518
50fb7002 26519 Fixes problem when running vbetest command as reported by
38a0f8e7 26520 Vladimir Serbinenko <phcoder@gmail.com>.
26521
26522 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26523
3143cc1c 265242009-02-04 Felix Zielcke <fzielcke@z-51.de>
26525
26526 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26527 /dev/md/NpN style mdraid devices.
26528
9cba6fce 265292009-02-03 Felix Zielcke <fzielcke@z-51.de>
26530
26531 * util/unifont2pff.rb: Remove.
26532
e507a2c1 265332009-02-03 Felix Zielcke <fzielcke@z-51.de>
26534
26535 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26536 `#'.
26537
d2c2b4cd 265382009-02-03 Felix Zielcke <fzielcke@z-51.de>
26539
26540 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26541 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26542 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26545 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26547
b4315fb0 265482009-02-02 Christian Franke <franke@computer.org>
26549
26550 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26551
de3aa260 265522009-02-01 Felix Zielcke <fzielcke@z-51.de>
26553
7c3ff286 26554 * INSTALL: Note that we now require at least autoconf 2.59 and
26555 that LZO is optional.
de3aa260 26556
825a182b 265572009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26558
26559 Base on patch on bug #24154 created by Tomas Tintera
26560 <trosos@seznam.cz>.
26561
26562 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26563
a69ef770 265642009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26565
7c3ff286 26566 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26567 <bero@arklinux.org>.
26568
26569 * normal/parser.y (script_init): Add missing semicolon.
26570
6fa42fa6 265712009-01-31 Colin D Bennett <colin@gibibit.com>
26572
7c3ff286 26573 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26574 (free_menu_entry_classes): Added.
26575 (grub_normal_menu_addentry): Added class property handling.
26576 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26577 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26578
26579 * normal/menu_viewer.c: New file.
26580
26581 * normal/menu.c (run_menu_entry): Renamed to ...
26582 (grub_menu_execute_entry): ... this and made it as global.
26583 (grub_menu_run): Renamed to ...
26584 (show_text_menu): ... this and made it local.
26585 (show_text_menu): Adapt to new function names.
26586 (grub_normal_terminal_menu_viewer): New global variable.
26587
26588 * include/grub/menu.h: New file.
26589
26590 * include/grub/menu_viewer.h: New file.
26591
26592 * include/grub/normal.h: Added include to grub/menu.h.
26593 (grub_menu_entry): Moved to include/grub/menu.h.
26594 (grub_menu_entry_t): Likewise.
26595 (grub_menu): Likewise.
26596 (grub_menu_t): Likewise.
26597 (grub_normal_terminal_menu_viewer): Added.
26598 (grub_menu_execute_entry): Likewise.
26599 (grub_menu_run): Removed.
26600
26601 * DISTLIST: Added include/grub/menu.h.
26602 Added include/grub/menu_viewer.h.
26603 Added normal/menu_viewer.c.
26604
266052009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26606
26607 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26608 arglist for menutitle arguments.
26609
26610 * normal/main.c (grub_normal_menu_addentry): Likewise.
26611
26612 * normal/parser.y (menuentry): Likewise.
26613
26614 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26615
26616 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26617 (grub_script_create_cmdmenu): Likewise.
26618
26619 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26620
26621 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26622 changes.
26623
26624 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26625
26626 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26627
26628 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26629
26630 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26631
26632 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26633
26634 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26635
56192c23 266362009-01-30 Christian Franke <franke@computer.org>
26637
26638 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26639 in option help text.
26640
d72521b3 266412009-01-27 Pavel Roskin <proski@gnu.org>
26642
26643 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26644
994b5e84 266452009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26646
26647 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26648
26649 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26650
26651 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26652 unregister function.
26653
6a7eab2c 266542009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26655
26656 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26657
26658 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26659
26660 * util/grub-mkfont.c (usage): Fix typo.
26661
26662 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26663
1806b56e 266642009-01-26 Daniel Mierswa <impulze@impulze.org>
26665
3fb18f09 26666 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26667
336e1fb9 26668 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26669
1806b56e 26670 * kern/misc.c (grub_strcasecmp): New function.
26671 (grub_strcasecmp): Use grub_size_t instead of int for length.
26672 Fix return value.
26673 * include/grub/misc.h: Update function prototypes.
26674
580b2a0f 266752009-01-26 Robert Millan <rmh@aybabtu.com>
26676
26677 * configure.ac: Fix cross-compilation check.
ef257b36 26678
d31c24f1 266792009-01-22 Christian Franke <franke@computer.org>
26680
26681 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26682 (precision) digit string. Allow `.format2' without `format1' (width).
26683 Limit input chars for `%s' output to `format2' if specified. This is
26684 compatible with standard printf ().
26685
3138b44c 266862009-01-22 Christian Franke <franke@computer.org>
26687
26688 * disk/ata.c (grub_ata_wait_status): Replace by ...
26689 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26690 other status bits may be invalid while BSY is asserted.
26691 (grub_ata_check_ready): New function.
26692 (grub_ata_cmd): Removed.
26693 (grub_ata_wait_drq): New function.
26694 (grub_ata_strncpy): Remove inline.
26695 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26696 and error check now done by grub_ata_wait_drq ().
26697 (grub_ata_pio_write): Likewise.
26698 (grub_atapi_identify): Set DEV before check for !BSY. Use
26699 grub_ata_wait_drq () to wait for data.
26700 (grub_ata_device_initialize): Add status register check to
26701 detect missing SATA slave devices. Add debug messages.
26702 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26703 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26704 transfer loop by grub_ata_pio_write ().
26705 (grub_ata_identify): Set DEV before check for !BSY. Use
26706 grub_ata_wait_drq () to wait for data.
ef257b36 26707 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26708 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26709 read/write in one loop. Fix invalid command on write. Fix incomplete
26710 command on (size % batch) == 0. Add missing error check after write of
26711 last block. Add debug messages.
26712 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26713
59a64ef6 267142009-01-19 Christian Franke <franke@computer.org>
26715
26716 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26717 (GRUB_ATAPI_IREASON_*): Likewise.
26718 (grub_ata_pio_write): Fix timeout error return.
26719 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26720 (grub_atapi_wait_drq): New function.
26721 (grub_atapi_packet): New parameter `size'.
26722 Use grub_atapi_wait_drq () and direct write instead of
26723 grub_ata_pio_write ().
26724 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26725 reads the number of bytes requested by the device for each DRQ
26726 assertion.
26727 (grub_atapi_write): Remove old implementation, return not
26728 implemented instead.
26729
1cfe20b3 267302009-01-19 Christian Franke <franke@computer.org>
26731
26732 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26733 of 512 to calculate data size.
26734 (grub_scsi_read12): Likewise.
26735 (grub_scsi_write10): Likewise.
26736 (grub_scsi_write12): Likewise.
26737 (grub_scsi_read): Adjust size according to blocksize.
26738 Add checks for invalid blocksize and unaligned transfer.
26739
bee5fe5d 267402009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26741
26742 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26743
ef257b36 26744 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26745 width glyphs.
26746
3e643f8c 267472009-01-19 Robert Millan <rmh@aybabtu.com>
26748
26749 * config.guess: Update to latest version from config git.
26750 * config.sub: Likewise.
26751
4fa80998 267522009-01-17 Felix Zielcke <fzielcke@z-51.de>
26753
26754 * Makefile.in: Change font compilation to use new grub-mkfont instead
26755 of java version.
26756
26757 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26758 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26759 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26760 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26761 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26762 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26763 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26764 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26765 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26766
7086085b 267672009-01-16 Christian Franke <franke@computer.org>
26768
26769 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26770 (enum grub_ata_timeout_milliseconds): New enum.
26771 (grub_ata_wait_status): Add parameter milliseconds.
26772 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26773 recovery from timed-out commands.
26774 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26775 return grub_errno instead of REG_ERROR.
26776 (grub_ata_pio_write): Add parameter milliseconds.
26777 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26778 Pass milliseconds to grub_ata_wait_status () and
26779 grub_ata_pio_read ().
26780 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26781 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26782 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26783 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26784 It is not suitable for device detection, because DEV bit is ignored,
26785 the command may run too long, and not all devices set the signature
26786 properly.
26787 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26788 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26789 Fix device selection, DEV bit must be set first to address the registers
26790 of the correct device.
26791 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26792 grub_ata_pio_read/write ().
26793 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26794 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26795
4a412913 267962009-01-13 Carles Pina i Estany <carles@pina.cat>
26797
26798 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26799
7795c55e 268002009-01-13 Bean <bean123ch@gmail.com>
d913988c 26801
26802 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26803
7795c55e 268042009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26805
26806 * Makefile.in: (enable_grub_mkfont): New variable.
26807 (freetype_cflags): Likewise.
26808 (freetype_libs): Likewise.
26809
26810 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26811 (grub_mkfont_SOURCES): New variable.
26812 (grub_mkfont_CFLAGS): Likewise.
26813 (grub_mkfont_LDFLAGS): Likewise.
26814
26815 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26816 library if `--enable-grub-mkfont' is requested.
26817 (enable_grub_mkfont): New variable.
26818 (freetype_cflags): Likewise.
26819 (freetype_libs): Likewise.
26820
26821 * util/grub-mkfont.c: New file.
26822
093af1fe 268232009-01-12 Christian Franke <franke@computer.org>
26824
26825 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26826 mode check. Fix setting of compat_use[].
26827
f36cc108 268282009-01-10 Robert Millan <rmh@aybabtu.com>
26829
26830 Update a few copyright years which we forgot to do in 2008 (only for
26831 files whose changes made in 2008 were copyright-significant)
26832
26833 * Makefile.in: Add 2008 to Copyright line.
26834 * disk/ieee1275/ofdisk.c: Likewise.
26835 * disk/efi/efidisk.c: Likewise.
26836 * kern/dl.c: Likewise.
26837 * kern/sparc64/ieee1275/init.c: Likewise.
26838 * kern/mm.c: Likewise.
26839 * kern/efi/mm.c: Likewise.
26840 * boot/i386/pc/boot.S: Likewise.
26841 * genfslist.sh: Likewise.
26842 * fs/iso9660.c: Likewise.
26843 * fs/hfs.c: Likewise.
26844 * fs/jfs.c: Likewise.
26845 * fs/minix.c: Likewise.
26846 * fs/ufs.c: Likewise.
26847 * gensymlist.sh.in: Likewise.
26848 * genkernsyms.sh.in: Likewise.
26849 * include/grub/misc.h: Likewise.
26850 * include/grub/types.h: Likewise.
26851 * include/grub/symbol.h: Likewise.
26852 * include/grub/elf.h: Likewise.
26853 * include/grub/kernel.h: Likewise.
26854 * include/grub/disk.h: Likewise.
26855 * include/grub/dl.h: Likewise.
26856 * include/grub/i386/linux.h: Likewise.
26857 * include/grub/i386/pc/biosdisk.h: Likewise.
26858 * include/grub/efi/api.h: Likewise.
26859 * include/grub/efi/pe32.h: Likewise.
26860 * include/grub/util/misc.h: Likewise.
26861 * normal/execute.c: Likewise.
26862 * normal/arg.c: Likewise.
26863 * normal/completion.c: Likewise.
26864 * normal/lexer.c: Likewise.
26865 * normal/parser.y: Likewise.
26866 * normal/misc.c: Likewise.
26867 * commands/i386/pc/vbeinfo.c: Likewise.
26868 * commands/hexdump.c: Likewise.
26869 * commands/terminal.c: Likewise.
26870 * commands/ls.c: Likewise.
26871 * commands/help.c: Likewise.
26872 * partmap/pc.c: Likewise.
26873 * loader/efi/chainloader.c: Likewise.
26874 * loader/multiboot_loader.c: Likewise.
26875 * loader/i386/pc/multiboot2.c: Likewise.
26876 * term/efi/console.c: Likewise.
26877 * term/i386/pc/serial.c: Likewise.
26878 * util/lvm.c: Likewise.
26879 * util/console.c: Likewise.
26880 * util/i386/efi/grub-mkimage.c: Likewise.
26881 * util/raid.c: Likewise.
26882
7f02114b 268832009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26884
26885 * commands/videotest.c: Removed include to grub/machine/memory.h.
26886
26887 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26888 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26889 (video_mod_SOURCES): Removed.
26890 (video_mod_CFLAGS): Likewise.
26891 (video_mod_LDFLAGS): Likewise.
26892 (gfxterm_mod_SOURCES): Likewise.
26893 (gfxterm_mod_CFLAGS): Likewise.
26894 (gfxterm_mod_LDFLAGS): Likewise.
26895 (videotest_mod_SOURCES): Likewise.
26896 (videotest_mod_CFLAGS): Likewise.
26897 (videotest_mod_LDFLAGS): Likewise.
26898 (bitmap_mod_SOURCES): Likewise.
26899 (bitmap_mod_CFLAGS): Likewise.
26900 (bitmap_mod_LDFLAGS): Likewise.
26901 (tga_mod_SOURCES): Likewise.
26902 (tga_mod_CFLAGS): Likewise.
26903 (tga_mod_LDFLAGS): Likewise.
26904 (jpeg_mod_SOURCES): Likewise.
26905 (jpeg_mod_CFLAGS): Likewise.
26906 (jpeg_mod_LDFLAGS): Likewise.
26907 (png_mod_SOURCES): Likewise.
26908 (png_mod_CFLAGS): Likewise.
26909 (png_mod_LDFLAGS): Likewise.
26910
26911 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26912 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26913 (video_mod_SOURCES): Added.
26914 (video_mod_CFLAGS): Likewise.
26915 (video_mod_LDFLAGS): Likewise.
26916 (videotest_mod_SOURCES): Likewise.
26917 (videotest_mod_CFLAGS): Likewise.
26918 (videotest_mod_LDFLAGS): Likewise.
26919 (bitmap_mod_SOURCES): Likewise.
26920 (bitmap_mod_CFLAGS): Likewise.
26921 (bitmap_mod_LDFLAGS): Likewise.
26922 (tga_mod_SOURCES): Likewise.
26923 (tga_mod_CFLAGS): Likewise.
26924 (tga_mod_LDFLAGS): Likewise.
26925 (jpeg_mod_SOURCES): Likewise.
26926 (jpeg_mod_CFLAGS): Likewise.
26927 (jpeg_mod_LDFLAGS): Likewise.
26928 (png_mod_SOURCES): Likewise.
26929 (png_mod_CFLAGS): Likewise.
26930 (png_mod_LDFLAGS): Likewise.
26931 (gfxterm_mod_SOURCES): Likewise.
26932 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26933 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26934
26935 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26936 grub/machine/console.h.
26937
644fff97 269382009-01-04 Jerone Young <jerone@gmail.com>
26939
26940 Make on screen instructions clearer
26941
26942 Based on patch created by Jidanni <jidanni@jidanni.org>
26943
26944 * normal/menu.c: print clearer instructions on the screen
26945
1e901a75 269462009-01-02 Colin D Bennett <colin@gibibit.com>
26947
26948 New font engine.
34c44600 26949
1e901a75 26950 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26951 build system and fixed gfxterm.c to work with different sized fonts.
26952
26953 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26954
1e901a75 26955 * configure: Re-generated.
34c44600 26956
1e901a75 26957 * DISTLIST: Removed font/manager.c.
26958 Added font/font.c.
26959 Added font/font_cmd.c.
34c44600 26960
1e901a75 26961 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26962 compilation.
34c44600 26963
1e901a75 26964 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26965
26966 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26967
26968 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26969
1e901a75 26970 * normal/menu.c: Likewise.
34c44600 26971
1e901a75 26972 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26973 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26974
1e901a75 26975 * include/grub/font.h: Replaced with new file.
34c44600 26976
1e901a75 26977 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26978 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26979 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26980 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26981 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26982 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26983 fg_red, fg_green, fg_blue, fg_alpha.
26984 (grub_video_adapter): Removed blit_glyph.
34c44600 26985 (grub_video_blit_glyph): Removed.
26986
1e901a75 26987 * font/manager.c: Removed file.
34c44600 26988
26989 * font/font.c: New file.
26990
1e901a75 26991 * font/font_cmd.c: Likewise.
34c44600 26992
1e901a75 26993 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26994
1e901a75 26995 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26996 (grub_video_vbe_map_rgba): Likewise.
26997 (grub_video_vbe_unmap_color_int): Likewise.
26998 (grub_video_vbe_blit_glyph): Removed.
26999 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27000
1e901a75 27001 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27002 (get_pixel): Likewise.
34c44600 27003 (set_pixel): Likewise.
27004
1e901a75 27005 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27006
1e901a75 27007 * term/gfxterm.c: Adapted to new font engine.
34c44600 27008
1e901a75 27009 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27010
1e901a75 27011 * term/i386/pc/vga.c: Likewise.
34c44600 27012
1e901a75 27013 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27014
1e901a75 27015 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27016
1e901a75 27017 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27018
1e901a75 27019 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27020
1e901a75 27021 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27022
1e901a75 27023 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27024
1e901a75 27025 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27026
1e901a75 27027 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27028
1e901a75 27029 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27030
27031 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27032
1e901a75 27033 * util/grub-mkconfig_lib.in: Changed font extension.
27034
278922e8 270352008-12-28 Felix Zielcke <fzielcke@z-51.de>
27036
27037 * util/getroot.c (grub_util_get_grub_dev): Add support for
27038 /dev/md/dNNpNN style partitionable mdraid devices.
27039
3ced05cf 270402008-12-12 Alex Smith <alex@alex-smith.me.uk>
27041
27042 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27043 at a time limit of the PXE TFTP API correctly.
27044 (grub_pxefs_close): Likewise.
27045
7fd0ee30 270462008-11-29 Robert Millan <rmh@aybabtu.com>
27047
34c44600 27048 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27049 grub_ata_device_initialize() calls.
27050
34c44600 270512008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27052
27053 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27054 iteration failed.
27055 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27056
89313780 270572008-11-28 Robert Millan <rmh@aybabtu.com>
27058
27059 Fix build on powerpc-ieee1275. Based on patch created by
27060 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27061 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27062 `kern/ieee1275/mmap.c'.
27063 * include/grub/powerpc/ieee1275/memory.h: New file.
27064
15257703 27065 Provide grub-install on coreboot.
27066 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27067 (grub_install_SOURCES): New variable.
27068 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27069 usable on coreboot.
27070
9fc5388a 270712008-11-25 Felix Zielcke <fzielcke@z-51.de>
27072
27073 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27074 to `grub_term_input_t'.
27075 (grub_term_get_current_output): Change return type to
27076 `grub_term_output_t'.
27077
bc3a2f31 270782008-11-22 Robert Millan <rmh@aybabtu.com>
27079
34c44600 27080 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27081 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27082 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27083 grub_vga_text_cls().
27084
80fc88f2 27085 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27086 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27087
cbf36fd3 27088 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27089 to 0x200000 (avoids trouble with some OFW implementations, and matches
27090 with the one in Yaboot).
27091 Reported by Manoel Abranches
27092
73e8e268 270932008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27094
27095 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27096 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27097
73e8e268 27098 * util/grub-mkconfig_lib.in (grub_warn): New function.
27099 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27100 warnings, to obtain consistent formatting.
27101 * util/grub.d/00_header.in: Likewise.
27102 * util/update-grub_lib.in: Likewise.
27103
e94045a1 27104 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27105 Move comment text to `#error' stanza.
e94045a1 27106
79d29fd7 27107 Harmonize ieee1275's grub_available_iterate() with the generic
27108 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27109 build problem on i386-ieee1275):
27110 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27111 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27112 parameter `type'. Update all users of this function.
27113 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27114 `kern/ieee1275/mmap.c'.
27115 * kern/ieee1275/init.c
27116 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27117 with ...
27118 (grub_machine_mmap_iterate): ... this.
27119 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27120 return type to `grub_err_t'. Update all implementations of this
27121 function prototype.
27122 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27123 Likewise.
27124
60d6b16e 27125 Add `lsmmap' command (lists firmware-provided memory map):
27126 * commands/lsmmap.c: New file.
27127 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27128 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27129 variables.
27130 * conf/powerpc-ieee1275.rmk: Likewise.
27131 * conf/i386-coreboot.rmk: Likewise.
27132 * conf/i386-ieee1275.rmk: Likewise.
27133
ebaaf49b 271342008-11-19 Robert Millan <rmh@aybabtu.com>
27135
27136 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27137 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27138 constraints to initrd allocation (based on code from
27139 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27140 for Linux to find it.
ebaaf49b 27141
dfab719f 271422008-11-14 Robert Millan <rmh@aybabtu.com>
27143
27144 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27145 order to cope with duplicate slashes.
27146
10fc3eb9 271472008-11-14 Robert Millan <rmh@aybabtu.com>
27148
27149 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27150 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27151 don't want to mess with lower memory, because it is used in the Linux
27152 loader.
27153
27154 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27155 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27156 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27157 is in our heap (probably as a result of it being corrupted during
2f2a3442 27158 decompression). Add #error instance with comment to explain why this
27159 loader isn't currently usable on PC/BIOS.
10fc3eb9 27160
e2e07847 271612008-11-14 Robert Millan <rmh@aybabtu.com>
27162
27163 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27164 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27165
fe8e8d69 271662008-11-12 Robert Millan <rmh@aybabtu.com>
27167
27168 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27169
27170 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27171 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27172 from here ...
27173 * include/grub/i386/pc/memory.h: ... to here.
27174
976b07d0 271752008-11-12 Robert Millan <rmh@aybabtu.com>
27176
27177 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27178 split).
27179
27180 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27181 (grub_console_cur_color, grub_console_real_putchar)
27182 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27183 (grub_console_setcolorstate, grub_console_setcolor)
27184 (grub_console_getcolor): Move from here ...
27185 * include/grub/i386/vga_common.h: ... to here (new file).
27186
27187 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27188 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27189 `<grub/i386/io.h>'.
27190 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27191 `<grub/i386/vga_common.h>'.
27192
76679cd3 271932008-11-12 Robert Millan <rmh@aybabtu.com>
27194
27195 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27196 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27197 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27198 variables.
27199 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27200 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27201
27202 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27203 grub_console_init() with call to grub_vga_text_init().
27204 (grub_machine_fini): Replace call to
27205 grub_console_fini() with call to grub_vga_text_fini() and
27206 grub_at_keyboard_fini().
27207
27208 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27209 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27210 (grub_console_setcolorstate, grub_console_setcolor)
27211 (grub_console_getcolor): New function prototypes.
27212
27213 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27214 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27215 (grub_vga_text_setcursor): Static-ize.
27216 (grub_vga_text_term): New structure.
27217 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27218
27219 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27220 (grub_console_cur_color, grub_console_standard_color)
27221 (grub_console_normal_color, grub_console_highlight_color)
27222 (map_char, grub_console_putchar, grub_console_getcharwidth)
27223 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27224 (grub_console_getcolor): Move from here ...
27225 * term/i386/vga_common.c: ... to here (same function names).
27226
95b841d3 272272008-11-12 Robert Millan <rmh@aybabtu.com>
27228
27229 Use newly-added Multiboot support in coreboot.
27230
27231 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27232 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27233
27234 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27235 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27236 (codestart): Store the MBI in `startup_multiboot_info' when we're
27237 being loaded using Multiboot.
27238
27239 * kern/i386/coreboot/init.c (grub_machine_init): Move
27240 grub_at_keyboard_init() call to beginning of function (useful for
27241 debugging). Call grub_machine_mmap_init() before attempting to use
27242 grub_machine_mmap_iterate().
27243 (grub_lower_mem, grub_upper_mem): Move from here ...
27244 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27245 here (new file).
27246
27247 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27248 function prototype.
27249
761ca975 272502008-11-12 Robert Millan <rmh@aybabtu.com>
27251
27252 Fix a regression introduced by the at_keyboard.mod split. Because
27253 some terminals are default on some platforms and non-default on
27254 others, the first terminal being registered determines which is
27255 going to be default.
27256
27257 * kern/term.c (grub_term_register_input): If this is the first
27258 terminal being registered, set it as the current one.
27259 (grub_term_register_output): Likewise.
27260
27261 * term/efi/console.c (grub_console_init): Do not call
27262 grub_term_set_current_output() or grub_term_set_current_input().
27263 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27264 * term/i386/pc/console.c (grub_console_init): Likewise.
27265 (grub_console_fini): Do not call grub_term_set_current_input()
27266 (but leave grub_term_set_current_output() to restore text mode).
27267
6c529df7 272682008-11-10 Robert Millan <rmh@aybabtu.com>
27269
27270 * util/grub.d/00_header.in: Add backward compatibility check for
27271 versions of terminal.mod that don't understand `terminal_input' or
27272 `terminal_output'.
27273
132e4113 272742008-11-09 Robert Millan <rmh@aybabtu.com>
27275
27276 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27277 `terminal_input' / `terminal_output', not `terminal'.
27278
ac293d50 272792008-11-08 Robert Millan <rmh@aybabtu.com>
27280
27281 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27282 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27283
0025933a 272842008-11-08 Robert Millan <rmh@aybabtu.com>
27285
27286 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27287 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27288 members. Update all users.
27289 * util/console.c (grub_ncurses_term): Split in ...
27290 (grub_ncurses_term_input): ... this, and ...
27291 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27292 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27293
37c86336 272942008-11-08 Robert Millan <rmh@aybabtu.com>
27295
27296 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27297 (PKGDATA): Add $(pkgdata_SRCDIR).
27298 (pkglib_BUILDDIR): New variable.
27299 (pkgdata_SRCDIR): New variable.
27300 (build_env.mk): New target.
27301 (include_DATA): New variable.
27302 (install-local): Install $(include_DATA) files in $(includedir).
27303
b6c15a2d 273042008-11-07 Pavel Roskin <proski@gnu.org>
27305
d99d46f1 27306 * gendistlist.sh: Use C locale for sorting to ensure consistent
27307 output on all systems.
27308
b6c15a2d 27309 * util/grub.d/00_header.in: Remove incorrect space before
27310 "serial".
27311
c32ee8c9 273122008-11-07 Robert Millan <rmh@aybabtu.com>
27313
27314 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27315 per specification.
27316 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27317 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27318 (based on find_multi_boot1_header).
27319 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27320 using find_multi_boot2_header(), and abort if neither Multiboot or
27321 Multiboot headers were found.
27322
651c29b7 273232008-11-07 Robert Millan <rmh@aybabtu.com>
27324
27325 Modularize at_keyboard.mod:
27326
27327 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27328 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27329 (at_keyboard_mod_LDFLAGS): New variables.
27330
27331 Actual terminal split:
27332
27333 * include/grub/term.h (struct grub_term): Split in ...
27334 (struct grub_term_input): ... this, and ...
27335 (struct grub_term_output): ... this. Update all users.
27336 (grub_term_set_current): Split in ...
27337 (grub_term_set_current_input): ... this, and ...
27338 (grub_term_set_current_output): ... this.
27339 (grub_term_get_current): Split in ...
27340 (grub_term_get_current_input): ... this, and ...
27341 (grub_term_get_current_output): ... this.
27342 (grub_term_register): Split in ...
27343 (grub_term_register_input): ... this, and ...
27344 (grub_term_register_output): ... this.
27345 (grub_term_unregister): Split in ...
27346 (grub_term_unregister_input): ... this, and ...
27347 (grub_term_unregister_output): ... this.
27348 (grub_term_iterate): Split in ...
27349 (grub_term_iterate_input): ... this, and ...
27350 (grub_term_iterate_output): ... this.
27351
27352 * kern/term.c (grub_term_list): Split in ...
27353 (grub_term_list_input): ... this, and ...
27354 (grub_term_list_output): ... this. Update all users.
27355 (grub_cur_term): Split in ...
27356 (grub_cur_term_input): ... this, and ...
27357 (grub_cur_term_output): ... this. Update all users.
27358 (grub_term_set_current): Split in ...
27359 (grub_term_set_current_input): ... this, and ...
27360 (grub_term_set_current_output): ... this.
27361 (grub_term_get_current): Split in ...
27362 (grub_term_get_current_input): ... this, and ...
27363 (grub_term_get_current_output): ... this.
27364 (grub_term_register): Split in ...
27365 (grub_term_register_input): ... this, and ...
27366 (grub_term_register_output): ... this.
27367 (grub_term_unregister): Split in ...
27368 (grub_term_unregister_input): ... this, and ...
27369 (grub_term_unregister_output): ... this.
27370 (grub_term_iterate): Split in ...
27371 (grub_term_iterate_input): ... this, and ...
27372 (grub_term_iterate_output): ... this.
27373
27374 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27375 a check for input and one for output (and only attempt to get keys
27376 from user when input works).
27377
27378 * util/grub-probe.c (grub_term_get_current): Split in ...
27379 (grub_term_get_current_input): ... this, and ...
27380 (grub_term_get_current_output): ... this.
27381 * util/grub-fstest.c: Likewise.
27382 * util/i386/pc/grub-setup.c: Likewise.
27383 * util/grub-editenv.c: Likewise.
27384
27385 Portability adjustments:
27386
27387 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27388 `term/i386/pc/at_keyboard.c'.
27389 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27390 grub_keyboard_controller_init() (now handled by terminal .init).
27391 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27392 grub_at_keyboard_init().
27393 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27394 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27395 at_keyboard.mod via input terminal interface).
27396 * include/grub/i386/coreboot/console.h: Convert into a stub for
27397 `<grub/i386/pc/console.h>'.
27398
27399 Migrate full terminals to new API:
27400
27401 * term/efi/console.c (grub_console_term): Split into ...
27402 (grub_console_term_input): ... this, and ...
27403 (grub_console_term_output): ... this. Update all users.
27404 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27405 (grub_ofconsole_init): Split into ...
27406 (grub_ofconsole_init_input): ... this, and ...
27407 (grub_ofconsole_init_output): ... this.
27408 (grub_ofconsole_term): Split into ...
27409 (grub_ofconsole_term_input): ... this, and ...
27410 (grub_ofconsole_term_output): ... this. Update all users.
27411 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27412 (grub_serial_term_input): ... this, and ...
27413 (grub_serial_term_output): ... this. Update all users.
27414 * term/i386/pc/console.c (grub_console_term): Split into ...
27415 (grub_console_term_input): ... this, and ...
27416 (grub_console_term_output): ... this. Update all users.
27417 (grub_console_term_input): Only enable it on PC/BIOS platform.
27418 (grub_console_init): Remove grub_keyboard_controller_init() call.
27419
27420 Migrate input terminals to new API:
27421
27422 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27423 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27424 i386-specific anyway).
27425 (grub_console_checkkey): Rename to ...
27426 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27427 users.
27428 (grub_keyboard_controller_orig): New variable.
27429 (grub_console_getkey): Rename to ...
27430 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27431 users.
27432 (grub_keyboard_controller_init): Static-ize. Save original
27433 controller value so that it can be restored ...
27434 (grub_keyboard_controller_fini): ... here (new function).
27435 (grub_at_keyboard_term): New structure.
27436 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27437 functions.
27438
27439 Migrate output terminals to new API:
27440
27441 * term/i386/pc/vga.c (grub_vga_term): Change type to
27442 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27443 members. Update all users.
27444 * term/gfxterm.c (grub_video_term): Change type to
27445 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27446 members. Update all users.
27447 * include/grub/i386/pc/console.h (grub_console_checkkey)
27448 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27449 etc).
27450
27451 Migrate `terminal' command and userland tools to new API:
27452
27453 * commands/terminal.c (grub_cmd_terminal): Split into ...
27454 (grub_cmd_terminal_input): ... this, and ...
27455 (grub_cmd_terminal_output): ... this.
27456 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27457 `terminal_input' and `terminal_output'.
27458 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27459 `terminal_input' / `terminal_output' API.
27460 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27461 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27462 provided ${GRUB_TERMINAL}, convert it).
27463
96e5d876 274642008-11-04 Robert Millan <rmh@aybabtu.com>
27465
27466 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27467 for FreeBSD.
27468 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27469
556f3775 274702008-11-03 Bean <bean123ch@gmail.com>
27471
27472 * kern/elf.c (grub_elf32_load): Revert to previous code.
27473 (grub_elf64_load): Likewise.
27474
27475 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27476
926b9823 274772008-11-01 Robert Millan <rmh@aybabtu.com>
27478
27479 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27480 (TARGET_CPPFLAGS): Likewise.
27481 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27482
1432e958 274832008-11-01 Carles Pina i Estany <carles@pina.cat>
27484
27485 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27486
dba3f844 274872008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27488
27489 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27490 addition of objects until the code is not going to be able to fail.
27491
dba3f844 274922008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27493
27494 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27495 (add a missing NULL check, and correct them by moving the pointer
27496 operations after the actual check).
27497
7ab28c21 274982008-10-29 Robert Millan <rmh@aybabtu.com>
27499
27500 * util/i386/pc/grub-install.in: Handle empty string as output from
27501 make_system_path_relative_to_its_root().
27502
1b7748eb 275032008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27504
27505 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27506 circular metadata worst case scenario. If the metadata is circular
27507 then copy the wrap in place.
27508 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27509 project lib/format_text/layout.h
27510 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27511
c9618ab2 275122008-10-03 Felix Zielcke <fzielcke@z-51.de>
27513
7a36edca 27514 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27515
bf981c62 275162008-10-03 Felix Zielcke <fzielcke@z-51.de>
27517
27518 * util/update-grub_lib.in: Mention filename in warning message.
27519
6d994591 275202008-09-29 Felix Zielcke <fzielcke@z-51.de>
27521
27522 * NEWS: Update for rename of update-grub to grub-mkconfig.
27523
18ade780 275242008-09-29 Felix Zielcke <fzielcke@z-51.de>
27525
27526 * util/update-grub_lib.in: Copy to ...
27527 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27528 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27529 * util/update-grub.in: Rename to ...
27530 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27531 option. Add `--output' option to allow users to specify the generated
27532 configuration file. Default to stdout.
27533 (update_grub_dir): Rename to ...
27534 (grub_mkconfig_dir): ... this.
27535 (grub_cfg): Default to an empty string.
27536 * conf/common.rmk (update-grub): Rename to ...
27537 (grub-mkconfig): ... this.
27538 (update-grub_lib): Copy to ...
27539 (grub-mkconfig_lib): ... this.
27540 (update-grub_SCRIPTS): Copy to ...
27541 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27542 (update-grub_DATA): Rename to ...
27543 (grub-mkconfig_DATA): ... this.
27544
556ce6ac 275452008-09-28 Robert Millan <rmh@aybabtu.com>
27546
27547 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27548 to `modified'. Add the real `created' field.
27549 (grub_iso9660_uuid): Use `modified' rather than `created' for
27550 constructing the UUID.
27551
275522008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27553
27554 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27555 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27556
92274e85 275572008-09-28 Bean <bean123ch@gmail.com>
27558
27559 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27560 Thanks to Christian Franke for finding this bug.
27561
add6f17a 275622008-09-25 Robert Millan <rmh@aybabtu.com>
27563
27564 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27565 instances of grub_util_get_disk_name() (see previous commit).
27566
d2a367b8 275672008-09-25 Robert Millan <rmh@aybabtu.com>
27568
27569 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27570 `util/i386/get_disk_name.c'.
27571 * conf/i386-efi.rmk: Likewise.
27572 * conf/x86_64-efi.rmk: Likewise.
27573 * conf/i386-coreboot.rmk: Likewise.
27574 * conf/i386-ieee1275.rmk: Likewise.
27575 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27576 `util/ieee1275/get_disk_name.c'.
27577 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27578 * util/ieee1275/get_disk_name.c: Remove file.
27579 * util/i386/get_disk_name.c: Remove file.
27580 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27581 "hd%d" for device.map entries, rather than using
27582 grub_util_get_disk_name().
27583
81a06771 275842008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27585
27586 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27587 warning.
27588 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27589
5a004279 275902008-09-24 Carles Pina i Estany <carles@pina.cat>
27591
27592 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27593 Changed to 0x5100.
27594 (GRUB_TERM_PPAGE): Changed to 0x4900.
27595
397093d3 275962008-09-24 Robert Millan <rmh@aybabtu.com>
27597
27598 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27599 macros (they were i386-pc specific).
27600 * include/grub/sparc64/ieee1275/console.h: Likewise.
27601 * include/grub/efi/console.h: Likewise.
27602
a91b6c7c 276032008-09-22 Bean <bean123ch@gmail.com>
27604
27605 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27606 resident and in attribute list.
27607
27608 * include/grub/ntfs.h (BMP_LEN): Removed.
27609
c40fd116 276102008-09-22 Bean <bean123ch@gmail.com>
27611
81a06771 27612 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27613 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27614
27615 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27616 error occurs, as grub_disk_open will call grub_disk_close, which will
27617 call p->close (scsi).
27618
81a06771 276192008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27620
27621 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27622 (AC_PREREQ): Bumped to 2.59.
27623 (AC_TRY_COMPILE): Replace obsolete macro with ...
27624 (AC_COMPILE_IFELSE): ... this.
27625 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27626 (AC_LINK_IFELSE): ... this.
27627
5dc43410 276282008-09-21 Felix Zielcke <fzielcke@z-51.de>
27629
27630 * autogen.sh: Add a call to `gendistlist.sh'.
27631
9035dce4 276322008-09-19 Christian Franke <franke@computer.org>
27633
27634 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27635 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27636 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27637 Export __enable_execute_stack() to modules.
27638 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27639 New function.
27640
7fd75377 276412008-09-09 Felix Zielcke <fzielcke@z-51.de>
27642
040030b3 27643 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27644 Sort the list.
27645
276462008-09-09 Felix Zielcke <fzielcke@z-51.de>
27647
27648 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27649 #include <grub/util/hostdisk.h>.
27650
89d5ffcf 276512008-09-08 Robert Millan <rmh@aybabtu.com>
27652
27653 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27654 segments when their filesz is zero (grub_file_read() interprets
81a06771 27655 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27656 Use `lowest_segment' rather than 0 for calculating the current
27657 segment load address.
27658
40da438f 276592008-09-08 Robert Millan <rmh@aybabtu.com>
27660
27661 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27662 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27663 clobbered useful information.
27664
ddbf5556 276652008-09-08 Robert Millan <rmh@aybabtu.com>
27666
27667 * include/grub/util/biosdisk.h: Move to ...
27668 * include/grub/util/hostdisk.h: ... here. Update all users.
27669 * util/biosdisk.c: Move to ...
27670 * util/hostdisk.c: ... here. Update all users.
27671
783d0f48 276722008-09-07 Robert Millan <rmh@aybabtu.com>
27673
27674 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27675 variables.
27676 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27677 and length can be stored directly in the `mbi->mmap_addr' and
27678 `mbi->mmap_length' struct fields.
27679
548e2ea5 276802008-09-07 Robert Millan <rmh@aybabtu.com>
27681
27682 * conf/i386.rmk: New file. Provides declaration for building
27683 `cpuid.mod'.
27684 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27685 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27686 variables.
27687 Include `conf/i386.mk'.
27688 * conf/i386-efi.rmk: Likewise.
27689 * conf/x86_64-efi.rmk: Likewise.
27690 * conf/i386-coreboot.rmk: Likewise.
27691 * conf/i386-ieee1275.rmk: Likewise.
27692
0ea85a37 276932008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27694
27695 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27696 Adds optimization support for BGR based modes.
27697
27698 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27699 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27700 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27701 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27702 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27703 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27704 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27705 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27706 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27707 (grub_video_i386_vbeblit_index_index): Likewise.
27708 (grub_video_i386_vbeblit_replace_directN): Added.
27709 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27710 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27711 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27712 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27713 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27714 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27715 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27716 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27717 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27718 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27719 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27720 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27721 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27722
27723 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27724 (grub_video_i386_vbefill_R8G8B8): Likewise.
27725 (grub_video_i386_vbefill_index): Likewise.
27726 (grub_video_i386_vbefill_direct32): Added.
27727 (grub_video_i386_vbefill_direct24): Likewise.
27728 (grub_video_i386_vbefill_direct16): Likewise.
27729 (grub_video_i386_vbefill_direct8): Likewise.
27730
81a06771 27731 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27732 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27733 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27734 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27735 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27736 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27737
0ea85a37 27738 * video/video.c (grub_video_get_blit_format): Updated to use new
27739 blit formats. Added handling for 16 bit color modes.
81a06771 27740
27741 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27742 fillers.
27743 (common_blitter): Updated to use new blitters.
27744
27745 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27746 Removed.
27747 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27748 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27749 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27750 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27751 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27752 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27753 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27754 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27755 (grub_video_i386_vbeblit_index_index): Likewise.
27756 (grub_video_i386_vbeblit_replace_directN): Added.
27757 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27758 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27759 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27760 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27761 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27762 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27763 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27764 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27765 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27766 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27767 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27768 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27769 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27770
0ea85a37 27771 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27772 (grub_video_i386_vbefill_R8G8B8): Likewise.
27773 (grub_video_i386_vbefill_index): Likewise.
27774 (grub_video_i386_vbefill_direct32): Added.
27775 (grub_video_i386_vbefill_direct24): Likewise.
27776 (grub_video_i386_vbefill_direct16): Likewise.
27777 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27778
0ea85a37 27779 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27780 types.
81a06771 27781
0ea85a37 27782 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27783 types.
81a06771 27784
0ea85a37 27785 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27786 blitter types.
81a06771 27787
0ea85a37 27788 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27789 types.
27790
e8a83df6 277912008-09-06 Felix Zielcke <fzielcke@z-51.de>
27792
27793 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27794 RAID level 1.
27795
6bcd8ee5 277962008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27797
6bcd8ee5 27798 * fs/iso9660.c (grub_iso9660_date): New structure.
27799 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27800 (grub_iso9660_uuid): New function.
c375ae58 27801
59261157 278022008-09-05 Bean <bean123ch@gmail.com>
27803
27804 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27805
27806 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27807 insensitive bit for names in Win32 and Win32 & DOS namespace.
27808
27809 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27810
27811 * include/grub/types.h (LONG_MAX): Likewise.
27812
58b6645a 278132008-09-04 Felix Zielcke <fzielcke@z-51.de>
27814
4ee55921 27815 * util/getroot.c: Include <config.h>.
27816 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27817 add support for /dev/md/N devices and handle LVM double dash escaping.
27818
278192008-09-04 Felix Zielcke <fzielcke@z-51.de>
27820
27821 * config.guess: Update to latest version from config git.
27822 * config.sub: Likewise.
58b6645a 27823
9124f65d 278242008-09-03 Robert Millan <rmh@aybabtu.com>
27825
27826 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27827 `disk->total_sectors'.
27828
81a06771 278292008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27830
27831 * include/grub/normal.h: Fixed incorrect comment for
27832 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27833
81a06771 278342008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27835
27836 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27837 values with defines.
27838
27839 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27840 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27841 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27842 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27843 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27844 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27845 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27846 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27847 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27848 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27849 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27850 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27851 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27852 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27853 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27854 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27855 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27856 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27857 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27858
93d5cbf8 278592008-08-31 Robert Millan <rmh@aybabtu.com>
27860
27861 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27862 declaration.
27863 (grub_multiboot): Fix a few warnings.
27864
21751d50 278652008-08-31 Robert Millan <rmh@aybabtu.com>
27866
27867 * loader/i386/pc/multiboot.c: Update comment not to say that
27868 boot_device support is unimplemented.
27869
e27a75c5 278702008-08-31 Robert Millan <rmh@aybabtu.com>
27871
27872 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27873 or memory map support are unimplemented.
27874
81a06771 278752008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27876
27877 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27878
81a06771 278792008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27880
27881 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27882 total video memory in 'vbeinfo' output; show color format details for
27883 each video mode.
27884
7c5d8d95 278852008-08-30 Pavel Roskin <proski@gnu.org>
27886
27887 * util/genmoddep.c: Remove for real this time.
27888 * DISTLIST: Remove util/genmoddep.c.
27889
4cebd25a 278902008-08-30 Robert Millan <rmh@aybabtu.com>
27891
27892 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27893 as required by Multiboot spec (it was already 4-byte aligned, but
27894 only by chance).
27895
b497a269 278962008-08-29 Pavel Roskin <proski@gnu.org>
27897
e3925185 27898 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27899 * kern/powerpc/ieee1275/startup.S: ... this.
27900 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27901 * DISTLIST: Likewise.
27902
b497a269 27903 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27904 grub/cpu/kernel.h. Add start label for consistency with other
27905 platforms. Add grub_prefix immediately after start. Add jump
27906 to the code after grub_prefix.
27907 * include/grub/powerpc/kernel.h: Provide valid values for
27908 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27909
6e5a42fe 279102008-08-29 Bean <bean123ch@gmail.com>
27911
27912 * configure.ac: Change host_os to cygwin for mingw.
27913 (asprintf): New check for function.
27914
27915 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27916 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27917
27918 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27919 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27920 sync, sleep and grub_util_get_disk_size for mingw.
27921
27922 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27923 to get size in mingw.
27924 (open_device): Use flag O_BINARY if it's defined.
27925 (find_root_device): Add dummy code for mingw.
27926
27927 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27928 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27929 (get_scsi_disk_name): Return 0 for mingw.
27930
27931 * util/hostfs.c: #include <grub/util/misc.h>.
27932 (grub_hostfs_open): Use "rb" flag to open file, use
27933 grub_util_get_disk_size to get disk size for mingw.
27934
27935 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27936 (asprintf): New function if HAVE_ASPRINTF is not set.
27937 (sync): New function for mingw.
27938 (sleep): Likewise.
27939 (grub_util_get_disk_size): Likewise.
27940
ab3f2673 279412008-08-28 Pavel Roskin <proski@gnu.org>
27942
27943 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27944 kern/time.c.
27945
1c282483 279462008-08-28 Robert Millan <rmh@aybabtu.com>
27947
27948 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27949
678e849c 279502008-08-28 Robert Millan <rmh@aybabtu.com>
27951
27952 Change find_grub_drive() syntax so it doesn't prevent it from
27953 detecting NULL names as errors.
27954
27955 * util/biosdisk.c (find_grub_drive): Move free slot search code
27956 from here ...
27957 (find_free_slot): ... to here.
27958 (read_device_map): Use find_free_slot() to search for free slots.
27959
965c75ca 279602008-08-27 Marco Gerards <marco@gnu.org>
27961
27962 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27963 (scsi_mod_SOURCES): New variable.
27964 (scsi_mod_CFLAGS): Likewise
27965 (scsi_mod_LDFLAGS): Likewise.
27966
27967 * disk/scsi.c: New file.
27968
27969 * include/grub/scsi.h: Likewise.
27970
27971 * include/grub/scsicmd.h: Likewise.
27972
27973 * disk/ata.c: Include <grub/scsi.h>.
27974 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27975 instead.
27976 (grub_ata_iterate): Skip ATAPI devices.
27977 (grub_ata_open): Only handle ATAPI devices.
27978 (struct grub_atapi_read): Removed.
27979 (grub_atapi_readsector): Likewise.
27980 (grub_ata_read): No longer handle ATAPI devices.
27981 (grub_ata_write): Likewise.
27982 (grub_atapi_iterate): New function.
27983 (grub_atapi_read): Likewise.
27984 (grub_atapi_write): Likewise.
27985 (grub_atapi_open): Likewise.
27986 (grub_atapi_close): Likewise.
27987 (grub_atapi_dev): New variable.
27988 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27989 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27990
27991 * include/grub/disk.h (enum grub_disk_dev_id): Add
27992 `GRUB_DISK_DEVICE_SCSI_ID'.
27993
c07ae501 279942008-08-26 Robert Millan <rmh@aybabtu.com>
27995
27996 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27997 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27998 descriptive.
27999
5ed20adc 280002008-08-23 Bean <bean123ch@gmail.com>
28001
28002 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28003 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28004 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28005 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28006 dm_nv.mod.
28007 (raid5rec_mod_SOURCES): New macro.
28008 (raid5rec_mod_CFLAGS): Likewise.
28009 (raid5rec_mod_LDFLAGS): Likewise.
28010 (raid6rec_mod_SOURCES): Likewise.
28011 (raid6rec_mod_CFLAGS): Likewise.
28012 (raid6rec_mod_LDFLAGS): Likewise.
28013 (mdraid_mod_SOURCES): Likewise.
28014 (mdraid_mod_CFLAGS): Likewise.
28015 (mdraid_mod_LDFLAGS): Likewise.
28016 (dm_nv_mod_SOURCES): Likewise.
28017 (dm_nv_mod_CFLAGS): Likewise.
28018 (dm_nv_mod_LDFLAGS): Likewise.
28019
28020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28021 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28022 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28023
28024 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28025 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28026
28027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28028
28029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28030
28031 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28032
28033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28034
28035 * disk/raid5_recover.c: New file.
28036
28037 * disk/raid6_recover.c: Likewise.
28038
28039 * disk/mdraid_linux.c: Likewise.
28040
28041 * disk/dmraid_nvidia.c: Likewise.
28042
28043 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28044 ULONG_MAX.
28045
28046 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28047 calculate the size of raid device.
28048 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28049 different layout of raid5.
28050 (grub_raid_scan_device): Remove code specific to mdraid.
28051 (grub_raid_list): New variable.
28052 (free_array): New function.
28053 (grub_raid_register): Likewise.
28054 (grub_raid_unregister): Likewise.
28055 (grub_raid_rescan): Likewise.
28056 (GRUB_MOD_INIT): Don't iterate device here.
28057 (GRUB_MOD_FINI): Use free_array to release resource.
28058
28059 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28060 (grub_raid5_recover_func_t): New function variable type.
28061 (grub_raid6_recover_func_t): Likewise.
28062 (grub_raid5_recover_func): New variable.
28063 (grub_raid6_recover_func): Likewise.
28064 (grub_raid_register): New function.
28065 (grub_raid_unregister): Likewise.
28066 (grub_raid_rescan): Likewise.
28067 (grub_raid_block_xor): Likewise.
28068
28069 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28070 (CMD_CRC): New macro.
28071 (part): Removed.
28072 (read_file): Handle device as well as file.
28073 (cmd_crc): New function.
28074 (fstest): Handle multiple disks.
28075 (options): Remove part, raw and long, add root and diskcount.
28076 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28077 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28078 add handling for the new options, support multiple disks.
28079
28080 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28081
29c18915 280822008-08-23 Bean <bean123ch@gmail.com>
28083
28084 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28085
28086 * genfslist.sh: Ignore kernel.mod.
28087
28088 * genpartmaplist.sh: Likewise.
28089
8415f261 280902008-08-23 Robert Millan <rmh@aybabtu.com>
28091
28092 * util/getroot.c (find_root_device): Skip anything that starts with
28093 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28094
d5a7dc5b 280952008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28096
d5a7dc5b 28097 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28098 * util/grub.d/00_header.in: Allow the administrator to change default
28099 gfxmode via ${GRUB_GFXMODE}.
28100
380cfbb4 281012008-08-21 Felix Zielcke <fzielcke@z-51.de>
28102
28103 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28104
c9baafe7 281052008-08-21 Robert Millan <rmh@aybabtu.com>
28106
28107 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28108 loader.
28109 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28110 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28111
e290bef2 281122008-08-20 Carles Pina i Estany <carles@pina.cat>
28113
28114 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28115 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28116
f9dbfc96 281172008-08-19 Robert Millan <rmh@aybabtu.com>
28118
28119 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28120 (struct grub_virtual_screen): Remove `cursor_color'.
28121 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28122 initialization.
28123 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28124
dd6bd6ab 281252008-08-18 Robert Millan <rmh@aybabtu.com>
28126
28127 Unify (identical) linux_normal.c files.
28128 * loader/i386/efi/linux_normal.c: Move from here ...
28129 * loader/linux_normal.c: ... to here. Update all users.
28130 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28131 * loader/i386/ieee1275/linux_normal.c: Likewise.
28132
7f42f83e 281332008-08-18 Robert Millan <rmh@aybabtu.com>
28134
28135 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28136 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28137 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28138 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28139 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28140 New macros.
28141 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28142 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28143 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28144 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28145 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28146 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28147 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28148 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28149 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28150 portably using grub_getxy().
28151 Replace `-EFI' with `-bzImage' in boot message.
28152
38487ddb 281532008-08-17 Robert Millan <rmh@aybabtu.com>
28154
28155 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28156
deceb3ec 281572008-08-17 Robert Millan <rmh@aybabtu.com>
28158
28159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28160
28161 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28162 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28163 (grub_machine_mmap_iterate): New function declaration.
28164 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28165 structure.
28166 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28167 macros.
28168
28169 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28170 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28171 Move e820 parsing from here ...
28172 * kern/i386/pc/mmap.c: New file.
28173 (grub_machine_mmap_iterate): ... to here.
28174
28175 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28176 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28177 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28178 (grub_available_iterate): Redeclare to return `void', and redeclare
28179 its hook to use grub_uint64_t as addr and size parameters, and rename
28180 to ...
28181 (grub_machine_mmap_iterate): ... this. Update all users.
28182
28183 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28184 to make it more readable. Rename to ...
28185 (grub_machine_mmap_iterate): ... this.
28186
28187 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28188 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28189 (grub_multiboot): Allocate an extra region after the payload, and fill
28190 it with a Multiboot memory map. Adjust a.out loader to calculate size
28191 with the extra space.
28192 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28193 with the extra space.
28194
f8aa0f43 281952008-08-17 Carles Pina i Estany <carles@pina.cat>
28196
9807deb9 28197 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28198
605f5bb6 281992008-08-17 Felix Zielcke <fzielcke@z-51.de>
28200
28201 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28202 mdate-sh to the list `find' searches for.
28203 * DISTLIST: Regenerated.
28204
210db6c6 282052008-08-16 Felix Zielcke <fzielcke@z-51.de>
28206
28207 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28208 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28209 genmoddep.awk, gensymlist.sh.in.
28210 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28211 * DISTLIST: Regenerated.
48cdbfd4 28212 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28213
1082b929 282142008-08-16 Robert Millan <rmh@aybabtu.com>
28215
28216 * disk/raid.c (grub_raid_init): Handle/report errors set by
28217 grub_device_iterate().
28218 * disk/lvm.c (grub_lvm_init): Likewise.
28219
42ce5170 282202008-08-15 Bean <bean123ch@gmail.com>
28221
28222 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28223 and datehook.mod.
28224 (datetime_mod_SOURCES): New macro.
28225 (datetime_mod_CFLAGS): Likewise.
28226 (datetime_mod_LDFLAGS): Likewise.
28227 (date_mod_SOURCES): Likewise.
28228 (date_mod_CFLAGS): Likewise.
28229 (date_mod_LDFLAGS): Likewise.
28230 (datehook_mod_SOURCES): Likewise.
28231 (datehook_mod_CFLAGS): Likewise.
28232 (datehook_mod_LDFLAGS): Likewise.
28233
28234 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28235 and datehook.mod.
28236 (datetime_mod_SOURCES): New macro.
28237 (datetime_mod_CFLAGS): Likewise.
28238 (datetime_mod_LDFLAGS): Likewise.
28239 (date_mod_SOURCES): Likewise.
28240 (date_mod_CFLAGS): Likewise.
28241 (date_mod_LDFLAGS): Likewise.
28242 (datehook_mod_SOURCES): Likewise.
28243 (datehook_mod_CFLAGS): Likewise.
28244 (datehook_mod_LDFLAGS): Likewise.
28245
28246 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28247 and datehook.mod.
28248 (datetime_mod_SOURCES): New macro.
28249 (datetime_mod_CFLAGS): Likewise.
28250 (datetime_mod_LDFLAGS): Likewise.
28251 (date_mod_SOURCES): Likewise.
28252 (date_mod_CFLAGS): Likewise.
28253 (date_mod_LDFLAGS): Likewise.
28254 (datehook_mod_SOURCES): Likewise.
28255 (datehook_mod_CFLAGS): Likewise.
28256 (datehook_mod_LDFLAGS): Likewise.
28257
28258 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28259 and datehook.mod.
28260 (datetime_mod_SOURCES): New macro.
28261 (datetime_mod_CFLAGS): Likewise.
28262 (datetime_mod_LDFLAGS): Likewise.
28263 (date_mod_SOURCES): Likewise.
28264 (date_mod_CFLAGS): Likewise.
28265 (date_mod_LDFLAGS): Likewise.
28266 (datehook_mod_SOURCES): Likewise.
28267 (datehook_mod_CFLAGS): Likewise.
28268 (datehook_mod_LDFLAGS): Likewise.
28269
28270 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28271 and datehook.mod.
28272 (datetime_mod_SOURCES): New macro.
28273 (datetime_mod_CFLAGS): Likewise.
28274 (datetime_mod_LDFLAGS): Likewise.
28275 (date_mod_SOURCES): Likewise.
28276 (date_mod_CFLAGS): Likewise.
28277 (date_mod_LDFLAGS): Likewise.
28278 (datehook_mod_SOURCES): Likewise.
28279 (datehook_mod_CFLAGS): Likewise.
28280 (datehook_mod_LDFLAGS): Likewise.
28281
28282 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28283
28284 * commands/date.c: New file.
28285
28286 * hook/datehook.c: Likewise.
28287
28288 * include/grub/lib/datetime.h: Likewise.
28289
28290 * include/grub/i386/cmos.h: Likewise.
28291
28292 * lib/datetime.c: Likewise.
28293
28294 * lib/i386/datetime.c: Likewise.
28295
28296 * lib/efi/datetime.c: Likewise.
28297
0e9242da 282982008-08-14 Robert Millan <rmh@aybabtu.com>
28299
28300 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28301 (grub_mkelfimage_SOURCES): New variable.
28302 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28303
28304 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28305 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28306 * conf/powerpc-ieee1275.rmk: Likewise.
28307 * conf/i386-ieee1275.rmk: Likewise.
28308
28309 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28310 * kern/i386/coreboot/init.c: Likewise.
28311
28312 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28313 with `<grub/cpu/kernel.h>'.
28314 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28315 to ...
28316 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28317 * kern/i386/coreboot/startup.S: Likewise.
28318
28319 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28320 (GRUB_MOD_GAP): Remove.
28321 * include/grub/powerpc/kernel.h: New file.
28322 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28323 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28324 * include/grub/i386/kernel.h: New file.
28325 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28326 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28327 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28328
28329 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28330 `grub-mkelfimage'.
28331 Use --directory when invoking grub_mkimage.
28332
28333 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28334 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28335 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28336 and GRUB_KERNEL_CPU_PREFIX.
28337
b86408f8 283382008-08-14 Felix Zielcke <fzielcke@z-51.de>
28339
d5e619ca 28340 * include/grub/err.h (grub_err_printf): New function prototype.
28341 * util/misc.c (grub_err_printf): New function.
28342 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28343 grub_printf.
28344 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28345
7161f0e0 283462008-08-13 Robert Millan <rmh@aybabtu.com>
28347
28348 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28349
a1967522 283502008-08-13 Robert Millan <rmh@aybabtu.com>
28351
28352 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28353 boot entry.
28354
371458b5 283552008-08-12 Robert Millan <rmh@aybabtu.com>
28356
28357 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28358 of the relocation code from here ...
28359 (grub_multiboot): ... to here.
28360 (forward_relocator, backward_relocator): Move from here ...
28361 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28362 (grub_multiboot_backward_relocator): ... to here.
28363 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28364 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28365 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28366 (grub_multiboot_forward_relocator_end)
28367 (grub_multiboot_backward_relocator)
28368 (grub_multiboot_backward_relocator_end): New variables.
28369
05f9452b 283702008-08-12 Bean <bean123ch@gmail.com>
28371
28372 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28373
20024ab0 283742008-08-11 Robert Millan <rmh@aybabtu.com>
28375
28376 * kern/i386/linuxbios/startup.S: Move from here ...
28377 * kern/i386/coreboot/startup.S: ... to here.
28378
28379 * kern/i386/linuxbios/init.c: Move from here ...
28380 * kern/i386/coreboot/init.c: ... to here.
28381
28382 * kern/i386/linuxbios/table.c: Move from here ...
28383 * kern/i386/coreboot/mmap.c: ... to here.
28384
28385 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28386
e352e9cd 283872008-08-11 Robert Millan <rmh@aybabtu.com>
28388
28389 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28390 errors. Leave it to the upper layer to handle them.
28391
2d05bc6a 283922008-08-09 Christian Franke <franke@computer.org>
28393
28394 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28395 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28396 Install `grub.d/10_windows' only on Cygwin.
28397 * configure.ac: Add subst of `target_os'.
28398 Check `target_os' also before setting TARGET_OBJ2ELF.
28399 Add `--enable-grub-pe2elf'.
28400
042bd419 284012008-08-08 Robert Millan <rmh@aybabtu.com>
28402
28403 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28404 (grub_last_time): Change type to grub_uint64_t.
28405 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28406 (grub_disk_close): Likewise.
28407
28408 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28409 (run_menu): Migrate code from to using grub_get_time_ms().
28410
28411 * util/misc.c (grub_get_time_ms): New function.
28412
7f280db5 284132008-08-08 Marco Gerards <marco@gnu.org>
28414
28415 * disk/ata.c (grub_ata_regget): Change return type to
28416 `grub_uint8_t'.
28417 (grub_ata_regget2): Likewise.
28418 (grub_ata_wait_status): New function.
28419 (grub_ata_wait_busy): Removed function, updated all users to use
28420 `grub_ata_wait_status'.
28421 (grub_ata_wait_drq): Likewise.
28422 (grub_ata_cmd): New function.
28423 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28424 error handling.
28425 (grub_ata_pio_write): Add error handling.
28426 (grub_atapi_identify): Likewise.
28427 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28428 handling.
28429 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28430 handling. Actually use the detected registers. Reorder the
28431 detection logic such that it is easier to read.
28432 (grub_ata_pciinit): Do not assign the same ID to each controller.
28433 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28434 handling.
28435 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28436
28437 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28438
1fbc5e66 284392008-08-08 Marco Gerards <marco@gnu.org>
28440
28441 * NEWS: Update.
28442
819ce6c0 284432008-08-07 Bean <bean123ch@gmail.com>
28444
28445 * include/grub/x86_64/pci.h: New file.
28446
5c41d44d 284472008-08-07 Christian Franke <franke@computer.org>
28448
28449 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28450 (TIMER2_GATE): Likewise.
28451 (grub_pit_wait): Add enable/disable of the timer2 gate
28452 bit of port 0x61. This fixes a possible infinite loop.
28453
5ebc275d 284542008-08-07 Bean <bean123ch@gmail.com>
28455
28456 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28457 kern/i386/tsc.c and kern/i386/pit.c.
28458
28459 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28460 x86_64 platform.
28461
28462 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28463 <grub/i386/tsc.h>.
28464
28465 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28466
e383b3d0 284672008-08-07 Bean <bean123ch@gmail.com>
28468
28469 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28470
28471 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28472
28473 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28474 multiple inclusion. Add #include <grub/types.h>.
28475
1cbb58ac 284762008-08-06 Christian Franke <franke@computer.org>
28477
28478 * conf/common.rmk: Build and install `10_windows'.
28479 * util/grub.d/10_windows.in: New script.
28480
337f5a1e 284812008-08-06 Pavel Roskin <proski@gnu.org>
28482
28483 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28484
057bc4ac 284852008-08-06 Robert Millan <rmh@aybabtu.com>
28486
28487 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28488 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28489
2b99f123 284902008-08-06 Bean <bean123ch@gmail.com>
28491
28492 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28493 (grub_pxefs_fs_int): Remove dummy definition.
28494 (grub_pxefs_open): Use data->block_size to store the current block
28495 size setting.
28496 (grub_pxefs_read): Use block size stored in data->block_size. As the
28497 value of grub_pxe_blksize can be changed after the file is opened.
28498
9f0234cb 284992008-08-06 Bean <bean123ch@gmail.com>
28500
28501 * fs/i386/pc/pxe.c (curr_file): new variable.
28502 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28503 require the dummy internal file system anymore.
28504 (grub_pxefs_read): Removed.
28505 (grub_pxefs_close): Likewise.
28506 (grub_pxefs_fs_int): Likewise.
28507 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28508 connection when we switch file.
28509 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28510
a55d42e0 285112008-08-06 Robert Millan <rmh@aybabtu.com>
28512
28513 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28514 `halt.mod'.
28515 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28516 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28517
28518 * kern/i386/halt.c: New file.
28519 * kern/i386/reboot.c: Likewise.
28520 * include/grub/i386/reboot.h: Likewise.
28521 * include/grub/i386/halt.h: Likewise.
28522
28523 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28524 Include `<grub/cpu/halt.h>'.
28525 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28526 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28527
28528 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28529 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28530 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28531 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28532 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28533 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28534 from here ...
28535 * include/grub/i386/at_keyboard.h: ... to here.
28536
24371d26 285372008-08-05 Robert Millan <rmh@aybabtu.com>
28538
28539 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28540 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28541 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28542 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28543 `kern/generic/millisleep.c'.
28544
28545 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28546 instead of grub_get_rtc().
28547 (grub_tsc_init): Initialize `tsc_boot_time'.
28548
28549 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28550 (grub_machine_init): Use grub_tsc_init() rather than
28551 installing an RTC-based handler via grub_install_get_time_ms().
28552
28553 * kern/i386/pit.c: New file.
28554 * include/grub/i386/pit.h: Likewise.
28555
9e7007b3 285562008-08-05 Bean <bean123ch@gmail.com>
28557
28558 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28559
28560 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28561 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28562 (pxe_mod_SOURCES): New macro.
28563 (pxe_mod_CFLAGS): Likewise.
28564 (pxe_mod_LDFLAGS): Likewise.
28565 (pxecmd_mod_SOURCES): Likewise.
28566 (pxecmd_mod_CFLAGS): Likewise.
28567 (pxecmd_mod_LDFLAGS): Likewise.
28568
28569 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28570 (grub_pxe_call): Likewise.
28571
28572 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28573
28574 * commands/i386/pc/pxecmd.c: New file.
28575
9f0234cb 28576 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28577
28578 * include/grub/i386/pc/pxe.h: Likewise.
28579
6977d49f 285802008-08-05 Bean <bean123ch@gmail.com>
28581
28582 * util/console.c (grub_console_cur_color): New variable.
28583 (grub_console_standard_color): Likewise.
28584 (grub_console_normal_color): Likewise.
28585 (grub_console_highlight_color): Likewise.
28586 (color_map): Likewise.
28587 (use_color): Likewise.
28588 (NUM_COLORS): New macro.
28589 (grub_ncurses_setcolorstate): Handle color properly.
28590 (grub_ncurses_setcolor): Don't change color here, just remember the
28591 settings, color will be set in grub_ncurses_setcolorstate.
28592 (grub_ncurses_getcolor): New function.
28593 (grub_ncurses_init): Initialize color pairs.
28594 (grub_ncurses_term): New member grub_ncurses_getcolor.
28595
9c2ff3ee 285962008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28597
9c2ff3ee 28598 High resolution timer support. Implemented for x86 CPUs using TSC.
28599 Extracted generic grub_millisleep() so it's linked in only as needed.
28600 This requires a Pentium compatible CPU; if the RDTSC instruction is
28601 not supported, then it falls back on the generic grub_get_time_ms()
28602 implementation that uses the machine's RTC.
28603
28604 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28605 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28606 `kern/generic/millisleep.c'.
28607
28608 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28609 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28610
28611 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28612 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28613
28614 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28615
28616 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28617 `kern/generic/millisleep.c'.
28618
28619 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28620
28621 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28622
28623 * kern/generic/rtc_get_time_ms.c: New file.
28624
28625 * kern/generic/millisleep.c: New file.
337f5a1e 28626
9c2ff3ee 28627 * kern/misc.c: Don't include
28628 <kern/time.h> anymore.
28629 (grub_millisleep_generic): Removed.
28630
28631 * commands/sleep.c (grub_interruptible_millisleep): Uses
28632 grub_get_time_ms() instead of grub_get_rtc().
28633
28634 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28635 function.
28636 (grub_cpu_is_cpuid_supported): New inline function.
28637 (grub_cpu_is_tsc_supported): New inline function.
28638 (grub_tsc_init): New function prototype.
28639 (grub_tsc_get_time_ms): New function prototype.
28640
28641 * kern/i386/tsc.c (grub_get_time_ms): New file.
28642
28643 * include/grub/time.h: Include <grub/types.h.
28644 (grub_millisleep_generic): Removed.
28645 (grub_get_time_ms): New prototype.
28646 (grub_install_get_time_ms): New prototype.
28647 (grub_rtc_get_time_ms): New prototype.
28648
28649 * kern/time.c (grub_get_time_ms): New function.
28650 (grub_install_get_time_ms): New function.
28651
28652 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28653 <grub/time.h> anymore.
28654 (grub_millisleep): Removed.
28655 (grub_machine_init): Call grub_tsc_init.
28656
28657 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28658 get_time_ms() implementation.
28659
28660 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28661 (ieee1275_get_time_ms): New function.
28662 (grub_machine_init): Install get_time_ms() implementation.
28663
28664 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28665 (grub_machine_init): Call grub_tsc_init().
28666 (grub_millisleep): Removed.
bf06a93f 28667
9c2ff3ee 28668 * kern/ieee1275/init.c (grub_millisleep): Removed.
28669 (grub_machine_init): Install ieee1275_get_time_ms()
28670 implementation.
28671 (ieee1275_get_time_ms): New function.
28672 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28673 real work.
28674
9ec92aaf 286752008-08-05 Marco Gerards <marco@gnu.org>
28676
28677 * disk/ata.c: Include <grub/pci.h>.
28678 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28679 (grub_ata_initialize): Rewritten.
28680 (grub_ata_device_initialize): New function.
28681
8d23f507 286822008-08-04 Pavel Roskin <proski@gnu.org>
28683
28684 * kern/main.c: Include grub/mm.h.
28685
5e15ee3d 286862008-08-04 Robert Millan <rmh@aybabtu.com>
28687
28688 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28689 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28690 corruption problem).
28691
a9053f8f 286922008-08-04 Robert Millan <rmh@aybabtu.com>
28693
28694 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28695 warnings introduced in my last commit.
28696
dd19c7d7 286972008-08-03 Robert Millan <rmh@aybabtu.com>
28698
28699 Make PCI available on all i386 architectures.
28700
28701 * include/grub/i386/pc/pci.h: Move from here ...
28702 * include/grub/i386/pci.h: ... to here.
28703
28704 * include/grub/i386/pc/pci.h: Remove.
28705 * include/grub/i386/efi/pci.h: Remove.
28706 * include/grub/x86_64/efi/pci.h: Remove.
28707
28708 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28709 `<grub/cpu/pci.h>'.
28710
28711 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28712 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28713 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28714
28715 * conf/i386-ieee1275.rmk: Likewise.
28716
e14a6184 287172008-08-03 Robert Millan <rmh@aybabtu.com>
28718
28719 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28720 (grub_console_setcursor): Make it possible to set cursor off.
28721
52768e37 287222008-08-03 Robert Millan <rmh@aybabtu.com>
28723
28724 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28725 of modules instead of assuming which platform provides what.
28726 * util/update-grub.in: Likewise.
28727
2d52f57f 287282008-08-03 Robert Millan <rmh@aybabtu.com>
28729
28730 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28731 instead of `grub_install_dos_part' to determine whether a drive needs
28732 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28733 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28734
2a5cd121 287352008-08-02 Robert Millan <rmh@aybabtu.com>
28736
28737 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28738
93808428 287392008-08-02 Robert Millan <rmh@aybabtu.com>
28740
28741 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28742 of informational grub_dprintf() calls.
28743
3bd0a12a 287442008-08-02 Robert Millan <rmh@aybabtu.com>
28745
28746 * disk/memdisk.c (memdisk_size): Don't initialize.
28747 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28748
28749 * include/grub/i386/pc/kernel.h
28750 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28751 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28752 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28753 (grub_arch_memdisk_size): Remove.
28754
28755 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28756 field (was only used to transfer a constant). Add `type' field to
28757 support multiple module types.
28758 (grub_module_iterate): New function.
28759
28760 * kern/device.c (grub_device_open): Do not hide error messages
28761 when grub_disk_open() fails. Use grub_print_error() instead.
28762
28763 * kern/i386/pc/init.c (grub_arch_modules_addr)
28764 (grub_arch_memdisk_size): Remove functions.
28765 (grub_arch_modules_addr): Return the module address in high memory
28766 (now that it isn't copied anymore).
28767
28768 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28769 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28770 decompression routine (grub_total_module_size already includes that
28771 now). Don't copy modules back to low memory.
28772
28773 * kern/main.c: Include `<grub/mm.h>'.
28774 (grub_load_modules): Split out (and use) ...
28775 (grub_module_iterate): ... this function, which iterates through
28776 module objects and runs a hook.
28777 Comment out grub_mm_init_region() call, as it would cause non-ELF
28778 modules to be overwritten.
28779
28780 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28781 the memdisk image in its own region, make it part of the module list.
28782 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28783 (main): Parse --memdisk|-m option, and pass user-provided path as
28784 parameter to generate_image().
28785 (add_segments): Pass `memdisk_path' down to load_modules().
28786 (load_modules): Embed memdisk image in module section when requested.
28787 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28788 `header.type' instead of `header.offset'.
28789
28790 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28791 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28792 (memdisk_mod_LDFLAGS): New variables.
28793 * conf/i386-coreboot.rmk: Likewise.
28794 * conf/i386-ieee1275.rmk: Likewise.
28795
a927cc73 287962008-08-02 Robert Millan <rmh@aybabtu.com>
28797
28798 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28799 (backward_relocator): New variables. Used to allocate and relocate
28800 the payload, respectively.
28801 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28802 address, install the appropriate relocator code in each bound of
a927cc73 28803 the payload, and set the entry point such that
28804 grub_multiboot_real_boot() will jump to one of them.
28805
28806 * kern/i386/loader.S (grub_multiboot_payload_size)
28807 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28808 (grub_multiboot_payload_entry_offset): New variables.
28809 (grub_multiboot_real_boot): Set cpu context to what the relocator
28810 expects, and jump to the relocator instead of the payload.
28811
28812 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28813 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28814 (grub_multiboot_payload_entry_offset): Export.
28815
b15d8a0c 288162008-08-01 Bean <bean123ch@gmail.com>
28817
28818 * normal/menu_entry.c (editor_getline): Don't return the original
28819 string as result, as it will be released by lexer once it has done
28820 using it.
28821
cdfb3d22 288222008-08-01 Robert Millan <rmh@aybabtu.com>
28823
28824 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28825 within menuentries, not before them.
28826 util/grub.d/10_hurd.in: Likewise.
28827
9175e93d 288282008-08-01 Bean <bean123ch@gmail.com>
28829
28830 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28831 (bufio_mod_SOURCES): New macro.
28832 (bufio_mod_CFLAGS): Likewise.
28833 (bufio_mod_LDFLAGS): Likewise.
28834
28835 * include/grub/bufio.h: New file.
28836
28837 * io/bufio.c: Likewise.
28838
28839 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28840 (grub_video_reader_png): Use grub_buffile_open to open file.
28841
28842 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28843 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28844
28845 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28846 (grub_video_reader_tga): Use grub_buffile_open to open file.
28847
28848 * font/manager.c: Include <grub/bufio.h>.
28849 (add_font): Use grub_buffile_open to open file.
28850
3d8383e7 288512008-07-31 Robert Millan <rmh@aybabtu.com>
28852
28853 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28854 ELF segments, use a macro for arbitrarily accessing any of them instead
28855 of preparing a pointer that allows access to one at a time.
28856 (grub_multiboot_load_elf64): Likewise.
28857
16e641b6 288582008-07-31 Bean <bean123ch@gmail.com>
28859
28860 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28861 GRUB_KERNEL_MACHINE_DATA_END.
28862
59198b72 288632008-07-30 Robert Millan <rmh@aybabtu.com>
28864
28865 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28866 Increase from 0x50 to 0x60.
28867 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28868 use UUIDs to identify the root drive for them. If that's not
28869 possible, abort.
28870 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28871 check, for cross-disk installs.
28872
ae88bca3 288732008-07-30 Robert Millan <rmh@aybabtu.com>
28874
28875 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28876 is non-empty, use it to set the `prefix' environment variable instead
28877 of the usual approach.
28878 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28879 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28880 environment variable instead of dummy make_install_device().
28881
28882 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28883 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28884 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28885
28886 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28887 New variable reference.
28888 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28889 New macro. Defines offset of `grub_prefix' within startup.S (relative
28890 to `start').
28891 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28892 section within startup.S (relative to `start').
28893 * include/grub/i386/coreboot/kernel.h: Likewise.
28894
28895 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28896 Overwrite grub_prefix with its contents, at the beginning of the
28897 first segment.
28898 (main): Understand -p|--prefix.
28899
14f41dd1 289002008-07-30 Robert Millan <rmh@aybabtu.com>
28901
28902 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28903
4ca049a3 289042008-07-30 Robert Millan <rmh@aybabtu.com>
28905
28906 * term/i386/pc/vga_text.c (grub_console_cls): Use
28907 grub_console_gotoxy() to go back to beginning of the screen.
28908 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28909
2921d337 289102008-07-29 Christian Franke <franke@computer.org>
28911
28912 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28913 Add conversion of emulated mount points on Cygwin.
28914
b609876d 289152008-07-29 Christian Franke <franke@computer.org>
28916
28917 * util/update-grub.in: Add a check for admin
28918 group on Cygwin.
28919 Remove old `grub.cfg.new' before creation.
28920 Add `-f' to `mv' to handle the different filesystem
28921 semantics of Windows.
28922
e93e4679 289232008-07-29 Bean <bean123ch@gmail.com>
28924
28925 * normal/main.c (get_line): Fix buffer overflow bug.
28926
41694fd0 289272008-07-28 Robert Millan <rmh@aybabtu.com>
28928
28929 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28930 (struct grub_apple_header): New struct. Describes the layout of
28931 the partmap header.
28932 (apple_partition_map_iterate): Check the header magic as well as the
28933 partition magic (which was already being checked).
28934
cfd0b4e6 289352008-07-28 Pavel Roskin <proski@gnu.org>
28936
28937 * genmk.rb: Add a warning to the beginning of the output that
28938 it's a generated file and should not be edited.
28939
93cce016 289402008-07-28 Robert Millan <rmh@aybabtu.com>
28941
28942 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28943 with the same number are found, just use issue a warning with
28944 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28945
cd1df915 289462008-07-27 Robert Millan <rmh@aybabtu.com>
28947
28948 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28949 information.
28950
b70a8427 289512008-07-27 Bean <bean123ch@gmail.com>
28952
28953 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28954 (grub_fat_find_dir): Ignore case when comparing filename.
28955
8f5e379f 289562008-07-27 Bean <bean123ch@gmail.com>
28957
28958 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28959 smallino, as it's more descriptive, and i8count can be confused with
28960 the other field count.
28961 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28962 inode type.
28963
a85cd5a0 289642008-07-27 Bean <bean123ch@gmail.com>
28965
28966 * commands/crc.c: New file.
28967
28968 * lib/crc.c: Likewise.
28969
28970 * include/grub/lib/crc.h: Likewise.
28971
28972 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28973
28974 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28975 (hexdump): Move this function to ...
28976
28977 * lib/hexdump.c: ... here.
28978
28979 * include/grub/hexdump.h: Renamed to ...
28980
28981 * include/grub/lib/hexdump.h: ... this.
28982
28983 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28984
28985 * util/grub-editenv.c: Likewise.
28986
28987 * include/envblk.h: Renamed to ...
28988
28989 * include/lib/envblk.h: ... this.
28990
28991 * util/envblk.c: Renamed to ...
28992
28993 * lib/envblk.c: ... this.
28994
28995 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28996 lib/hexdump.c.
28997 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28998 (pkglib_MODULES): Add crc.mod.
28999 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29000 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29001 (crc_mod_SOURCES): New macro.
29002 (crc_mod_CFLAGS): Likewise.
29003 (crc_mod_LDFLAGS): Likewise.
29004
29005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29006
29007 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29008
29009 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29010
29011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29012
29013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29014
c298def0 290152008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29016
29017 * commands/help.c: Include <grub/term.h>.
29018 (TERM_WIDTH): Removed. Updated all users.
29019
cc349fb3 290202008-07-27 Pavel Roskin <proski@gnu.org>
29021
29022 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29023 spurious warnings about a comment within a comment.
29024
9051607e 290252008-07-25 Robert Millan <rmh@aybabtu.com>
29026
29027 * util/getroot.c (find_root_device): Skip devices that match
29028 /dev/dm-[0-9]. This lets the real device be found for any type of
29029 abstraction (LVM, EVMS, RAID..).
29030 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29031 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29032 device is found first, find_root_device() will now skip it.
29033
01453bfc 290342008-07-24 Pavel Roskin <proski@gnu.org>
29035
29036 * include/grub/types.h: Use __builtin_bswap32() and
29037 __builtin_bswap64() with gcc 4.3 and newer.
29038
6af9849f 290392008-07-24 Christian Franke <franke@computer.org>
29040
3a0fa256 29041 * util/i386/pc/grub-install.in: If `--debug' is specified,
29042 pass `--verbose' to grub-setup.
29043 Abort script if make_system_path_relative_to_its_root() fails.
29044
7810e747 290452008-07-24 Bean <bean123ch@gmail.com>
29046
29047 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29048 variable `target_platform' should be `platform'.
29049
42290e17 290502008-07-24 Bean <bean123ch@gmail.com>
29051
51cc5193 29052 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29053 (grub_png_init_fixed_block): New function.
29054 (grub_png_decode_image_data): Handle fixed huffman code compression.
29055
2a8a80e4 290562008-07-24 Bean <bean123ch@gmail.com>
29057
29058 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29059 (grub_pe2elf_SOURCES): New macro.
29060 (CLEANFILES): Add grub-pe2elf.
29061
29062 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29063 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29064 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29065 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29066 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29067 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29068 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29069 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29070 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29071 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29072 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29073 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29074 (GRUB_PE32_DT_FUNCTION): Likewise.
29075 (GRUB_PE32_REL_I386_DIR32): Likewise.
29076 (GRUB_PE32_REL_I386_REL32): Likewise.
29077 (grub_pe32_symbol): New structure.
29078 (grub_pe32_reloc): Likewise.
29079
29080 * util/grub-pe2elf.c: New file.
29081
29082 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29083 start symbol in non pc platform.
29084
29085 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29086
29087 The following patches are from Christian Franke.
29088
29089 * include/grub/dl.h: Remove .previous, gas supports this only
29090 for ELF format.
29091
29092 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29093 Remove .type, gas supports this only for ELF format.
29094
29095 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29096 nullbytes in symbol table. This fixes an infinite loop if table is
29097 zero filled.
29098
29099 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29100 TARGET_IMG_LDFLAGS and EXEEXT.
29101
29102 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29103 TARGET_IMG_LDFLAGS_AC.
29104 (grub_CHECK_STACK_ARG_PROBE): New function.
29105
29106 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29107
29108 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29109
29110 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29111 to set TARGET_IMG_LD* accordingly.
29112 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29113 Add call to grub_CHECK_STACK_ARG_PROBE.
29114 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29115
29116 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29117
29118 * genmk.rb: Add EXEEXT to CLEANFILES.
29119
12ccdb75 291202008-07-23 Robert Millan <rmh@aybabtu.com>
29121
29122 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29123 define the codes for arrows and lines used for the menu).
29124 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29125 as well.
29126
29127 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29128 fonts, because the latter are too slow.
29129
18eeaf04 291302008-07-21 Bean <bean123ch@gmail.com>
29131
29132 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29133 a20. Run keyboard test last, as it will cause macbook to halt.
29134
b095e2ad 291352008-07-18 Pavel Roskin <proski@gnu.org>
29136
29137 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29138 load foreign architecture modules correctly anyway. Keep
29139 support for loading host architecture modules, whether we
29140 compile them or not.
29141
737feb35 291422008-07-17 Pavel Roskin <proski@gnu.org>
29143
3f4ce737 29144 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29145 change target_cpu. The compiler default can mismatch target_cpu
29146 in any case.
29147
4ad2d049 29148 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29149 * kern/efi/efi.c: Likewise.
29150
f6130a12 29151 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29152 target compiler is functional.
29153 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29154 are set up.
29155
58393a2d 29156 * configure.ac: Default to efi platform for x86_64-apple. Allow
29157 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29158 adjustments from the rest, only do them if target is not
29159 explicitly given. Merge other adjustments with the final sanity
29160 check. Remove an extraneous check for supported CPU. Be
29161 specific which CPU and which platform is not supported.
29162
737feb35 29163 * configure.ac: Default to pc platform for x86_64.
29164
546f966a 291652008-07-17 Robert Millan <rmh@aybabtu.com>
29166
29167 Partial LinuxBIOS -> Coreboot rename.
29168
29169 * conf/i386-linuxbios.rmk: Renamed to ...
29170 * conf/i386-coreboot.rmk: ... this.
29171 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29172 * configure.ac: Accept "coreboot" as input platform (but maintain
29173 compatibility with "linuxbios").
29174 * include/grub/i386/linuxbios: Renamed to ...
29175 * include/grub/i386/coreboot: ... this.
29176
20011694 291772008-07-17 Bean <bean123ch@gmail.com>
29178
29179 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29180 (appleldr_mod_SOURCE): New variable.
20011694 29181 (appleldr_mod_CFLAGS): Likewise.
29182 (appleldr_mod_LDFLAGS): Likewise.
29183 (pci_mod_SOURCES): Likewise.
29184 (pci_mod_CFLAGS): Likewise.
29185 (pci_mod_LDFLAGS): Likewise.
29186 (lspci_mod_SOURCES): Likewise.
29187 (lspci_mod_CFLAGS): Likewise.
29188 (lspci_mod_LDFLAGS): Likewise.
29189
29190 * conf/x86_64-efi.rmk: New file.
29191
29192 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29193 macro.
29194 (grub_efidisk_write): Likewise.
29195
29196 * include/efi/api.h (efi_call_0): New macro.
29197 (efi_call_1): Likewise.
29198 (efi_call_2): Likewise.
29199 (efi_call_3): Likewise.
29200 (efi_call_4): Likewise.
29201 (efi_call_5): Likewise.
29202 (efi_call_6): Likewise.
29203
29204 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29205 grub_rescue_cmd_chainloader.
29206
29207 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29208 (grub_pe32_optional_header): Change some fields based on i386 or
29209 x86_64 platform.
29210 (GRUB_PE32_PE32_MAGIC): Likewise.
29211
29212 * include/grub/efi/uga_draw.h: New file.
29213
29214 * include/grub/elf.h (STN_ABS): New constant.
29215 (R_X86_64_NONE): Relocation constant for x86_64.
29216 (R_X86_64_64): Likewise.
29217 (R_X86_64_PC32): Likewise.
29218 (R_X86_64_GOT32): Likewise.
29219 (R_X86_64_PLT32): Likewise.
29220 (R_X86_64_COPY): Likewise.
29221 (R_X86_64_GLOB_DAT): Likewise.
29222 (R_X86_64_JUMP_SLOT): Likewise.
29223 (R_X86_64_RELATIVE): Likewise.
29224 (R_X86_64_GOTPCREL): Likewise.
29225 (R_X86_64_32): Likewise.
29226 (R_X86_64_32S): Likewise.
29227 (R_X86_64_16): Likewise.
29228 (R_X86_64_PC16): Likewise.
29229 (R_X86_64_8): Likewise.
29230 (R_X86_64_PC8): Likewise.
29231
29232 * include/grub/i386/efi/pci.h: New file.
29233
29234 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29235 Change it value based on platform.
29236 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29237 (GRUB_E820_RAM): Likewise.
29238 (GRUB_E820_RESERVED): Likewise.
29239 (GRUB_E820_ACPI): Likewise.
29240 (GRUB_E820_NVS): Likewise.
29241 (GRUB_E820_EXEC_CODE): Likewise.
29242 (GRUB_E820_MAX_ENTRY): Likewise.
29243 (grub_e820_mmap): New structure.
29244 (linux_kernel_header): Change the efi field according to different
29245 kernel version, also field from linux_kernel_header.
29246
29247 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29248
29249 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29250 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29251 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29252 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29253 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29254 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29255 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29256 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29257 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29258 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29259
29260 * include/grub/x86_64/efi/kernel.h: New file.
29261
29262 * include/grub/x86_64/efi/loader.h: Likewise.
29263
29264 * include/grub/x86_64/efi/machine.h: Likewise.
29265
29266 * include/grub/x86_64/efi/pci.h: Likewise.
29267
29268 * include/grub/x86_64/efi/time.h: Likewise.
29269
29270 * include/grub/x86_64/linux.h: Likewise.
29271
29272 * include/grub/x86_64/setjmp.h: Likewise.
29273
29274 * include/grub/x86_64/time.h: Likewise.
29275
29276 * include/grub/x86_64/types.h: Likewise.
29277
29278 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29279 GRUB_TARGET_SIZEOF_VOID_P.
29280
29281 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29282 (grub_efi_locate_handle): Likewise.
29283 (grub_efi_open_protocol): Likewise.
29284 (grub_efi_set_text_mode): Likewise.
29285 (grub_efi_stall): Likewise.
29286 (grub_exit): Likewise.
29287 (grub_reboot): Likewise.
29288 (grub_halt): Likewise.
29289 (grub_efi_exit_boot_services): Likewise.
29290 (grub_get_rtc): Likewise.
29291
29292 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29293 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29294 (grub_efi_allocate_pages): Wrap efi calls.
29295 (grub_efi_free_pages): Wrap efi calls.
29296 (grub_efi_get_memory_map): Wrap efi calls.
29297
29298 * kern/x86_64/dl.c: New file.
29299
29300 * kern/x86_64/efi/callwrap.S: Likewise.
29301
29302 * kern/x86_64/efi/startup.S: Likewise.
29303
29304 * loader/efi/appleloader.c: Likewise.
29305
29306 * loader/efi/chainloader.c (cmdline): New variable.
29307 (grub_chainloader_unload): Wrap efi calls.
29308 (grub_chainloader_boot): Likewise.
29309 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29310 command line.
29311
29312 * loader/efi/chainloader_normal.c (chainloader_command):
29313 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29314 command line.
29315
29316 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29317 method.
29318 (grub_e820_add_region): New function.
29319 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29320 booting.
29321 (grub_find_video_card): New function.
29322 (grub_linux_setup_video): New function.
29323 (grub_rescue_cmd_linux): Probe for video information.
29324
29325 * normal/x86_64/setjmp.S: New file.
29326
29327 * term/efi/console.c (map_char): New function.
29328 (grub_console_putchar): Map unicode char.
29329 (grub_console_checkkey): Wrap efi calls.
29330 (grub_console_getkey): Likewise.
29331 (grub_console_getwh): Likewise.
29332 (grub_console_gotoxy): Likewise.
29333 (grub_console_cls): Likewise.
29334 (grub_console_setcolorstate): Likewise.
29335 (grub_console_setcursor): Likewise.
29336
29337 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29338
59652a20 293392008-07-16 Pavel Roskin <proski@gnu.org>
29340
ef294055 29341 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29342 format strings.
29343
59652a20 29344 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29345 pointer, not an integer. This fixes a warning and prevents
29346 precision loss on 64-bit systems.
29347 (relocate_addresses): Remove unneeded cast.
29348
afc3b5d7 293492008-07-15 Pavel Roskin <proski@gnu.org>
29350
506b2b3e 29351 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29352
62ead89c 29353 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29354
c4cd51d7 29355 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29356 Fix comparison between signed and unsigned.
29357
0d3d8f28 29358 * include/grub/i386/ieee1275/console.h: Declare
29359 grub_console_init() and grub_console_fini().
29360
8804b286 29361 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29362 It's empty and unused.
29363
ee01cf35 29364 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29365 beginning to avoid warnings with some compilers.
29366
afc3b5d7 29367 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29368 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29369
e4e8eaa5 293702008-07-14 Pavel Roskin <proski@gnu.org>
29371
407aceb4 29372 * kern/env.c (grub_register_variable_hook): Don't copy empty
29373 string, it leaks memory. Pass "" to grub_env_set(), it should
29374 handle constant strings.
29375
e4e8eaa5 29376 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29377 * commands/cmp.c (grub_cmd_cmp): Likewise.
29378 * kern/dl.c (grub_dl_flush_cache): Likewise.
29379 (grub_dl_load_core): Likewise.
29380 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29381 (grub_elf64_load_phdrs): Likewise.
29382
d4e2dad3 293832008-07-13 Pavel Roskin <proski@gnu.org>
29384
29385 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29386 between signed and unsigned.
29387 (LzmaEnc_Finish): Fix warning about an unused parameter.
29388
aa24b516 293892008-07-13 Bean <bean123ch@gmail.com>
29390
29391 * Makefile.in (enable_lzo): New rule.
29392
29393 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29394
29395 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29396
29397 * boot/i386/pc/lnxboot.S: #include <config.h>.
29398
29399 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29400 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29401
29402 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29403 compression algorithm according to configure macro.
29404
29405 * kern/i386/pc/startup.S (codestart): Likewise.
29406
29407 * kern/i386/pc/lzma_decode.S: New file.
29408
29409 * include/grub/lib/LzFind.h: Likewise.
29410
29411 * include/grub/lib/LzHash.h: Likewise.
29412
29413 * include/grub/lib/LzmaDec.h: Likewise.
29414
29415 * include/grub/lib/LzmaEnc.h: Likewise.
29416
29417 * include/grub/lib/LzmaTypes.h: Likewise.
29418
29419 * lib/LzFind.c: Likewise.
29420
29421 * lib/LzmaDec.c: Likewise.
29422
29423 * lib/LzmaEnc.c: Likewise.
29424
4ae821ac 294252008-07-13 Bean <bean123ch@gmail.com>
29426
29427 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29428 (grub_ext4_extent_header): New structure.
29429 (grub_ext4_extent): Likewise.
29430 (grub_ext4_extent_idx): Likewise.
29431 (grub_ext4_find_leaf): New function.
29432 (grub_ext2_read_block): Handle extents.
29433
9a745147 294342008-07-12 Robert Millan <rmh@aybabtu.com>
29435
29436 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29437
d49a4cf6 294382008-07-11 Robert Millan <rmh@aybabtu.com>
29439
29440 * util/grub.d/40_custom.in: New file. Example on how to add custom
29441 entries to /etc/grub.d.
29442 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29443 40_custom (implicitly, by merging all the grub.d rules).
29444
947414b4 294452008-07-11 Pavel Roskin <proski@gnu.org>
29446
0059cf6f 29447 * commands/read.c (grub_getline): Fix invalid memory access.
29448 Don't add newline to the variable value.
29449
947414b4 29450 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29451 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29452 (serial_hw_get_port): Check validity of the port number.
29453 (grub_cmd_serial): Check return value of serial_hw_get_port().
29454
62a02d00 294552008-07-07 Pavel Roskin <proski@gnu.org>
29456
29457 * boot/i386/pc/diskboot.S (notification_string): Replace
29458 "Loading kernel" with just "loading". This is shorter, less
29459 confusing and saves a few bytes for possible future changes.
29460
3e5581b0 294612008-07-05 Pavel Roskin <proski@gnu.org>
29462
ea387a48 29463 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29464 size for ATAPI devices, they are undefined. Output sector
29465 number in decimal form.
29466
3e5581b0 29467 * disk/ata.c: Use named constants for status bits.
29468
fdecb8fd 294692008-07-04 Pavel Roskin <proski@gnu.org>
29470
bcd35b90 29471 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29472 grub_addr_t before casting it to the void pointer to fix a
29473 warning. Non-addressable regions are discarded earlier.
29474 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29475 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29476 (check_signature): Don't shadow table_header.
29477 (grub_linuxbios_table_iterate): Cast numeric constants to
29478 grub_linuxbios_table_header_t.
29479 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29480 grub_stop().
29481
af58ab3d 29482 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29483 prevent warnings.
29484
1759aa57 29485 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29486 pointer, which can cause warnings. Support 64-bit addresses.
29487
fdecb8fd 29488 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29489 of sizeof(long). This fixes PowerPC image generation on x86_64.
29490
8516d2a8 294912008-07-04 Robert Millan <rmh@aybabtu.com>
29492
29493 This fixes a performance issue when pc & gpt partmap iterators
29494 didn't abort iteration even after our hook found what it was
fe987087 29495 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29496
29497 Some callers relied on previous buggy behaviour, since they would
34c44600 29498 raise an error when their own hooks caused early abortion of its
8516d2a8 29499 iteration.
29500
29501 * kern/device.c (grub_device_open): Improve error message.
29502 * disk/lvm.c (grub_lvm_open): Likewise.
29503 * disk/raid.c (grub_raid_open): Likewise.
29504
29505 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29506 when hook requests it, independently of grub_errno.
29507 (pc_partition_map_probe): Do not fail when find_func() caused
29508 early abortion of pc_partition_map_iterate().
29509
29510 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29511 when hook requests it, independently of grub_errno.
29512 (gpt_partition_map_probe): Do not fail when find_func() caused
29513 early abortion of gpt_partition_map_iterate().
29514
29515 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29516 when hook requests it, independently of grub_errno. Do not fail when
29517 part_map_iterate_hook() caused early abortion of p->iterate().
29518
29519 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29520 when grub_partition_iterate() returned with non-zero.
29521
277d0de9 295222008-07-03 Pavel Roskin <proski@gnu.org>
29523
29524 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29525 like we do in grub_ata_pio_read().
29526 (grub_ata_readwrite): Always write individual sectors. Fix the
29527 sector count for the remainder.
29528 (grub_ata_write): Enable writing to ATA devices. Correctly
29529 report error for ATAPI devices.
29530
d4c9b428 295312008-07-02 Pavel Roskin <proski@gnu.org>
29532
e43fc690 29533 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29534 warning.
29535
f707af42 29536 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29537 for every read sector, we already increment it for the whole
29538 batch. This fixes reading more than 256 sectors at once.
29539
11e16b15 29540 * util/grub-editenv.c (cmd_info): Cast argument to long
29541 explicitly. ptrdiff_t reduces to int on i386.
29542
cbabfdd4 29543 * util/grub-editenv.c (main): Be specific which parameter is
29544 missing.
29545
b8fbce0a 29546 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29547 (memdisk): Make memdisk_orig_addr a pointer.
29548
c9c8e606 29549 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29550 for file offsets, use grub_off_t instead. Fix printf format
29551 warnings.
29552
ca62e598 29553 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29554 there. Real unexpected warnings should not drown in the noise
29555 about known problems.
29556
ce8d1766 29557 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29558 grub_disk_addr_t for memory addresses.
29559
00c7a56a 29560 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29561 explicitly to fix a warning.
29562
08d3ef09 29563 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29564
cb71ba20 29565 * Makefile.in (MODULE_LDFLAGS): New variable.
29566 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29567 the linker accepts --build-id=none.
29568 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29569 MODULE_LDFLAGS.
29570 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29571
d4c9b428 29572 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29573 those in Linux XFS code. Provide a way to access 64-bit parent
29574 inode.
29575 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29576 the end of struct grub_xfs_dir_header.
29577
d4156eee 295782008-07-02 Bean <bean123ch@gmail.com>
29579
29580 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29581 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29582 and GRUB_IEEE1275_FLAG_NO_ANSI.
29583
29584 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29585 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29586 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29587
29588 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29589 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29590
29591 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29592 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29593
29594 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29595 esc sequence on non ANSI terminal.
29596 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29597
29598 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29599 beginning of file.
29600
2270f77b 296012008-07-02 Bean <bean123ch@gmail.com>
29602
29603 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29604 (grub_editenv_SOURCES): New variable.
29605 (pkglib_MODULES): Add loadenv.mod.
29606 (loadenv_mod_SOURCES): New variable.
29607 (loadenv_mod_CFLAGS): Likewise.
29608 (loadenv_mod_LDFLAGS): Likewise.
29609
29610 * include/grub/envblk.h: New file.
29611
29612 * util/envblk.c: New file.
29613
29614 * util/grub-editenv.c: New file.
29615
29616 * commands/loadenv.c: New file.
29617
0e9e51ec 296182008-07-01 Pavel Roskin <proski@gnu.org>
29619
d89b7634 29620 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29621 not unsigned char. This fixes warnings and is consistent with
29622 other tags.
29623
bf1835b1 29624 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29625
8222a04b 29626 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29627
6a42d99d 29628 * term/tparm.c (analyze): Always set *popcount.
29629
10b159d1 29630 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29631 cast to fix a warning.
29632
b8789f6c 29633 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29634 cast to suppress a warning.
29635
29d7e38a 29636 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29637 grub_fshelp_read_file() expects.
29638
f341f669 29639 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29640 write uuid as a 32-bit value in CPU byte order, so declare and
29641 use it as such.
29642
0e9e51ec 29643 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29644 long if the format specifier expects it.
29645 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29646 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29647 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29648 long to fix a warning.
29649 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29650 grub_dprintf() arguments to fix warnings.
29651
3aefa857 296522008-06-30 Pavel Roskin <proski@gnu.org>
29653
56c7668b 29654 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29655 install_bsd_part immediately before core.img is embedded or
29656 modified on disk. This fixes core.img verification if core.img
29657 cannot be embedded.
29658
3aefa857 29659 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29660 core_path to calculate the blocklist.
29661 Patch from Javier Martín <lordhabbit@gmail.com>
29662
5444088d 296632008-06-29 Robert Millan <rmh@aybabtu.com>
29664
29665 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29666 block to disk block.
29667 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29668 Patch from Niels Böhm <bitbucket@arcor.de>
29669
674835c8 296702008-06-29 Robert Millan <rmh@aybabtu.com>
29671
29672 * util/update-grub_lib.in (font_path): Search for fonts in
29673 /boot/grub first, which is more likely to be readable (we aren't
29674 deciding where fonts live, just looking for them).
29675
f527dbc8 296762008-06-26 Pavel Roskin <proski@gnu.org>
29677
6c2d8df6 29678 * util/biosdisk.c (read_device_map): Don't leave dead map
29679 entries for devices failing stat() check.
29680
f527dbc8 29681 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29682 core_path_dev for the core.img path on the target device.
29683
aebe3d13 296842008-06-26 Robert Millan <rmh@aybabtu.com>
29685
29686 * disk/fs_uuid.c: New file.
29687 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29688 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29689 (fs_uuid_mod_LDFLAGS): New variables.
29690 * include/grub/disk.h (grub_disk_dev_id): Add
29691 `GRUB_DISK_DEVICE_UUID_ID'.
29692 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29693 implement iterate().
29694
37aaf354 296952008-06-26 Robert Millan <rmh@aybabtu.com>
29696
29697 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29698 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29699 Linux image includes no initrd.
29700
25ff262a 297012008-06-21 Javier Martín <lordhabbit@gmail.com>
29702
29703 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29704 call to resolve the core image location that effectively appended the
29705 name twice.
29706
76a2bd44 297072008-06-21 Robert Millan <rmh@aybabtu.com>
29708
29709 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29710 call from here ...
29711
29712 * util/grub.d/10_hurd.in: ... to here ...
29713 * util/grub.d/10_linux.in: ... and here.
29714
650e1c79 297152008-06-19 Robert Millan <rmh@aybabtu.com>
29716
fe987087 29717 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29718 after it has been set by grub_machine_set_prefix().
29719
6ce63911 297202008-06-19 Robert Millan <rmh@aybabtu.com>
29721
29722 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29723 search result when not saving to variable, not the other way around.
29724 When saving to variable, abort iteration as soon as a match is found.
29725
73940cec 297262008-06-19 Robert Millan <rmh@aybabtu.com>
29727
29728 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29729 check for partition that provides /boot/grub. Its logic is flawed,
29730 as it prevents prepare_grub_to_access_device() from being called
29731 multiple times.
29732
3c62a39d 297332008-06-19 Robert Millan <rmh@aybabtu.com>
29734
29735 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29736 "insmod" command directly when abstraction modules are needed,
fe987087 29737 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29738 since it had already been processed).
29739
47395a42 297402008-06-19 Pavel Roskin <proski@gnu.org>
29741
29742 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29743 changed. This is needed in case GRUB_LIBDIR changes.
29744 * conf/i386-ieee1275.rmk: Likewise.
29745 * conf/i386-linuxbios.rmk: Likewise.
29746 * conf/i386-pc.rmk: Likewise.
29747 * conf/powerpc-ieee1275.rmk: Likewise.
29748
a145ac2d 297492008-06-18 Pavel Roskin <proski@gnu.org>
29750
29751 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29752 kernel_elf_symlist.c to symlist.c for consistency with other
29753 architectures. Update all users.
29754 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29755
7847c51e 297562008-06-18 Robert Millan <rmh@aybabtu.com>
29757
29758 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29759 it in prefix.
29760
29761 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29762 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29763 a RAID device, run setup() for all members independently on whether
29764 LVM abstraction is being used.
29765 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29766 If grub-mkimage has set `*install_dos_part == -2', don't override this
29767 value.
29768 Perform *install_dos_part adjustments independently on whether
29769 we're embedding or not.
29770 Clarify error message when image is too big for embedding.
29771 Remove duplicate *install_dos_part stanza.
29772
b23e5644 297732008-06-17 Robert Millan <rmh@aybabtu.com>
29774
29775 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29776 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29777 variables.
29778 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29779 values in grub_ofconsole_normal_color and
29780 grub_ofconsole_highlight_color (they're not directly related to
29781 background and foreground).
29782 (grub_ofconsole_setcolorstate): Extract background and foreground
29783 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29784
0aac2f79 297852008-06-17 Robert Millan <rmh@aybabtu.com>
29786
29787 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29788 /boot/grub for the check in last commit, not /boot (they could be
29789 different partitions).
29790
3cca7ef3 297912008-06-16 Robert Millan <rmh@aybabtu.com>
29792
29793 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29794 asked to setup access for the same partition that provides /boot,
29795 don't bother using UUIDs since our root already has the value we
29796 want.
29797
347396d8 297982008-06-16 Robert Millan <rmh@aybabtu.com>
29799
29800 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29801 I2O devices.
29802 Patch from Sven Mueller <sven@debian.org>.
29803
991477f8 298042008-06-16 Robert Millan <rmh@aybabtu.com>
29805
29806 * util/update-grub.in: Check for $EUID instead of $UID.
29807 Reported by Vincent Zweije.
29808
d31a32a1 298092008-06-16 Bean <bean123ch@gmail.com>
29810
fe987087 29811 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29812 (grub_ext2_read_block): Likewise.
29813 (grub_ext2_read_inode): Likewise.
29814 (grub_ext2_mount): Likewise.
29815 (grub_ext2_close): Likewise.
29816 (grub_ext3_get_journal): Removed.
29817
fe987087 29818 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29819 (grub_reiserfs_read_symlink): Likewise.
29820 (grub_reiserfs_mount): Likewise.
29821 (grub_reiserfs_open): Likewise.
29822 (grub_reiserfs_read): Likewise.
29823 (grub_reiserfs_close): Likewise.
29824 (grub_reiserfs_get_journal): Removed.
29825
29826 * fs/fshelp.c (grub_fshelp_read): Removed.
29827 (grub_fshelp_map_block): Likewise.
29828
29829 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29830 (grub_fshelp_journal): Likewise.
29831 (grub_fshelp_read): Likewise.
29832 (grub_fshelp_map_block): Likewise.
29833
3540a760 298342008-06-16 Pavel Roskin <proski@gnu.org>
29835
29836 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29837 floating point anymore.
29838 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29839
95614c84 298402008-06-15 Pavel Roskin <proski@gnu.org>
29841
29842 * commands/ls.c (grub_ls_list_files): Use integer calculations
29843 for human readable format, avoid floating point use.
29844 * kern/misc.c (grub_ftoa): Remove.
29845 (grub_vsprintf): Remove floating point support.
29846
50465dd6 298472008-06-15 Robert Millan <rmh@aybabtu.com>
29848
fe6b695a 29849 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29850 devices.
29851 Reported by Max Vozeler.
29852
a9207284 298532008-06-15 Robert Millan <rmh@aybabtu.com>
29854
29855 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29856 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29857 skipped later.
29858 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29859 the beginning of the prefix.
29860
29861 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29862 It is assumed that if we have a memdisk, grub-mkimage has set
29863 grub_prefix to include the "(memdisk)" drive in it.
29864
a7cbd45a 298652008-06-15 Robert Millan <rmh@aybabtu.com>
29866
29867 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29868 Initialize keyboard controller after registering the terminal, so that
29869 grub_printf() can be called from grub_keyboard_controller_init().
29870
21cf716a 298712008-06-15 Robert Millan <rmh@aybabtu.com>
29872
29873 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29874 extent-btree which is written as big endian on disk.
29875 Reported by Alain Greppin <al@chilibi.org>.
29876
23a64d8e 298772008-06-14 Robert Millan <rmh@aybabtu.com>
29878
29879 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29880 * util/i386/pc/grub-install.in (modules): Likewise.
29881
d687651c 298822008-06-13 Pavel Roskin <proski@gnu.org>
29883
29884 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29885
dfe9ddd4 298862008-06-13 Bean <bean123ch@gmail.com>
29887
29888 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29889
29890 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29891
29892 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29893 to indicate sparse block.
29894
16ae7781 298952008-06-12 Pavel Roskin <proski@gnu.org>
29896
e6d1a308 29897 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29898 number, grub_fshelp_read() does it for us.
29899
16ae7781 29900 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29901 linear disk read with journal translation.
29902 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29903 * include/grub/fshelp.h: Declare grub_fshelp_read().
29904
40fd3a2b 299052008-06-09 Pavel Roskin <proski@gnu.org>
29906
29907 * fs/minix.c (grub_minix_mount): Handle error reading
29908 superblock.
29909
f5679726 299102008-06-08 Robert Millan <rmh@aybabtu.com>
29911
29912 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29913 don't append the RAID prefix afterwards.
29914 Reported by Clint Adams.
29915
ce525529 299162008-06-08 Robert Millan <rmh@aybabtu.com>
29917
29918 Based on description from Pavel:
29919 * kern/disk.c (grub_disk_check_range): Rename to ...
29920 (grub_disk_adjust_range): ... this. Add a comment explaining the
29921 tasks performed by this function.
29922
ad4936a0 299232008-06-08 Robert Millan <rmh@aybabtu.com>
29924
29925 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29926 `num_serial' (for consistency with other variables).
29927 (struct grub_ntfs_data): Add `uuid' member.
29928 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29929 (grub_ntfs_uuid): New function.
29930 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29931
dc20b0f9 299322008-06-07 Pavel Roskin <proski@gnu.org>
29933
29934 * util/biosdisk.c (open_device): Revert last change to the
29935 function, it broke installation. The sector needs to be
29936 different dependent on which device is opened.
29937
c5e3cfba 299382008-06-06 Robert Millan <rmh@aybabtu.com>
29939
29940 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29941 rest of GRUB, and breakage doesn't happen if its value were modified.
29942
29943 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29944 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29945 a constant (same value).
29946 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29947 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29948
26a1f8c4 299492008-06-06 Robert Millan <rmh@aybabtu.com>
29950
29951 * util/biosdisk.c (open_device): Do not modify sector offset when
29952 accessing a partition. kern/disk.c already handles this for us.
29953
25d6b327 299542008-06-06 Robert Millan <rmh@aybabtu.com>
29955
29956 * util/grub-emu.c (grub_machine_init): Move code in this function from
29957 here ...
29958 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29959 segfault in case grub_printf() is called).
29960
29961 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29962 grub_probe. Update all users not to explicitly add it again.
29963 (grub_device): New variable; contains corresponding device for grubdir.
29964 (fs_module, partmap_module, devabstraction_module): Pass
29965 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29966 every time.
29967
9ece62fb 299682008-06-05 Robert Millan <rmh@aybabtu.com>
29969
29970 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29971 is found, print it (same layout as with labels).
29972
1ad36d37 299732008-06-04 Robert Millan <rmh@aybabtu.com>
29974
29975 * util/biosdisk.c (get_drive): Rename to ...
29976 (find_grub_drive): ... this. Update all users.
29977
29978 (get_os_disk): Rename to ...
29979 (convert_system_partition_to_system_disk): ... this. Update all users.
29980
29981 (find_drive): Rename to ...
29982 (find_system_device): ... this. Update all users.
29983
e6a30859 299842008-06-04 Robert Millan <rmh@aybabtu.com>
29985
29986 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29987 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29988 (make_device_map): Likewise.
29989
00c108a4 299902008-06-01 Robert Millan <rmh@aybabtu.com>
29991
29992 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29993 before dereferencing it.
29994
29995 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29996 union with fat12/fat16-specific ones. Add some new fields, including
29997 `num_serial' for both versions.
29998 (struct grub_fat_data): Add `uuid' member.
29999 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30000 names. Initialize `data->uuid' using `num_serial'.
30001 (grub_fat_uuid): New function.
30002 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30003
30004 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30005 (grub_reiserfs_uuid): New function.
30006 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30007 member.
30008
30009 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30010 (grub_xfs_uuid): New function.
30011 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30012
1385c5bb 300132008-06-01 Robert Millan <rmh@aybabtu.com>
30014
30015 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30016 code that is backward compatible with pre-uuid search command.
30017
c682dfd7 300182008-05-31 Robert Millan <rmh@aybabtu.com>
30019
30020 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30021 floppies after everything else, to ensure floppy drive isn't accessed
30022 unnecessarily (patch from Bean).
30023
b7db5d47 300242008-05-31 Robert Millan <rmh@aybabtu.com>
30025
30026 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30027 not print device names when we were asked to set a variable.
30028
6e037aa9 300292008-05-31 Robert Millan <rmh@aybabtu.com>
30030
30031 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30032 using "cursor-on" and "cursor-off" commands (understood at least by
30033 the Open Firmware flavour on OLPC).
30034
41305bc8 300352008-05-31 Michael Gorven <michael@gorven.za.net>
30036
30037 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30038 on and off sequences.
30039
69ba137e 300402008-05-31 Robert Millan <rmh@aybabtu.com>
30041
30042 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30043 * util/update-grub.in: Likewise.
30044
520ae21b 300452008-05-30 Pavel Roskin <proski@gnu.org>
30046
30047 * util/biosdisk.c (linux_find_partition): Simplify logic and
30048 make the code more universal. Keep special processing for
30049 devfs, but use a simple rule for all other devices. If the
30050 device ends with a number, append 'p' and the partition number.
30051 Otherwise, append only the partition number.
30052
5786569b 300532008-05-30 Robert Millan <rmh@aybabtu.com>
30054
30055 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30056 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30057 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30058 the `root' parameter to Linux.
30059
51500452 300602008-05-30 Robert Millan <rmh@aybabtu.com>
30061
30062 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30063 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30064 --fs_uuid with --fs-uuid.
30065 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30066 all filesystems support them).
30067
811d3878 300682008-05-30 Robert Millan <rmh@aybabtu.com>
30069
30070 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30071 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30072
cab63c95 300732008-05-30 Robert Millan <rmh@aybabtu.com>
30074
30075 * util/grub.d/00_header.in: Remove obsolete comment referencing
30076 convert_system_path_to_grub_path().
30077 * util/update-grub.in: Likewise.
30078 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30079 (convert_system_path_to_grub_path): Add a warning message explaining
30080 that this function is deprecated. Rely on is_path_readable_by_grub()
30081 for the readability checks.
30082 (font_path): Use is_path_readable_by_grub() for the readability
30083 check rather than convert_system_path_to_grub_path().
30084
972e2f7a 300852008-05-30 Robert Millan <rmh@aybabtu.com>
30086
30087 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30088 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30089 converting it first.
30090 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30091 grub.cfg for access to font file, and afterwards call it again to set
30092 the root device.
30093
62191274 300942008-05-30 Robert Millan <rmh@aybabtu.com>
30095
30096 * commands/search.c (options): Add --fs_uuid option.
30097 (search_fs_uuid): New function.
30098 (grub_cmd_search): Fix --set argument passing.
30099 Use search_fs_uuid() when requested via --fs_uuid.
30100 (grub_search_init): Update help message.
30101 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30102 and redeclare it as an array of 16-bit words.
30103 (grub_ext2_uuid): New function.
30104 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30105 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30106 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30107 (GRUB_DEVICE_BOOT_UUID): New variables.
30108 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30109 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30110 whenever possible.
30111 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30112 just assume `root' variable has the right value.
30113 * util/grub.d/10_linux.in: Likewise.
30114 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30115 via PRINT_FS_UUID.
30116 (main): Recognise `-t fs_uuid' argument.
30117
01b73ec8 301182008-05-30 Robert Millan <rmh@aybabtu.com>
30119
30120 * util/biosdisk.c (map): Redefine structure to hold information
30121 about GRUB drive name.
fe6b695a 30122 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30123 drive names.
30124 (call_hook): Remove.
30125 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30126 member. Assume drive has partitions.
30127 (grub_util_biosdisk_open): Access device names via `.device' struct
30128 member.
30129 (open_device): Likewise.
30130 (find_drive): Likewise.
30131 (read_device_map): Adjust map[] usage to match the new struct
30132 definition. Don't check for duplicates (still possible, but not cheap
30133 anymore).
30134 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30135 (make_device_name): Remove assumption of BIOS-like drive names.
30136
22f16596 301372008-05-30 Pavel Roskin <proski@gnu.org>
30138
30139 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30140 compiling execute.c doesn't need grub_script.tab.h anymore.
30141 (normal/command.c_DEPENDENCIES): Likewise.
30142 (normal/function.c_DEPENDENCIES): Likewise.
30143 * conf/i386-ieee1275.rmk: Likewise.
30144 * conf/i386-linuxbios.rmk: Likewise.
30145 * conf/i386-pc.rmk: Likewise.
30146 * conf/powerpc-ieee1275.rmk: Likewise.
30147 * conf/sparc64-ieee1275.rmk: Likewise.
30148
528ad8f2 301492008-05-29 Pavel Roskin <proski@gnu.org>
30150
d1dff95d 30151 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30152 when scanning metadata for volume group name.
30153
528ad8f2 30154 * include/grub/script.h: Don't include grub_script.tab.h. It's
30155 a generated file, which may only be included from the files with
30156 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30157 use union YYSTYPE, as the later allows forward declaration.
30158 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30159
47248e08 301602008-05-29 Robert Millan <rmh@aybabtu.com>
30161
30162 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30163 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30164 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30165 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30166 scan codes.
30167
ee632529 301682008-05-29 Robert Millan <rmh@aybabtu.com>
30169
30170 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30171 control key combinations.
30172
eee96e08 301732008-05-29 Robert Millan <rmh@aybabtu.com>
30174
30175 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30176 * util/ieee1275/grub-install.in: ... to here.
30177 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30178 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30179 (grub_install_SOURCES): Likewise.
30180
da9a6a94 301812008-05-29 Robert Millan <rmh@aybabtu.com>
30182
30183 * fs/affs.c: Update copyright year.
30184 * fs/ext2.c: Likewise.
30185 * fs/fshelp.c: Likewise.
30186 * fs/hfsplus.c: Likewise.
30187 * fs/ntfs.c: Likewise.
30188 * fs/xfs.c: Likewise.
30189 * include/grub/fshelp.h: Likewise.
30190 * util/grub-mkdevicemap.c: Likewise.
30191
12e65f3a 301922008-05-28 Robert Millan <rmh@aybabtu.com>
30193
30194 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30195 might need to be fatfs to support some firmware implementations
30196 (e.g. OFW or EFI).
30197
23023641 301982008-05-28 Robert Millan <rmh@aybabtu.com>
30199
30200 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30201 devices.
30202 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30203 (make_device_map): Likewise.
30204
887d2619 302052008-05-20 Bean <bean123ch@gmail.com>
30206
30207 * fs/fshelp.c (grub_fshelp_map_block): New function.
30208 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30209 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30210
30211 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30212 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30213 (grub_fshelp_journal): New structure.
30214 (grub_fshelp_map_block): New function prototype.
30215 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30216 (grub_fshelp_map_block): Likewise.
30217
30218 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30219 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30220 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30221 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30222 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30223 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30224 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30225 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30226 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30227 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30228 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30229 (grub_ext2_sblock): New members for journal support.
30230 (grub_ext3_journal_header): New structure.
30231 (grub_ext3_journal_revoke_header): Likewise.
30232 (grub_ext3_journal_block_tag): Likewise.
30233 (grub_ext3_journal_sblock): Likewise.
30234 (grub_fshelp_node): New members logfile and journal.
30235 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30236 grub_fshelp_map_block to get real block number.
30237 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30238 number.
30239 (grub_ext2_read_inode): Likewise.
30240 (grub_ext3_get_journal): New function.
30241 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30242 (grub_ext2_close): Release memory used by journal.
30243
30244 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30245 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30246 (grub_reiserfs_transaction_header): Renamed to
30247 grub_reiserfs_description_block, replace field data with real_blocks.
30248 (grub_reiserfs_commit_block): New structure.
30249 (grub_reiserfs_data): New member journal.
30250 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30251 number.
30252 (grub_reiserfs_read_symlink): Likewise.
30253 (grub_reiserfs_iterate_dir): Likewise.
30254 (grub_reiserfs_open): Likewise.
30255 (grub_reiserfs_read): Likewise.
30256 (grub_reiserfs_get_journal): New function.
30257 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30258 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30259 using grub_reiserfs_get_journal.
30260 (grub_reiserfs_close): Release memory used by journal.
30261
30262 * fs/affs.c (grub_affs_read_block): Change block type to
30263 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30264
30265 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30266
30267 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30268
30269 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30270
30271 * fs/udf.c (grub_udf_read_block): Change block type to
30272 grub_disk_addr_t. Use type cast to avoid warning.
30273
30274 * fs/xfs.c (grub_xfs_read_block): Likewise.
30275
b7c6bed5 302762008-05-16 Christian Franke <franke@computer.org>
30277
30278 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30279 to ensure that break with ESC will always work.
30280 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30281 Remove ESC from keyboard queue.
30282
eedf167f 302832008-05-16 Christian Franke <franke@computer.org>
30284
30285 * util/biosdisk.c: [__CYGWIN__] Add includes.
30286 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30287 (get_os_disk): Move variable declarations to OS specific
30288 parts to avoid warning.
30289 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30290 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30291 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30292 Cygwin.
30293 * util/getroot.c: [__CYGWIN__] Add includes.
30294 (strip_extra_slashes): Fix "/" case.
30295 [__CYGWIN__] (get_win32_path): New function.
30296 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30297 [__CYGWIN__] (find_root_device): Disable.
30298 [__CYGWIN__] (get_bootsec_serial): New function.
30299 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30300 [__linux__] (grub_guess_root_device): Add early returns to simplify
30301 structure.
30302 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30303 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30304 check for Linux only.
30305
a079699e 303062008-05-15 Bean <bean123ch@gmail.com>
30307
30308 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30309 keyboard hang problem in apple's intel mac.
30310
1cf4059a 303112008-05-09 Robert Millan <rmh@aybabtu.com>
30312
30313 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30314 devices.
30315 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30316 (make_device_map): Likewise.
30317 Reported by Aurelien Jarno <aurel32@debian.org>
30318
ed759390 303192008-05-07 Ian Campbell <ijc@hellion.org.uk>
30320
30321 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30322 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30323 (make_device_map): Output entries for xvd type disks.
30324
b56c4eaa 303252008-05-07 Robert Millan <rmh@aybabtu.com>
30326
30327 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30328 devices.
30329 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30330 (make_device_map): Likewise.
30331 Reported by Roland Dreier <rdreier@cisco.com>
30332
7f8866ed 303332008-05-07 Robert Millan <rmh@aybabtu.com>
30334
30335 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30336 grub_strstr() call. Correct a few mistakes in failure path handling.
30337
b0346e0f 303382008-05-06 Robert Millan <rmh@aybabtu.com>
30339
30340 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30341 Do not print a trailing slash (therefore, the root directory is an
30342 empty string).
30343 (convert_system_path_to_grub_path): Do not remove trailing slash
30344 from make_system_path_relative_to_its_root() output.
30345
30346 * util/i386/pc/grub-install.in: Add trailing slash to output from
30347 make_system_path_relative_to_its_root().
30348
6cf12cbd 303492008-05-06 Robert Millan <rmh@aybabtu.com>
30350
30351 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30352 ensures that output lines aren't intermangled with those sent to
30353 stderr (via grub_util_info()).
30354 * util/grub-probe.c (grub_refresh): Likewise.
30355 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30356
0fbb3117 303572008-05-05 Christian Franke <franke@computer.org>
30358
30359 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30360 Add Cygwin device names.
30361 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30362 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30363 (check_device): Return error instead of success on empty name.
30364 (make_device_map): Move label inside linux specific code to
30365 prevent compiler warning.
30366
8124cdb7 303672008-04-30 Robert Millan <rmh@aybabtu.com>
30368
30369 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30370 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30371 first boot option.
30372 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30373
094c01d0 303742008-04-29 Robert Millan <rmh@aybabtu.com>
30375
30376 * docs/grub.cfg: New file (example GRUB configuration).
30377
f4b1fc02 303782008-04-26 Robert Millan <rmh@aybabtu.com>
30379
329ce2a5 30380 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30381 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30382 and `disk/ieee1275/nand.c'.
f4b1fc02 30383
25f16ec1 303842008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30385
25f16ec1 30386 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30387 i386-linuxbios.
30388
30389 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30390 change the buffer size to 4096 for cdrom device.
30391
30392 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30393 and nand.mod.
30394 (_linux_mod_SOURCES): New variable.
30395 (_linux_mod_CFLAGS): Likewise.
30396 (_linux_mod_LDFLAGS): Likewise.
30397 (linux_mod_SOURCES): Likewise.
30398 (linux_mod_CFLAGS): Likewise.
30399 (linux_mod_LDFLAGS): Likewise.
30400 (nand_mod_SOURCES): Likewise.
30401 (nand_mod_CFLAGS): Likewise.
30402 (nand_mod_LDFLAGS): Likewise.
30403
30404 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30405 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30406 type property. (nand device in olpc don't have this property)
30407
30408 * include/grub/disk.h (grub_disk_dev_id): New macro
30409 GRUB_DISK_DEVICE_NAND_ID.
30410
30411 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30412 function prototype.
30413 (grub_rescue_cmd_initrd): Likewise.
30414
30415 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30416 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30417 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30418
25f16ec1 30419 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30420 GRUB_MACHINE_IEEE1275 is defined.
30421
30422 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30423 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30424
30425 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30426 on nested function heap_init.
30427 (grub_upper_mem): New variable for i386-ieee1275.
30428 (grub_get_extended_memory): New function for i386-ieee1275.
30429 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30430
30431 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30432 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30433 property.
f19dbdb7 30434
25f16ec1 30435 * loader/i386/ieee1275/linux.c: New file.
30436
30437 * loader/i386/ieee1275/linux_normal.c: New file.
30438
30439 * disk/ieee1275/nand.c: New file.
30440
e89d61e9 304412008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30442
30443 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30444 value.
30445 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30446
602566f6 304472008-04-18 Robert Millan <rmh@aybabtu.com>
30448
30449 Restructures early code path on ieee1275 to unify grub_main() as
30450 the first C function that is executed in every platform.
30451
30452 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30453 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30454 cmain().
30455 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30456 * kern/ieee1275/cmain.c (cmain): Rename to ...
30457 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30458 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30459 at the beginning.
30460
57490c2b 304612008-04-18 Robert Millan <rmh@aybabtu.com>
30462
30463 * util/update-grub.in: Fix syntax error when setting
30464 `GRUB_PRELOAD_MODULES'.
30465 Reported by Stephane Chazelas <stephane@artesyncp.com>
30466
1977517d 304672008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30468
30469 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30470 section into account, newer toolchains generate unique build ids
30471 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30472 we want build ids to be preserved
1977517d 30473 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30474 far from other sections don't cause the raw binary images grow
30475 size
30476
bfb1f1a2 304772008-04-15 Robert Millan <rmh@aybabtu.com>
30478
30479 * disk/lvm.c: Update copyright year.
30480 * kern/misc.c: Likewise.
30481
01979850 304822008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30483
30484 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30485 there is no memory left for physical volume name.
01979850 30486
0a1150e2 304872008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30488
30489 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30490 volume name mapping to support bigger than 9 character names properly.
30491
82ead3fe 304922008-04-13 Robert Millan <rmh@aybabtu.com>
30493
30494 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30495 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30496
e54a72f5 304972008-04-13 Christian Franke <franke@computer.org>
30498
30499 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30500 to create a floppy emulation boot CD when non emulation mode
30501 does not work.
30502 Enable Joliet CD filesystem extension.
30503
9fe86034 305042008-04-13 Robert Millan <rmh@aybabtu.com>
30505
30506 * kern/misc.c (grub_strncat): Fix off-by-one error.
30507 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30508
30509 * kern/env.c (grub_env_context_close): Clear current context, not
30510 previous one.
30511 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30512
30513 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30514
7ceeee39 305152008-04-13 Robert Millan <rmh@aybabtu.com>
30516
30517 Improve robustness when handling LVM.
30518
30519 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30520 (and leave `*p' unmodified).
7ceeee39 30521 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30522 through it.
30523 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30524 iterating through it.
30525 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30526 through it.
fe6b695a 30527 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30528 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30529 Don't assume `vg->pvs != NULL' when iterating through it.
30530
58cd3d85 305312008-04-13 Robert Millan <rmh@aybabtu.com>
30532
30533 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30534 * genmk.rb (partmap): New variable.
30535 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30536 (#{partmap}): New target rule.
30537 * genpartmaplist.sh: New file.
30538 * Makefile.in (pkglib_DATA): Add partmap.lst.
30539 (partmap.lst): New target rule.
30540 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30541 modules (including all partition maps), instead of preloading them.
30542
78b51059 305432007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30544
30545 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30546 `linux-boot-prober' (if installed) to detect other operating
30547 systems which are installed on the computer and add them to
30548 the boot menu.
30549 * conf/common.rmk: Build and install 30_os-prober.
30550
a91627b4 305512008-04-12 Robert Millan <rmh@aybabtu.com>
30552
30553 * kern/powerpc/ieee1275/init.c: Move from here ...
30554 * kern/ieee1275/init.c: ... to here. Update all users.
30555
30556 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30557 * kern/ieee1275/cmain.c: ... to here. Update all users.
30558
30559 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30560 * kern/ieee1275/openfw.c: ... to here. Update all users.
30561
30562 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30563 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30564
322562ea 305652008-04-10 Pavel Roskin <proski@gnu.org>
30566
30567 * configure.ac: Always use "_cv_" in cache variables for
30568 compatibility with Autoconf 2.62.
30569
a02a73c5 305702008-04-07 Robert Millan <rmh@aybabtu.com>
30571
30572 Revert grub/machine/init.h addition by Pavel (since it breaks on
30573 i386-ieee1275 and others):
30574 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30575 * util/powerpc/ieee1275/misc.c: Likewise.
30576
25c024b1 305772008-04-07 Robert Millan <rmh@aybabtu.com>
30578
30579 * util/grub-probe.c (probe): Improve error message.
30580
3cbd2f98 305812008-04-07 Robert Millan <rmh@aybabtu.com>
30582
30583 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30584 (this prevents the presence of a bogus entry from ruining the whole
30585 thing).
30586
87a297bf 305872008-04-06 Pavel Roskin <proski@gnu.org>
30588
36747a62 30589 * util/biosdisk.c: Include grub/util/biosdisk.h.
30590 * util/grub-fstest.c (execute_command): Make static.
30591 * util/grub-mkdevicemap.c (check_device): Likewise.
30592 * util/i386/pc/misc.c: Include grub/machine/init.h.
30593 * util/powerpc/ieee1275/misc.c: Likewise.
30594 * util/lvm.c: Include grub/util/lvm.h.
30595 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30596 grub/cache.h.
30597 * util/raid.c: Include grub/util/raid.h.
30598 (grub_util_getdiskname): Make static.
30599
87a297bf 30600 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30601 grub_hostfs_fini(), as they are called from grub_init_all() and
30602 grub_fini_all() respectively. This fixes an infinite loop in
30603 grub-fstest due to double registration of hostfs.
30604 Reported by Christian Franke <Christian.Franke@t-online.de>
30605
f6ce7629 306062008-04-05 Pavel Roskin <proski@gnu.org>
30607
30608 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30609 all 8 functions. Otherwise, probe function 0 only.
30610
070e49e4 306112008-04-04 Pavel Roskin <proski@gnu.org>
30612
8b088a4c 30613 * commands/lspci.c (grub_lspci_iter): Print the bus number
30614 correctly.
30615
4f657021 30616 * commands/lspci.c (grub_pci_classes): Fix typos.
30617 (grub_lspci_iter): Don't print func twice. Print vendor ID
30618 before device ID, as it's normally done.
30619
070e49e4 30620 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30621 Fix signedness warnings.
30622 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30623 Likewise.
30624 * util/ieee1275/get_disk_name.c: Include config.h so that
30625 _GNU_SOURCE is defined and getline() is declared. Mark an
30626 unused argument as such. Fix a signedness warning.
30627
ba7328dc 306282008-04-02 Pavel Roskin <proski@gnu.org>
30629
26887f22 30630 * genkernsyms.sh.in: Use more robust assignments for CC and
30631 srcdir. Quote srcdir.
30632 * gensymlist.sh.in: Likewise. Assert at the compile time that
30633 the symbol table is not empty.
30634
ba7328dc 30635 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30636 * fs/cpio.c (grub_cpio_read): Likewise.
30637
0f582c6b 306382008-04-01 Pavel Roskin <proski@gnu.org>
30639
4b6e1995 30640 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30641 * disk/host.c (grub_host_open): Likewise.
30642 * disk/loopback.c (grub_loopback_open): Likewise.
30643 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30644 disk->id as in disk/host.c, not a multi-character constant.
30645
828a2768 30646 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30647 later is obsolete, potentially dangerous and sets a bad example.
30648 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30649 * util/misc.c (grub_util_get_image_size): Likewise.
30650
2bb4fb47 30651 * disk/loopback.c (options): Improve help for "--partitions".
30652
0f582c6b 30653 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30654 options to align them with the short options, e.g. "echo -e".
30655
a33224e0 306562008-03-31 Bean <bean123ch@gmail.com>
30657
30658 * video/reader/png.c (grub_png_data): New member is_16bit and
30659 image_data.
30660 (grub_png_decode_image_header): Detect 16 bit png image.
30661 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30662 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30663 (grub_video_reader_png): Release memory occupied by image_data.
30664
30665 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30666 4096 bytes.
30667 (grub_nfs_mount): Skip the test for sector per cluster.
30668
30669 * include/grub/ntfs.h (MAX_SPC): Removed.
30670
86cb4f54 306712008-03-31 Bean <bean123ch@gmail.com>
30672
30673 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30674 (grub_probe_SOURCES): Add fs/afs.c.
30675 (grub_fstest_SOURCES): Likewise.
30676 (afs_mod_SOURCES): New variable.
30677 (afs_mod_CFLAGS): Likewise.
30678 (afs_mod_LDFLAGS): Likewise.
30679
30680 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30681 (grub_emu_SOURCES): Likewise.
30682
30683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30684
30685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30686
30687 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30688
30689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30690
30691 * fs/afs.c: New file.
30692
17c74c21 306932008-03-30 Pavel Roskin <proski@gnu.org>
30694
4cb68e89 30695 * disk/host.c: Include grub/misc.h to fix a warning.
30696 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30697 warnings about implicit declarations.
30698
8790bb04 30699 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30700 variable.
30701 * include/grub/i386/loader.h: Change declaration of
30702 grub_linux_boot() to match what grub_loader_set() expects.
30703 * util/getroot.c (grub_guess_root_device): Return const char* to
30704 fix a warning.
30705 * util/grub-probe.c (probe): Fix a warning about uninitialized
30706 abstraction_name variable.
30707 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30708 second argument as unused to fix a warning.
30709
9a3f3296 30710 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30711 missing grub_error() call.
30712
0ecef90d 30713 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30714 2.60 and newer uses it to define datadir.
30715
0bf6d401 30716 * commands/sleep.c: Fix warning about implicit declaration.
30717 * disk/memdisk.c: Likewise.
30718 * loader/aout.c: Likewise.
30719 * loader/i386/bsd_normal.c: Likewise.
30720 * util/grub-probe.c: Likewise.
30721
7cdacf97 30722 * commands/i386/cpuid.c (has_longmode): Make static.
30723 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30724 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30725
17c74c21 30726 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30727 GDT. This is more robust, as %ds can change.
30728 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30729 calling real_to_prot().
30730 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30731
80a3e68b 307322008-03-28 Pavel Roskin <proski@gnu.org>
30733
30734 * kern/i386/pc/startup.S: Assert that uncompressed functions
30735 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30736 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30737 code, as they push parts of the code (error handlers) beyond
30738 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30739 code as correctness and size.
30740
77bcd272 307412008-03-28 Pavel Roskin <proski@gnu.org>
30742
30743 * kern/i386/pc/startup.S
30744 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30745 data block address to the real mode, keep offset minimal. This
30746 works around a bug in AWARD BIOS on old Athlon systems, which
30747 makes CD detection hang.
30748
c5dfd43b 307492008-03-26 Pavel Roskin <proski@gnu.org>
30750
30751 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30752 const.
30753 * include/grub/normal.h: Add grub_parse_color_name_pair()
30754 declaration.
30755
bf962df2 307562008-03-24 Bean <bean123ch@gmail.com>
30757
30758 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30759 (cd_count): Removed.
30760 (cd_drive): New variable.
30761 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30762 (grub_biosdisk_call_hook): Likewise.
30763 (grub_biosdisk_iterate): Change cdrom detection method.
30764 (grub_biosdisk_open): Replace cd_start with cd_drive.
30765 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30766 detect cdrom device.
30767
30768 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30769 Removed.
30770 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30771 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30772 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30773 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30774 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30775 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30776 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30777 (grub_biosdisk_cdrp): New structure.
30778 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30779
30780 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30781
30782 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30783 device.
30784
30785 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30786 New function.
30787
68e7fc7a 307882008-03-20 Robert Millan <rmh@aybabtu.com>
30789
30790 Remove 2 TiB limit in ata.mod.
30791 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30792 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30793 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30794 grub_uint64_t instead of grub_uint32_t.
30795
38ad2cf5 307962008-03-05 Bean <bean123ch@gmail.com>
30797
30798 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30799 (grub_multiboot): Set boot device.
30800
30801 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30802
2b89344e 308032008-03-02 Bean <bean123ch@gmail.com>
30804
30805 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30806 symlink_buffer.
30807
87a95d1f 308082008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30809
30810 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30811 texinfo.tex.
30812
30813 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30814 modified.
30815
30816 * docs/fdl.texi: New file.
f19dbdb7 30817
87a95d1f 30818 * docs/mdate-sh: New file. Copied from gnulib.
30819 * docs/texinfo.tex: Likewise.
30820
30821 * config.guess: Updated from gnulib.
30822 * install-sh: Likewise.
30823
7dc15d8e 308242008-02-28 Robert Millan <rmh@aybabtu.com>
30825
30826 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30827 (aout_mod_SOURCES): New variable.
30828 (aout_mod_CFLAGS): Likewise.
30829 (aout_mod_LDFLAGS): Likewise.
30830
30831 * conf/i386-ieee1275.rmk: Likewise.
30832
b00ab696 308332008-02-28 Robert Millan <rmh@aybabtu.com>
30834
30835 * util/update-grub.in: Reorganise terminal validity check. Accept
30836 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30837 Based on suggestion by Franklin PIAT.
30838
79ca2d78 308392008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30840
30841 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30842 function.
30843 * util/getroot.c (grub_util_check_block_device): New function that
30844 returns the given argument if it is a block device and returns NULL else.
30845 * util/grub-probe.c (argument_is_device): New variable.
30846 (probe): Promote device_name from a variable to an argument. Receive
30847 device_name from grub_util_check_block_device() if path is NULL and from
30848 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30849 (options): Introduce new parameter '-d, --device'.
79ca2d78 30850 (main): Add description of the new parameter to the help screen.
30851 Rename path variable to argument. Set argument_is_device if the '-d'
30852 option is given. Pass argument to probe() depending on
30853 argument_is_device.
30854
0d16e571 308552008-02-24 Bean <bean123ch@gmail.com>
30856
30857 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30858 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30859 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30860 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30861 (GRUB_ISO9660_VOLDESC_END): Likewise.
30862 (grub_iso9660_primary_voldesc): New member escape.
30863 (grub_iso9660_data): New member joliet.
30864 (grub_iso9660_convert_string): New function.
30865 (grub_iso9660_mount): Detect joliet extension.
30866 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30867 (grub_iso9660_iso9660_label): Likewise.
30868
30869 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30870 (grub_setup_SOURCES): Add fs/udf.c.
30871 (grub_fstest_SOURCES): Likewise.
30872 (udf_mod_SOURCES): New variable.
30873 (udf_mod_CFLAGS): Likewise.
30874 (udf_mod_LDFLAGS): Likewise.
30875
30876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30877 (grub_emu_SOURCES): Likewise.
30878
30879 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30880
30881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30882
30883 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30884
30885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30886
30887 * fs/udf.c: New file.
30888
8a594a17 308892008-02-24 Robert Millan <rmh@aybabtu.com>
30890
30891 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30892 (normal/lexer.c_DEPENDENCIES): New variables.
30893 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30894 (normal/lexer.c_DEPENDENCIES): Likewise.
30895 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30896 (normal/lexer.c_DEPENDENCIES): Likewise.
30897 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30898 (normal/lexer.c_DEPENDENCIES): Likewise.
30899 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30900 (normal/lexer.c_DEPENDENCIES): Likewise.
30901 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30902 (normal/lexer.c_DEPENDENCIES): Likewise.
30903
2dc33c03 309042008-02-23 Robert Millan <rmh@aybabtu.com>
30905
30906 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30907 since they were intended to be in hex. This didn't break previously
30908 because of a bug in gpt_partition_map_iterate() (see below).
30909
30910 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30911 when checking the validity of GPT header.
30912 Remove `partno', since it always provides the same information as `i'.
30913
f6f4cfb0 309142008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30915
30916 * include/grub/efi/time.h: Fix a wrong comment.
30917
79ff665f 309182008-02-19 Pavel Roskin <proski@gnu.org>
30919
30920 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30921 message.
30922
d38e24c2 309232008-02-19 Bean <bean123ch@gmail.com>
30924
30925 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30926 (aout_mod_SOURCES): New variable.
30927 (aout_mod_CFLAGS): Likewise.
30928 (aout_mod_LDFLAGS): Likewise.
30929 (_bsd_mod_SOURCES): New variable.
30930 (_bsd_mod_CFLAGS): Likewise.
30931 (_bsd_mod_LDFLAGS): Likewise.
30932 (bsd_mod_SOURCES): New variable.
30933 (bsd_mod_CFLAGS): Likewise.
30934 (bsd_mod_LDFLAGS): Likewise.
30935
30936 * include/grub/aout.h: New file.
30937
30938 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30939
30940 * include/grub/i386/bsd.h: New file.
30941
30942 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30943 to make it public.
30944
30945 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30946 function is called, so that it's possible to change it inside the hook.
30947 (grub_elf64_load): Likewise.
30948 (grub_elf_file): Don't close the file if elf header is not found.
30949 (grub_elf_close): Close the file if grub_elf_file fails (The new
30950 grub_elf_file won't close it).
30951 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30952 (grub_elf64_size): Likewise.
30953
30954 * kern/i386/loader.S (grub_unix_real_boot): New function.
30955
30956 * loader/aout.c: New file.
30957
30958 * loader/i386/bsd.c: New file.
30959
30960 * loader/i386/bsd_normal.c: New file.
30961
30962 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30963
30964 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30965 can test other formats.
d38e24c2 30966
b93bdb0f 309672008-02-19 Robert Millan <rmh@aybabtu.com>
30968
30969 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30970 (grub_gpt_partition_type_empty): Redefine with macro from
30971 `<grub/gpt_partition.h>'.
30972 (gpt_partition_map_iterate): Adjust partition type comparison.
30973
30974 Export `entry' as partmap-specific `part.data' struct.
30975 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30976
30977 * include/grub/gpt_partition.h (grub_gpt_header)
30978 (grub_gpt_partentry): ... to here (new file).
30979
30980 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30981
30982 (grub_gpt_partition_type_bios_boot): New const variable, defined
30983 with macro from `<grub/gpt_partition.h>'.
30984
30985 (setup): Replace `first_start' with `embed_region', which keeps
30986 track of the embed region (and is partmap-agnostic).
30987
30988 Replace find_first_partition_start() with find_usable_region(),
30989 which finds a usable region for embedding using partmap-specific
30990 knowledge (supports PC/MSDOS and GPT).
30991
30992 Fix all assumptions that the embed region start at sector 1, using
30993 `embed_region.start' from now on. Similarly, use `embed_region.end'
30994 rather than `first_start' to calculate available size.
30995
30996 In grub_util_info() message, replace "into after the MBR" with an
30997 indication of the specific sector our embed region starts at.
30998
66cb40f6 309992008-02-19 Robert Millan <rmh@aybabtu.com>
31000
31001 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31002 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31003 `commands/reboot.c'.
31004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31005 (halt_mod_SOURCES): Likewise.
31006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31007 (halt_mod_SOURCES): Likewise.
31008
b7202015 310092008-02-17 Christian Franke <franke@computer.org>
31010
31011 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31012
32b0fc49 310132008-02-17 Robert Millan <rmh@aybabtu.com>
31014
31015 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31016 set `first_start' to 0 for non-PC/MSDOS partition maps.
31017
aca63502 310182008-02-16 Robert Millan <rmh@aybabtu.com>
31019
31020 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31021 do not assume partition map is PC/MSDOS before performing checks that
31022 are specific to that layout.
31023
0de8be86 310242008-02-13 Robert Millan <rmh@aybabtu.com>
31025
31026 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31027 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31028 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31029
c3db8364 310302008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31031
31032 * configure.ac: Only a cosmetic change on the handling of
31033 -fno-stack-protector.
31034
f714229e 310352008-02-12 Alexandre Boeglin <alex@boeglin.org>
31036
c3db8364 31037 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31038 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31039 reboot.c.
f714229e 31040 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31041 (halt_mod_SOURCES): New variable.
31042 (halt_mod_CFLAGS): Likewise.
31043 (halt_mod_LDFLAGS): Likewise.
31044 (reboot_mod_SOURCES): Likewise.
31045 (reboot_mod_CFLAGS): Likewise.
31046 (reboot_mod_LDFLAGS): Likewise.
31047
c3db8364 31048 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31049 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31050 reboot.c.
f714229e 31051 (halt_mod_SOURCES): Likewise.
31052 (reboot_mod_SOURCES): Likewise.
31053
c3db8364 31054 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31055 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31056 (reboot_mod_SOURCES): Likewise.
31057
31058 * commands/i386/pc/reboot.c: merge this file ...
31059
31060 * commands/ieee1275/reboot.c: ... and this file ...
31061
31062 * commands/reboot.c: ... to this file.
c3db8364 31063 Add some precompiler directive to include the correct header for
31064 each machine.
f714229e 31065
31066 * commands/ieee1275/halt.c: move this file ...
31067
31068 * commands/halt.c: ... to here.
c3db8364 31069 Add some precompiler directive to include the correct header for
31070 each machine.
f714229e 31071
31072 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31073 (grub_halt): Likewise.
31074
31075 * kern/efi/efi.c (grub_reboot): New function.
31076 (grub_halt): Likewise.
31077
c74493e0 310782008-02-12 Robert Millan <rmh@aybabtu.com>
31079
31080 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31081 /dev (like it is done for /dev/mapper). This doesn't provide support
31082 for EVMS, but at least it is now easy to identify the problem when it
31083 arises.
31084
d0db4b04 310852008-02-11 Robert Millan <rmh@aybabtu.com>
31086
31087 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31088 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31089 comparing it with -1, not 0.
31090
bf748642 310912008-02-10 Robert Millan <rmh@aybabtu.com>
31092
31093 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31094 `disk/lvm.c'.
31095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31096 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31097
31098 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31099 `disk/lvm.c' to the end of the list.
31100 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31102
b5db202a 311032008-02-10 Robert Millan <rmh@aybabtu.com>
31104
31105 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31106 grub_print_error() instead. This will let user know why we're entering
31107 rescue mode.
31108 Based on suggestions from Sam Morris.
31109
83abee31 311102008-02-10 Alexandre Boeglin <alex@boeglin.org>
31111
31112 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31113 on remaining N args, instead of "--" arg N times.
31114
78d5a08b 311152008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31116
31117 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31118 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31119 pattern for unknown glyphs.
31120
68807e5f 311212008-02-09 Robert Millan <rmh@aybabtu.com>
31122
31123 * configure.ac: Probe for `help2man'.
31124 * Makefile.in (builddir): New variable.
31125 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31126 or otherwise add a few flags/options to it.
31127 (install-local): For every executable utility or script that is
31128 installed, invoke $(HELP2MAN) to install a manpage based on --help
31129 output.
31130
31131 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31132 that it doesn't prevent --help from working in build tree.
31133
31134 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31135 with `bug-grub@gnu.org'.
31136 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31137 * util/update-grub.in (usage): New function.
31138 Implement proper argument check, with support for --help and --version
31139 (as well as existing -y).
31140
311412008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31142
31143 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31144 avoid overwriting previous output.
31145 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31146
c1962162 311472008-02-09 Robert Millan <rmh@aybabtu.com>
31148
31149 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31150 drawing the menu.
31151
3dac2e3f 311522008-02-09 Robert Millan <rmh@aybabtu.com>
31153
31154 * commands/sleep.c: New file.
31155 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31156 (sleep_mod_SOURCES): New variable.
31157 (sleep_mod_CFLAGS): Likewise.
31158 (sleep_mod_LDFLAGS): Likewise.
31159
7a634e08 311602008-02-09 Robert Millan <rmh@aybabtu.com>
31161
31162 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31163 situations in which we can deduce the RAID size and the superblock
31164 doesn't match it.
31165
b92f0c18 311662008-02-09 Robert Millan <rmh@aybabtu.com>
31167
31168 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31169 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31170 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31171
31172 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31173 and return a grub_diskmemberlist_t composed of physical array members.
31174 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31175
31176 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31177 prototype.
31178 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31179 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31180 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31181
31182 * util/grub-probe.c (probe): Move partmap probing code from here ...
31183 (probe_partmap): ... to here.
31184 (probe): Use probe_partmap() once for the disk we're probing, and
31185 additionally, when such disk contains a memberlist() struct member,
31186 once for each disk that is contained in the structure returned by
31187 memberlist().
31188
91a4bf68 311892008-02-09 Robert Millan <rmh@aybabtu.com>
31190
31191 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31192 environment variable to 'all' in order to obtain debug output from
31193 non-util/ code.
31194 * util/i386/pc/grub-setup.c (main): Likewise.
31195
a96f9caa 311962008-02-08 Robert Millan <rmh@aybabtu.com>
31197
31198 * disk/raid.c (grub_raid_scan_device): Check for
31199 `array->device[sb.this_disk.number]' rather than for
31200 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31201 guaranteed to be accessible.
a96f9caa 31202
b37a9222 312032008-02-08 Robert Millan <rmh@aybabtu.com>
31204
31205 * disk/raid.c: Update copyright.
31206 * fs/cpio.c: Likewise.
31207 * include/grub/raid.h: Likewise.
31208 * loader/i386/pc/multiboot.c: Likewise.
31209 * util/hostfs.c: Likewise.
31210
5626aee1 312112008-02-08 Robert Millan <rmh@aybabtu.com>
31212
31213 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31214 to a grub_disk_t array.
31215 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31216 `device[x]'.
31217 (grub_raid_scan_device): Replace `device[x].name' accesses with
31218 `device[x]->name'. Simplify initialization of `array->device[x]'.
31219
554f0187 312202008-02-08 Robert Millan <rmh@aybabtu.com>
31221
31222 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31223 grub_dprintf() calls.
31224 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31225 error message.
31226
1ec8425d 312272008-02-07 Christian Franke <franke@computer.org>
31228
31229 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31230 instead of fseek and ftell to support large files.
31231 (grub_hostfs_read): Likewise.
31232
f2156fda 312332008-02-07 Robert Millan <rmh@aybabtu.com>
31234
31235 Patch from Jeroen Dekkers.
31236 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31237 failure, since successfully reading all array members might not be
f2156fda 31238 required.
31239
9216e0e7 312402008-02-06 Robert Millan <rmh@aybabtu.com>
31241
31242 * util/grub-probe.c (probe): Simplify partmap probing (with the
31243 assumption that the first word up to the underscore equals to
31244 the module name).
31245
b0dfd29a 312462008-02-06 Christian Franke <franke@computer.org>
31247
31248 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31249 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31250 last block of a cpio or tar stream.
31251 Check for "TRAILER!!!" instead of any empty data
31252 block to detect last block of a cpio stream.
31253 (grub_cpio_dir): Fix constness of variable np.
31254 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31255 cpio or tar trailer is detected. This fixes a crash
31256 on open of a non existing file.
31257
c32865bf 312582008-02-05 Bean <bean123ch@gmail.com>
31259
31260 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31261 address of entry.
31262 (grub_multiboot_load_elf64): Likewise.
31263 (grub_multiboot): Initialize mbi structure.
31264
31265 * util/grub-fstest.c: Don't include unused header file script.h.
31266
fe6b695a 31267 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31268 of file.
31269 (grub_fstest_SOURCES): Likewise.
31270
409480b7 312712008-02-05 Robert Millan <rmh@aybabtu.com>
31272
31273 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31274 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31275 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31276 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31277
31278 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31279 (translation_table): Replace hardcoded values with macros
31280 provided by `<grub/term.h>'.
31281
31282 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31283 (keyboard_map): Correct/add a few values, with macros provided
31284 by `<grub/term.h>'.
31285 (keyboard_map_shift): Zero values that don't differ from their
31286 `keyboard_map' equivalents.
31287 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31288 Discard the second scan code that is always sent by Caps lock.
31289 Only use `keyboard_map_shift' when it provides a non-zero value,
31290 otherwise fallback to `keyboard_map'.
31291
99fadbaa 312922008-02-04 Bean <bean123ch@gmail.com>
31293
31294 * Makefile.in (enable_grub_fstest): New variable.
31295
31296 * conf/common.rmk (grub_fstest_init.lst): New rule.
31297 (grub_fstest_init.h): Likewise.
31298 (grub_fstest_init.c): Likewise.
31299 (util/grub-fstest.c_DEPENDENCIES): New variable.
31300 (grub_fstest_SOURCES): Likewise.
31301
31302 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31303
31304 * util/grub-fstest.c: New file.
31305
bf567c50 313062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31307
31308 Make grub-setup handle a separate root device.
f19dbdb7 31309
bf567c50 31310 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31311 so that the root device can be compared with the destination
31312 device.
31313 When embedding the core image, if the root and destination devices
31314 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31315 0xFF.
31316 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31317
9be6b98b 313182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31319
31320 Add support for having a grub directory in a different drive. This
31321 is still only the data handling part.
f19dbdb7 31322
9be6b98b 31323 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31324 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31325 (grub_root_drive): New variable.
31326
31327 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31328 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31329 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31330 as it was.
31331
31332 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31333
31334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31335 macro.
31336 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31337
31338 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31339 is bogus, because PXE booting does not specify any drive
31340 correctly.
31341
31342 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31343 am not sure if this is really correct.
31344
31345 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31346 is always identical to the boot drive when booting from a CD.
31347
31348 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31349 longer.
31350 (root_drive): New variable.
31351 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31352 (setup_sectors): Push %dx right after popping it, because %dh will
31353 be modified later.
31354 (copy_buffer): Restore %dx.
31355
e0ca0677 313562008-02-03 Robert Millan <rmh@aybabtu.com>
31357
31358 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31359 use `cdboot.img' for cdrom images.
31360
3b3f6629 313612008-02-03 Robert Millan <rmh@aybabtu.com>
31362
31363 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31364 only setup gfxterm when `font' command has succeeded.
31365
d42b3672 313662008-02-03 Robert Millan <rmh@aybabtu.com>
31367
31368 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31369 (grub_rescue_cmd_multiboot_loader)
31370 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31371
fa370ea6 313722008-02-03 Pavel Roskin <proski@gnu.org>
31373
e0c5dacb 31374 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31375 %edx and %esi from stack only after grub_gate_a20() is called.
31376 grub_gate_a20() clobbers %edx.
31377
f2a76e1d 313782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31379
31380 * configure.ac (AC_INIT): Bumped to 1.96.
31381
31382 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31383 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31384 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31385 video/readers/png.c.
31386
90fd32d1 313872008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31388
31389 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31390 (cdboot_img_SOURCES): New variable.
31391 (cdboot_img_ASFLAGS): New variable.
31392 (cdboot_img_LDFLAGS): New variable.
31393
31394 * boot/i386/pc/cdboot.S: New file.
31395
31396 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31397 (cd_count): Likewise.
31398 (grub_biosdisk_get_drive): Add support for cd device.
31399 (grub_biosdisk_call_hook): Likewise.
31400 (grub_biosdisk_iterate): Likewise.
31401 (grub_biosdisk_open): Likewise.
31402 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31403 (grub_biosdisk_rw): Support reading from cd device.
31404 (GRUB_MOD_INIT): Iterate cd devices.
31405
31406 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31407 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31408 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31409
31410 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31411
4020aa53 314122008-02-02 Robert Millan <rmh@aybabtu.com>
31413
31414 * commands/read.c: New file.
31415 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31416 (read_mod_SOURCES): New variable.
31417 (read_mod_CFLAGS): Likewise.
31418 (read_mod_LDFLAGS): Likewise.
31419
e03a1132 314202008-02-02 Robert Millan <rmh@aybabtu.com>
31421
31422 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31423 determining whether menu has to be displayed.
31424
58c69220 314252008-02-02 Marco Gerards <marco@gnu.org>
31426
31427 * bus/pci.c: New file.
31428
31429 * include/grub/pci.h: Likewise.
31430
31431 * include/grub/i386/pc/pci.h: Likewise.
31432
31433 * commands/lspci.c: Likewise.
31434
31435 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31436 `lspci.mod'.
31437 (pci_mod_SOURCES): New variable.
31438 (pci_mod_CFLAGS): Likewise.
31439 (pci_mod_LDFLAGS): Likewise.
31440 (lspci_mod_SOURCES): Likewise.
31441 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31442 (lspci_mod_LDFLAGS): Likewise.
58c69220 31443
c004e1b4 314442008-02-02 Bean <bean123ch@gmail.com>
31445
31446 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31447 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31448
31449 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31450 (grub_xfs_btree_node): New structure.
31451 (grub_xfs_btree_root): New structure.
31452 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31453 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31454 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31455 (GRUB_XFS_EXTENT_SIZE): Likewise.
31456 (grub_xfs_read_block): Support btree format type.
31457 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31458 Use directory block as basic unit.
31459
31460 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31461
31462 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31463 __attribute__ ((__regparm__ (1))).
31464
f95562bf 314652008-02-01 Robert Millan <rmh@aybabtu.com>
31466
31467 Correct a mistake in previous commit.
31468
31469 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31470 top.
31471 (normal/command.c_DEPENDENCIES): New variable.
31472
7d31f41f 314732008-02-01 Robert Millan <rmh@aybabtu.com>
31474
31475 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31476 top.
31477 (normal/command.c_DEPENDENCIES): New variable.
31478 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31479 * conf/i386-ieee1275.rmk: Likewise.
31480 * conf/i386-linuxbios.rmk: Likewise.
31481 * conf/i386-pc.rmk: Likewise.
31482 * conf/sparc64-ieee1275.rmk: Likewise.
31483 * conf/powerpc-ieee1275.rmk: Likewise.
31484 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31485
31486 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31487
60b6be74 314882008-02-01 Robert Millan <rmh@aybabtu.com>
31489
31490 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31491 call at beginning of function.
31492
078522ab 314932008-01-31 Pavel Roskin <proski@gnu.org>
31494
31495 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31496 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31497 (grub_mkrescue_SOURCES): Likewise.
078522ab 31498 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31499
ccaa8a5f 315002008-01-30 Robert Millan <rmh@aybabtu.com>
31501
31502 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31503 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31504 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31505 (grub_probe_SOURCES): ... to here.
31506
31507 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31508 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31509 * conf/i386-ieee1275.rmk: Likewise.
31510 * conf/i386-linuxbios.rmk: Likewise.
31511 * conf/powerpc-ieee1275.rmk: Likewise.
31512
ae5a9cd7 315132008-01-30 Tristan Gingold <gingold@free.fr>
31514
31515 * kern/rescue.c: Silently accept empty lines.
31516
70bc2ef2 315172008-01-29 Bean <bean123ch@gmail.com>
31518
31519 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31520 (real_code_2): Code cleanup and change comment style.
31521 (move_memory): Avoid using 32-bit address mode.
31522
6a4d50ea 315232008-01-29 Bean <bean123ch@gmail.com>
31524
31525 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31526 (png_mod_SOURCES): New variable.
31527 (png_mod_CFLAGS): Likewise.
31528 (png_mod_LDFLAGS): Likewise.
31529
31530 * video/readers/png.c: New file.
31531
11cc30ac 315322008-01-28 Robert Millan <rmh@aybabtu.com>
31533
31534 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31535 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31536 `ifndef GRUB_MOD_GAP' hack.
31537 * util/elf/grub-mkimage.c (add_segments): Likewise.
31538
3abc589f 315392008-01-27 Robert Millan <rmh@aybabtu.com>
31540
31541 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31542 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31543 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31544
e1907778 315452008-01-27 Robert Millan <rmh@aybabtu.com>
31546
31547 Get grub-emu to build again (including parallel builds).
31548
31549 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31550 Split into ...
31551 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31552 (normal/execute.c_DEPENDENCIES): ... this, ...
31553 (grub-emu_DEPENDENCIES): ... and this.
31554
31555 * conf/i386-efi.rmk: Likewise.
31556 * conf/i386-linuxbios.rmk: Likewise.
31557 * conf/i386-ieee1275.rmk: Likewise.
31558 * conf/powerpc-ieee1275.rmk: Likewise.
31559 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31560
2216b101 315612008-01-27 Robert Millan <rmh@aybabtu.com>
31562
31563 * NEWS: Add a few items.
31564
f75172d9 315652008-01-27 Robert Millan <rmh@aybabtu.com>
31566
31567 Fix parallel builds with grub-emu. Based on earlier commit for
31568 grub-probe and grub-setup.
31569
31570 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31571 (util/grub-emu.c_DEPENDENCIES): ... this.
31572 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31573 (util/grub-emu.c_DEPENDENCIES): ... this.
31574 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31575 (util/grub-emu.c_DEPENDENCIES): ... this.
31576 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31577 (util/grub-emu.c_DEPENDENCIES): ... this.
31578 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31579 (util/grub-emu.c_DEPENDENCIES): ... this.
31580
3f51de77 315812008-01-27 Pavel Roskin <proski@gnu.org>
31582
31583 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31584 to create a gap between _end and the modules added to the image
31585 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31586 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31587 * util/elf/grub-mkimage.c (add_segments): Likewise.
31588
2033f53e 315892008-01-26 Pavel Roskin <proski@gnu.org>
31590
31591 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31592 just return an error.
31593
22da1f6f 315942008-01-26 Bean <bean123ch@gmail.com>
31595
31596 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31597 (grub_reiserfs_get_item): Save offset of the next item.
31598 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31599
2a9525e6 316002008-01-25 Robert Millan <rmh@aybabtu.com>
31601
31602 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31603 make all filesystem sources appear together (possibly fixing omissions
31604 while at it).
31605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31606 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31607 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31609
31610 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31611 add `kern/file.c'.
31612 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31613 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31614 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31615 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31616
31617 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31618 (probe): Add a sanity check to make sure of our ability to read
31619 requested files when probing for filesystem type.
31620
31621 * genmk.rb: Update copyright year (2007).
31622
31623 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31624 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31625 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31626 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31627 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31628 : Remove function prototypes.
31629
b95f71b5 316302008-01-25 Robert Millan <rmh@aybabtu.com>
31631
31632 Revert my previous commits (based on wrong assumption of how grub_errno
31633 works).
31634
fe6b695a 31635 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31636 * kern/file.c (grub_file_open): Likewise.
31637
d08bbb49 316382008-01-24 Pavel Roskin <proski@gnu.org>
31639
31640 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31641 that hang if GRUB tries to setup colors.
31642 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31643 colors for firmwares that don't support it.
31644 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31645 Recognize Open Hack'Ware, set flags to work around its
31646 limitations.
31647
605e36ed 316482008-01-24 Robert Millan <rmh@aybabtu.com>
31649
31650 * kern/file.c (grub_file_open): Do not account previous failures of
31651 unrelated functions when grub_errno is checked for.
31652 Reported by Oleg Strikov.
31653
bac332a1 316542008-01-24 Bean <bean123ch@gmail.com>
31655
31656 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31657 (grub_ufs_sblock): New member volume name.
31658 (grub_ufs_find_file): Fix string copy bug.
31659 (grub_ufs_label): Implement this function properly.
31660
31661 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31662 (grub_hfs_iterate_records): Use the correct file number for extents
31663 and catalog file. Fix problem in next index calculation.
31664 (grub_hfs_find_node): Replace recursive function call with loop.
31665 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31666
15c80c09 316672008-01-23 Robert Millan <rmh@aybabtu.com>
31668
31669 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31670 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31671 (grub_multiboot2_real_boot): New function prototype.
31672
31673 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31674 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31675
31676 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31677 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31678
305338fd 316792008-01-23 Robert Millan <rmh@aybabtu.com>
31680
31681 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31682 #ifdef'ed out grub_printf().
31683
3ea52685 316842008-01-23 Robert Millan <rmh@aybabtu.com>
31685
31686 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31687 grub_dprintf calls, since they make "debug=all" mode unusable.
31688 (grub_console_checkkey): Likewise.
31689
5882ae4b 316902008-01-23 Robert Millan <rmh@aybabtu.com>
31691
31692 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31693 `term/i386/pc/at_keyboard.c'.
31694 (pkglib_MODULES): Add `serial.mod'.
31695 (serial_mod_SOURCES): New variable.
31696 (serial_mod_CFLAGS): Likewise.
31697 (serial_mod_LDFLAGS): Likewise.
31698
31699 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31700 `<grub/powerpc/ieee1275/console.h>'.
31701 (grub_keyboard_controller_init): New function prototype.
31702 (grub_console_checkkey): Likewise.
31703 (grub_console_getkey): Likewise.
31704
31705 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31706 keyboard on i386.
31707
31708 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31709 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31710
06ab5303 317112008-01-23 Robert Millan <rmh@aybabtu.com>
31712
31713 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31714 present, "(memdisk)/boot/grub" becomes the default prefix.
31715
31716 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31717 a memdisk tarball with all the modules. Add --overlay=DIR option that
31718 allows users to overlay additional files into the image.
31719
dbb475a4 317202008-01-23 Robert Millan <rmh@aybabtu.com>
31721
31722 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31723 and `machine/memory.h'.
31724 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31725 (_multiboot_mod_SOURCES): New variable.
31726 (_multiboot_mod_CFLAGS): Likewise.
31727 (_multiboot_mod_LDFLAGS): Likewise.
31728 (multiboot_mod_SOURCES): Likewise.
31729 (multiboot_mod_CFLAGS): Likewise.
31730 (multiboot_mod_LDFLAGS): Likewise.
31731
31732 * include/grub/i386/ieee1275/loader.h: New file.
31733
31734 * include/grub/i386/ieee1275/machine.h: Likewise.
31735
31736 * include/grub/i386/ieee1275/memory.h: Likewise.
31737
31738 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31739 variable declaration.
31740 (grub_os_area_size): Likewise.
31741
31742 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31743 (grub_lower_mem, grub_upper_mem): New variables.
31744 (grub_stop_floppy): New function (just to make
31745 grub_multiboot2_real_boot() happy).
31746
31747 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31748 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31749 (grub_stop): New function.
31750 Include `"../realmode.S"' and `"../loader.S"'.
31751
31752 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31753 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31754
31755 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31756 rely on grub_multiboot2_real_boot() for final boot.
31757
25638629 317582008-01-22 Robert Millan <rmh@aybabtu.com>
31759
31760 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31761 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31762 device that doesn't look like an SD card.
31763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31764 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31765 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31766 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31767 found.
31768
9dad816d 317692008-01-22 Robert Millan <rmh@aybabtu.com>
31770
31771 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31772 avoid claiming over our own code.
31773
34842f2d 317742008-01-22 Bean <bean123ch@gmail.com>
31775
31776 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31777 (jpeg_mod_SOURCES): New variable.
31778 (jpeg_mod_CFLAGS): Likewise.
31779 (jpeg_mod_LDFLAGS): Likewise.
31780
31781 * video/readers/jpeg.c : New file.
31782
44023a28 317832008-01-22 Bean <bean123ch@gmail.com>
31784
31785 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31786 there are no more items.
31787
bc2d8ac6 317882008-01-21 Robert Millan <rmh@aybabtu.com>
31789
31790 * kern/mm.c (grub_mm_init_region): Improve debug message.
31791
261bd4bc 317922008-01-21 Robert Millan <rmh@aybabtu.com>
31793
31794 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31795 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31796 address.
31797 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31798 a C macro.
31799 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31800 Indicates start of upper memory.
31801 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31802 (generate_image): Abort when image size is big enough to corrupt
31803 upper memory.
31804
31805 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31806 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31807 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31808 instead of hardcoding 0xA0000.
31809 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31810 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31811 instead of hardcoding 0xA0000.
31812
f970b55e 318132008-01-21 Robert Millan <rmh@aybabtu.com>
31814
31815 * disk/memdisk.c (memdisk_size): New variable.
31816 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31817 `memdisk_size'.
31818 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31819 image to dynamic memory.
31820 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31821 `memdisk_size'. Free memdisk block.
31822
1a8b0526 318232008-01-21 Robert Millan <rmh@aybabtu.com>
31824
31825 Fix detection of very small filesystems (like tar).
31826
31827 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31828 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31829 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31830 a problem with this disk).
31831
6e9b4aab 318322008-01-21 Robert Millan <rmh@aybabtu.com>
31833
31834 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31835 on grub_biosdisk_rw_standard() error.
31836
0d8837b2 318372008-01-21 Robert Millan <rmh@aybabtu.com>
31838
31839 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31840 recent changes.
31841 * kern/elf.c: Likewise.
31842 * kern/ieee1275/ieee1275.c: Likewise.
31843 * kern/powerpc/ieee1275/openfw.c: Likewise.
31844 * term/ieee1275/ofconsole.c: Likewise.
31845
ffd36e34 318462008-01-21 Robert Millan <rmh@aybabtu.com>
31847
31848 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31849
3f0093d0 31850 * include/grub/kernel.h (grub_arch_memdisk_addr)
31851 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31852
3f0093d0 31853 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31854 (grub_arch_memdisk_size): ... to here.
ffd36e34 31855
6c391b21 318562008-01-21 Robert Millan <rmh@aybabtu.com>
31857
31858 Mostly based on bugfix from Bean.
31859
31860 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31861 attribute with hook() parameter.
31862 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31863 declaration.
31864 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31865 attribute with hook() parameter.
31866 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31867 declaration.
31868
55a581dc 318692008-01-21 Robert Millan <rmh@aybabtu.com>
31870
31871 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31872 (pkglib_MODULES): Add `memdisk.mod'.
31873 (memdisk_mod_SOURCES): New variable.
31874 (memdisk_mod_CFLAGS): Likewise.
31875 (memdisk_mod_LDFLAGS): Likewise.
31876
31877 * disk/memdisk.c: New file.
31878
31879 * include/grub/disk.h (grub_disk_dev_id): Add
31880 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31881
31882 * include/grub/i386/pc/kernel.h
31883 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31884 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31885 (grub_kernel_image_size): New variable declaration.
31886 (grub_total_module_size): Likewise.
31887 (grub_memdisk_image_size): Likewise.
31888
31889 * include/grub/i386/pc/memory.h
31890 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31891
31892 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31893 (grub_arch_memdisk_addr): New variable declaration.
31894 (grub_arch_memdisk_size): Likewise.
31895
31896 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31897 (grub_arch_memdisk_size): Likewise.
31898
31899 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31900 (codestart): Replace hardcoded `0x100000' with
31901 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31902
31903 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31904 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31905 not NULL, append the contents of the file it refers to, at the end of
31906 the compressed kernel image. Initialize `grub_memdisk_image_size'
31907 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31908 (options): Add "memdisk"|'m' option.
31909 (main): Parse --memdisk|-m option, and pass user-provided path as
31910 parameter to generate_image().
31911
3d7f54c9 319122008-01-20 Robert Millan <rmh@aybabtu.com>
31913
31914 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31915 grub_dprintf() calls from here ...
31916 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31917
0bf74728 319182008-01-20 Robert Millan <rmh@aybabtu.com>
31919
31920 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31921
31922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31923 declaration.
31924 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31925 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31926 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31927 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31928 property).
31929 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31930 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31931
33bf70a7 319322008-01-19 Robert Millan <rmh@aybabtu.com>
31933
fe6b695a 31934 Get rid of confusing function (superseded by
33bf70a7 31935 `grub_ieee1275_get_integer_property')
31936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31937 prototype.
31938 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31939 function.
31940 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31941 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31942 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31943
e2da7d26 319442008-01-19 Robert Millan <rmh@aybabtu.com>
31945
31946 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31947 command after "shut-down", since implementations differ on which
31948 the command for halt is.
31949
59f1fd8d 319502008-01-19 Robert Millan <rmh@aybabtu.com>
31951
31952 * include/grub/i386/linuxbios/console.h: Add header protection.
31953 (grub_keyboard_controller_init): New function prototype.
31954 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31955 (KEYBOARD_COMMAND_READ): Likewise.
31956 (KEYBOARD_COMMAND_WRITE): Likewise.
31957 (KEYBOARD_SCANCODE_SET1): Likewise.
31958 (grub_keyboard_controller_write): New function.
31959 (grub_keyboard_controller_read): Likewise.
31960 (grub_keyboard_controller_init): Likewise.
31961
31962 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31963 (grub_console_init): On coreboot/LinuxBIOS, call
31964 grub_keyboard_controller_init().
31965
5f5a7c15 319662008-01-19 Robert Millan <rmh@aybabtu.com>
31967
31968 PowerPC changes provided by Pavel Roskin.
31969
31970 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31971 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31972 don't rely on cmain() doing it.
31973 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31974 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31975
1210e168 319762008-01-16 Robert Millan <rmh@aybabtu.com>
31977
31978 * include/grub/i386/linuxbios/memory.h
31979 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31980 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31981 receive `table_header' as argument. Instead, probe for it in the
31982 known memory ranges where it can be present.
31983 (grub_available_iterate): Do not pass a fixed `table_header' address
31984 to grub_linuxbios_table_iterate().
31985
3d04eab8 319862008-01-15 Robert Millan <rmh@aybabtu.com>
31987
31988 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31989 * conf/i386-ieee1275.rmk: New file.
31990 * include/grub/i386/ieee1275/console.h: Likewise.
31991 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31992 * include/grub/i386/ieee1275/kernel.h: Likewise.
31993 * include/grub/i386/ieee1275/time.h: Likewise.
31994 * kern/i386/ieee1275/init.c: Likewise.
31995 * kern/i386/ieee1275/startup.S: Likewise.
31996
d1bc1b73 319972008-01-15 Robert Millan <rmh@aybabtu.com>
31998
31999 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32000 when pointers are 32-bit (but still do set it to one when they are
32001 64-bit).
32002
66a65807 320032008-01-15 Robert Millan <rmh@aybabtu.com>
32004
32005 * include/grub/ieee1275/ieee1275.h
32006 (grub_ieee1275_get_integer_property): New function prototype.
32007
32008 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32009 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32010 grub_ieee1275_get_property() to handle endianness.
66a65807 32011
32012 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32013 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32014 where appropriate.
66a65807 32015 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32016 (grub_map): Likewise.
32017 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32018
a83ccafd 320192008-01-15 Bean <bean123ch@gmail.com>
32020
32021 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32022 (grub_script_execute_cmdline): Reset grub_errno.
32023
32024 * normal/main.c (read_config_file): Reset grub_errno.
32025
32026 * normal/parse.y (script_init): New.
32027 (script): Move function and menuentry here.
32028 (delimiter): New.
32029 (command): Add delimiter at the end of command.
32030 (commands): Adjust to match the new command.
32031 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32032 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32033 (if): Use the new commands.
32034
32035 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32036
df6ecfc6 320372008-01-15 Robert Millan <rmh@aybabtu.com>
32038
32039 * normal/menu.c (run_menu): Move timeout message from here ...
32040 (print_timeout): ... to here.
32041 (run_menu): Use print_timeout() once during initial draw to print
32042 the whole message, and again in every clock tick to update only
32043 the number of seconds.
32044
87ae25eb 320452008-01-15 Robert Millan <rmh@aybabtu.com>
32046
32047 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32048 actual size of `available' from grub_ieee1275_get_property(), and
32049 restrict parsing to that bound.
32050
47bf09a4 320512008-01-15 Christian Franke <franke@computer.org>
32052
32053 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32054 (argp_program_version): Remove variable.
32055 (argp_program_bug_address): Likewise.
32056 (options): Convert from struct argp_option to struct option.
32057 (struct arguments): Remove.
32058 (parse_opt): Remove.
32059 (usage): New function.
32060 (main): Replace struct args members by simple variables.
32061 Replace argp_parse() by getopt_long().
32062 Add switch to evaluate options.
32063 Add missing "(...)" around root_dev in prefix string.
32064
c86f1469 320652008-01-14 Robert Millan <rmh@aybabtu.com>
32066
32067 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32068 for grub_ieee1275_exit(), in order to improve portability.
32069
e622c559 320702008-01-14 Robert Millan <rmh@aybabtu.com>
32071
32072 * util/grub.d/10_linux.in (prefix): Define.
32073 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32074
44cb1ec8 320752008-01-13 Pavel Roskin <proski@gnu.org>
32076
32077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32078 grub_errno if no errors have been detected.
32079
1eb8c802 320802008-01-12 Robert Millan <rmh@aybabtu.com>
32081
32082 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32083 (grub_util_get_dev_abstraction): New function prototype.
32084
32085 * util/getroot.c: Include `<grub/util/getroot.h>'
32086 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32087 (grub_util_get_dev_abstraction): ... here (new function).
32088
32089 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32090 `PRINT_ABSTRACTION'.
32091 (probe): Probe for abstraction type when requested.
32092 (main): Understand `--target=abstraction'.
32093
32094 * util/i386/efi/grub-install.in: Add abstraction module to core
32095 image when it is found to be necessary.
32096 * util/i386/pc/grub-install.in: Likewise.
32097 * util/powerpc/ieee1275/grub-install.in: Likewise.
32098
32099 * util/update-grub_lib.in (font_path): Return system path without
32100 converting to GRUB path.
32101 * util/update-grub.in: Convert system path returned by font_path()
32102 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32103 abstraction module is needed for loading fonts (if any). Export
32104 that as `GRUB_PRELOAD_MODULES'.
32105 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32106 insmod commands).
32107
52bd3de9 321082008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32109
32110 Remove some unused code from reiserfs.
f19dbdb7 32111
52bd3de9 32112 * fs/reiserfs.c (struct grub_reiserfs_key)
32113 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32114 (struct grub_reiserfs_node_body): Removed.
32115 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32116 Likewise.
32117 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32118 Likewise.
32119 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32120 Likewise.
32121 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32122 Likewise.
32123 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32124 Likewise.
32125 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32126 Likewise.
32127 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32128 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32129 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32130
2f80039d 321312008-01-10 Robert Millan <rmh@aybabtu.com>
32132
32133 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32134 Determines if a file is garbage left by packaging systems, etc.
32135 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32136 for processing /etc/grub.d scripts.
32137 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32138 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32139 as a condition for processing Linux images.
32140
87888032 321412008-01-10 Pavel Roskin <proski@gnu.org>
32142
32143 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32144 to compile reiserfs.c on PowerPC.
32145
7e54fced 321462008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32147
32148 * kern/device.c (grub_device_iterate): Do not abort device iteration
32149 when one of the devices cannot be opened.
32150 * kern/disk.c (grub_disk_open): Do not account previous failures of
32151 unrelated functions when grub_errno is checked for.
32152
5aa541e6 321532008-01-08 Robert Millan <rmh@aybabtu.com>
32154
32155 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32156 `! grub_linux_is_bzimage', change order of address comparison to make
32157 it more intuitive, and improve "too big zImage" error message.
32158
7076340d 321592008-01-08 Robert Millan <rmh@aybabtu.com>
32160
32161 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32162 `$(update-grub_DATA)'.
32163 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32164 targets.
32165
9ca70333 321662008-01-07 Robert Millan <rmh@aybabtu.com>
32167
32168 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32169 which instruction is modified by grub-setup during installation
32170 (since it wasn't obvious by only looking at this file).
32171
38ccf575 321722008-01-07 Robert Millan <rmh@aybabtu.com>
32173
32174 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32175 listing actual TODO items.
32176
f5db4291 321772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32178
868967cf 32179 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32180 correctly.
32181 (grub_reiserfs_get_key_offset): Likewise.
32182 (grub_reiserfs_set_key_offset): Likewise.
32183 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32184 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32185
32186 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32187 better to remove the bitfield version completely.
f19dbdb7 32188
868967cf 321892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32190
f5db4291 32191 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32192 allocated from the heap, due to the fshelp implementation.
32193 (grub_reiserfs_dir): Free NODE, due to the same reason.
32194
492e6d9d 321952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32196
32197 Mostly from Vincent Pelletier:
f19dbdb7 32198
492e6d9d 32199 * fs/reiserfs.c: New file.
f19dbdb7 32200
492e6d9d 32201 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32202 (reiserfs_mod_SOURCES): New variable.
32203 (reiserfs_mod_CFLAGS): Likewise.
32204 (reiserfs_mod_LDFLAGS): Likewise.
32205
32206 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32207 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32208 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32209 normal/color.c.
32210
9ce3e7c1 322112008-01-06 Robert Millan <rmh@aybabtu.com>
32212
32213 * normal/color.c: Remove `<grub/env.h>'.
32214
f3b58148 322152008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32216
32217 * include/grub/normal.h: Include <grub/env.h>.
32218
7ac3bcfa 322192008-01-05 Robert Millan <rmh@aybabtu.com>
32220
32221 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32222 usage example with `(hd0,1)'.
fb358190 32223 Reported by Samuel Thibault.
7ac3bcfa 32224
c8ee99d7 322252008-01-05 Robert Millan <rmh@aybabtu.com>
32226
32227 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32228 (grub_linux_boot_zimage): Rename to ...
32229 (grub_linux_boot): ... this.
32230 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32231 (grub_linux_boot_zimage): Conditionalize zImage copy.
32232
32233 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32234 (grub_linux_boot_bzimage): Remove prototype.
32235 (grub_linux_boot_zimage): Rename to ...
32236 (grub_linux_boot): ... this.
32237
32238 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32239 (grub_linux_boot): Remove function.
32240
0ece25b1 322412008-01-05 Robert Millan <rmh@aybabtu.com>
32242
32243 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32244 (grub_env_write_color_highlight): Likewise.
32245 (grub_wait_after_message): Likewise.
32246
32247 * normal/color.c: New file.
32248
32249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32250 (normal_mod_DEPENDENCIES): Likewise.
32251
32252 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32253 (normal_mod_DEPENDENCIES): Likewise.
32254
32255 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32256 (normal_mod_DEPENDENCIES): Likewise.
32257
32258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32259 (normal_mod_DEPENDENCIES): Likewise.
32260
32261 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32262 for waiting after a message is printed.
32263 * normal/main.c (read_config_file): Likewise.
32264 (grub_normal_init): Register grub_env_write_color_normal() and
32265 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32266 `color_highlight' variables as global.
32267
32268 * normal/menu.c (grub_wait_after_message): New function.
32269 (grub_color_menu_normal): New variable. Replaces ...
32270 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32271 (grub_color_menu_highlight): New variable. Replaces ...
32272 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32273 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32274 `GRUB_TERM_COLOR_STANDARD'.
32275 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32276 `normal_code' and `highlight_code' to `old_color_normal' and
32277 `old_color_highlight', respectively.
32278 (grub_menu_init_page): Update colors when drawing the menu, based on
32279 `menu_color_normal' and `menu_color_highlight' variables.
32280 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32281 a message is printed.
32282
182dd4e5 322832008-01-05 Robert Millan <rmh@aybabtu.com>
32284
32285 * kern/env.c (grub_env_context_open): Propagate hooks for global
32286 variables to new context.
32287
32288 * kern/main.c (grub_set_root_dev): Export `root' variable.
32289
ddf8f6ad 322902008-01-05 Robert Millan <rmh@aybabtu.com>
32291
32292 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32293 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32294 them.
32295
d8b43d9b 322962008-01-05 Robert Millan <rmh@aybabtu.com>
32297
32298 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32299
2bff2de3 323002008-01-04 Christian Franke <franke@computer.org>
32301
32302 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32303 of eisa_mmap.
32304
97eab917 323052008-01-03 Pavel Roskin <proski@gnu.org>
32306
32307 * kern/i386/linuxbios/init.c: Put "void" to all function
32308 declarations with no arguments.
32309 * kern/powerpc/ieee1275/init.c: Likewise.
32310 * term/i386/pc/at_keyboard.c: Likewise.
32311 * term/i386/pc/vga_text.c: Likewise.
32312 * util/grub-mkdevicemap.c: Likewise.
32313
b9416d00 323142008-01-02 Robert Millan <rmh@aybabtu.com>
32315
32316 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32317 message when loaded image is out of bounds.
32318 (grub_multiboot_load_elf64): Likewise.
32319
92695df9 323202008-01-02 Pavel Roskin <proski@gnu.org>
32321
32322 * util/grub.d/10_linux.in: Try version without ".old" when
32323 looking for initrd. It's better to use initrd from the newer
32324 kernel of the same version than no initrd at all.
32325
d98d9cad 323262008-01-01 Robert Millan <rmh@aybabtu.com>
32327
32328 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32329
dbfdce36 323302008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32331
f19dbdb7 32332 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32333 grub_video_get_active_render_target.
32334 (grub_video_adapter): Added unmap_color and get_active_render_target.
32335
f19dbdb7 32336 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32337 grub_video_get_active_render_target.
32338 (grub_video_get_info): Changed method to accept NULL pointer as an
32339 argument to allow detection of active video adapter.
32340
32341 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32342 grub_video_vbe_unmap_color_int.
32343 Added grub_video_vbe_unmap_color and
32344 grub_video_vbe_get_active_render_target.
32345 (grub_video_vbe_adapter): Added unmap_color and
32346 get_active_render_target.
32347
f19dbdb7 32348 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32349 with grub_video_vbe_unmap_color_int.
32350
32351 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32352 (DEFAULT_NORMAL_COLOR): Likewise.
32353 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32354 (DEFAULT_FG_COLOR): Removed.
32355 (DEFAULT_BG_COLOR): Likewise.
32356 (DEFAULT_CURSOR_COLOR): Changed value.
32357 (grub_virtual_screen): Added standard_color_setting,
32358 normal_color_setting, highlight_color_setting and term_color.
32359 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32360 (bitmap_width): Added.
32361 (bitmap_height): Likewise.
32362 (bitmap): Likewise.
32363 (set_term_color): Likewise.
32364 (grub_virtual_screen_setup): Changed to use new terminal coloring
32365 settings.
32366 (grub_gfxterm_init): Added init for bitmap.
32367 (grub_gfxterm_fini): Added destroy for bitmap.
32368 (redraw_screen_rect): Updated to use background bitmap and new
32369 terminal coloring.
32370 (scroll_up): Added optimization for case when there is no bitmap.
32371 (grub_gfxterm_cls): Fixed to use correct background color.
32372 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32373 coloring.
32374 (grub_virtual_screen_setcolor): Likewise.
32375 (grub_virtual_screen_getcolor): Added.
32376 (grub_gfxterm_background_image_cmd): Likewise.
32377 (grub_video_term): Added setcolor and getcolor.
32378 (MOD_INIT): Added registration of background_image command.
32379 (MOD_TERM): Added unregistration for background_image command.
32380
c3c20931 323812007-12-30 Pavel Roskin <proski@gnu.org>
32382
32383 * loader/multiboot_loader.c: Fix multiboot command
32384 unregistration. Fix all typos in the word "multiboot".
32385
df266716 323862007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32387
32388 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32389 support for initrd names used in Fedora.
32390
fc6e896c 323912007-12-26 Bean <bean123ch@gmail.com>
32392
32393 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32394 (cpio_mod_SOURCES): New variable.
32395 (cpio_mod_CFLAGS): Likewise.
32396 (cpio_mod_LDFLAGS): Likewise.
32397
32398 * fs/cpio.c: New file.
32399
32400 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32401
32402 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32403
32404 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32405
32406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32407
533110ad 324082007-12-25 Robert Millan <rmh@aybabtu.com>
32409
32410 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32411 (grub_getcolor): New function.
32412
32413 * kern/term.c (grub_getcolor): New function.
32414 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32415 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32416 (print_entry): Set normal and highlight colors to
32417 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32418 respectively, before printing and restore them to old
32419 values afterwards.
32420 (grub_menu_init_page): Likewise. Fill an additional colored space
32421 that would otherwise be left blank.
32422
32423 * term/efi/console.c (grub_console_getcolor): New function.
32424 (struct grub_console_term.getcolor): New variable.
32425 * term/i386/pc/console.c (grub_console_getcolor): New function.
32426 (struct grub_console_term.getcolor): New variable.
32427 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32428 (struct grub_console_term.getcolor): New variable.
32429
32430 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32431 (struct grub_console_term.setcolor): Remove variable.
32432 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32433 (struct grub_console_term.setcolor): Remove variable.
32434 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32435 (struct grub_console_term.setcolor): Remove variable.
32436 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32437 (struct grub_console_term.setcolor): Remove variable.
32438
4931827f 324392007-12-25 Robert Millan <rmh@aybabtu.com>
32440
32441 * configure.ac: Search for possible unifont.hex locations, and
32442 define UNIFONT_HEX if found.
32443
32444 * Makefile.in (UNIFONT_HEX): Define variable.
32445 (DATA): Rename to ...
32446 (PKGLIB): ... this. Update all users.
32447 (PKGDATA): New variable.
32448 (pkgdata_IMAGES): Rename to ...
32449 (pkglib_IMAGES): ... this. Update all users.
32450 (pkgdata_MODULES): Rename to ...
32451 (pkglib_MODULES): ... this. Update all users.
32452 (pkgdata_PROGRAMS): Rename to ...
32453 (pkglib_PROGRAMS): ... this. Update all users.
32454 (pkgdata_DATA): Rename to ...
32455 (pkglib_DATA): ... this. Update all users.
32456 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32457 (unicode.pff, ascii.pff): New rules.
32458 (all-local): Add `$(PKGDATA)' dependency.
32459 (install-local): Process `$(PKGDATA)'.
32460
32461 * util/update-grub_lib.in (font_path): Search for *.pff files in
32462 a few more locations, including `${pkgdata}'.
32463
57e57e31 324642007-12-23 Robert Millan <rmh@aybabtu.com>
32465
32466 Patch from Bean <bean123ch@gmail.com>:
32467 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32468 `size'.
32469
4bc72aa9 324702007-12-21 Bean <bean123ch@gmail.com>
32471
32472 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32473 (ntfscomp_mod_SOURCES): New variable.
32474 (ntfscomp_mod_CFLAGS): Likewise.
32475 (ntfscomp_mod_LDFLAGS): Likewise.
32476
32477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32478 (grub_probe_SOURCES): Likewise.
32479 (grub_emu_SOURCES): Likewise.
32480
32481 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32482 (grub_emu_SOURCES): Likewise.
32483
32484 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32485 (grub_emu_SOURCES): Likewise.
32486
32487 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32488 (grub_emu_SOURCES): Likewise.
32489
32490 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32491 (read_run_list): Renamed to grub_ntfs_read_run_list.
32492 (decomp_nextvcn): Moved to ntfscomp.c.
32493 (decomp_getch): Likewise.
32494 (decomp_get16): Likewise.
32495 (decomp_block): Likewise.
32496 (read_block): Likewise.
32497 (read_data): Partially moved to ntfscomp.c.
32498 (fixup): Change unsigned to grub_uint16_t.
32499 (read_mft): Change unsigned long to grub_uint32_t.
32500 (read_attr): Likewise.
32501 (read_data): Likewise.
32502 (read_run_data): Likewise.
32503 (read_run_list): Likewise.
32504 (read_mft): Likewise.
32505
32506 * fs/ntfscomp.c: New file.
32507
32508 * include/grub/ntfs.h: New file.
32509
af680a87 325102007-12-16 Robert Millan <rmh@aybabtu.com>
32511
32512 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32513 IDE disk check, since Linux is known to support 20 IDE disks.
32514 Reported by Colin Watson.
32515
84be7599 325162007-12-15 Bean <bean123ch@gmail.com>
32517
32518 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32519 (lnxboot_img_SOURCES): New variable.
32520 (lnxboot_img_ASFLAGS): Likewise.
32521 (lnxboot_img_LDFLAGS): Likewise.
32522
32523 * boot/i386/pc/lnxboot.S: New file.
32524
6af9db01 325252007-11-24 Pavel Roskin <proski@gnu.org>
32526
32527 * configure.ac: Test if '--build-id=none' is supported by the
32528 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32529 objcopy to generate incorrect binary files (binutils
32530 2.17.50.0.18-1 as shipped by Fedora 8).
32531 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32532 linking, so that build ID doesn't break the test.
32533
7361cfe6 325342007-11-24 Pavel Roskin <proski@gnu.org>
32535
32536 * include/grub/i386/time.h: use "void" in the argument list
32537 of grub_cpu_idle().
32538 * include/grub/powerpc/time.h: Likewise.
32539 * include/grub/sparc64/time.h: Likewise.
32540
1593e10c 325412007-11-18 Christian Franke <franke@computer.org>
32542
32543 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32544 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32545 This fixes the problem that function keys did not work in grub-emu.
32546
3b8db1a8 325472007-11-18 Christian Franke <franke@computer.org>
32548
32549 * disk/host.c (grub_host_open): Remove attribute unused from
32550 name parameter. Add check for "host". This fixes the problem
32551 that grub-emu does not find partitions.
32552
2e29408d 325532007-11-18 Christian Franke <franke@computer.org>
32554
32555 * util/hostfs.c (is_dir): New function.
32556 (grub_hostfs_dir): Handle missing dirent.d_type case.
32557 (grub_hostfs_read): Add missing fseek().
32558 (grub_hostfs_label): Clear label pointer. This fixes a crash
32559 of grub-emu on "ls (host)".
32560
398cd047 325612007-11-18 Christian Franke <franke@computer.org>
32562
32563 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32564 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32565 to 64 bit boundary by default.
32566
c405c391 325672007-11-18 Bean <bean123ch@gmail.com>
32568
32569 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32570 (hexdump_mod_SOURCES): New variable.
32571 (hexdump_mod_CFLAGS): Likewise.
32572 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32573
c405c391 32574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32575
32576 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32577
32578 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32579
32580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32581
32582 * include/grub/hexdump.h: New file.
32583
32584 * commands/hexdump.c: New file.
32585
5cced7fd 325862007-11-10 Robert Millan <rmh@aybabtu.com>
32587
32588 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32589 in grub_outb() calls.
32590 (beep_on): Likewise.
32591
8b714eb0 325922007-11-10 Christian Franke <franke@computer.org>
32593
32594 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32595 (grub_menu_run): Likewise.
32596
ce0f1839 325972007-11-10 Robert Millan <rmh@aybabtu.com>
32598
32599 * include/grub/i386/efi/machine.h: New file.
32600 * include/grub/i386/linuxbios/machine.h: Likewise.
32601 * include/grub/i386/pc/machine.h: Likewise.
32602 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32603 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32604
32605 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32606 (serial_hw_io_addr): New variable.
32607 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32608 instead of `(unsigned short *) 0x400'.
32609
270c237d 326102007-11-10 Bean <bean123ch@gmail.com>
32611
32612 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32613
a87783bf 326142007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32615
32616 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32617 (vga_mod_SOURCES): Added.
32618 (vga_mod_CFLAGS): Likewise.
32619 (vga_mod_LDFLAGS): Likewise.
32620
32621 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32622 grub_outb() calls.
32623 (set_map_mask): Likewise.
32624 (set_read_map): Likewise.
32625 (set_read_address): Likewise.
32626 (vga_font): Removed variable.
32627 (get_vga_glyph): Removed function.
32628 (invalidate_char): Likewise.
32629 (write_char): Changed to use grub_font_get_glyph() for font
32630 information.
32631 (grub_vga_putchar): Likewise.
32632 (grub_vga_getcharwidth): Likewise.
32633
6433b448 326342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32635
32636 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32637 flags.
32638 (pxeboot_img_LDFLAGS): Likewise.
32639 (diskboot_img_LDFLAGS): Likewise.
32640 (kernel_img_LDFLAGS): Likewise.
32641
49178511 326422007-11-06 Robert Millan <rmh@aybabtu.com>
32643
32644 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32645 in grub_outb() calls.
32646 (serial_hw_init): Likewise.
32647
53b052de 326482007-11-05 Robert Millan <rmh@aybabtu.com>
32649
32650 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32651 spaces. Skip non-regular files.
32652
5ab33bba 326532007-11-05 Robert Millan <rmh@aybabtu.com>
32654
32655 * kern/disk.c (grub_disk_firmware_fini)
32656 (grub_disk_firmware_is_tainted): New variables.
32657
32658 * include/grub/disk.h (grub_disk_firmware_fini)
32659 (grub_disk_firmware_is_tainted): Likewise.
32660
32661 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32662 (grub_disk_biosdisk_fini): ... to here.
32663 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32664 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32665 is set. Register grub_disk_biosdisk_fini() in
32666 `grub_disk_firmware_fini'.
32667
32668 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32669 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32670 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32671 to finish existing firmware disk interface.
32672
32673 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32674 (ata_mod_SOURCES): New variable.
32675 (ata_mod_CFLAGS): Likewise.
32676 (ata_mod_LDFLAGS): Likewise.
32677
0149ab7c 326782007-11-05 Robert Millan <rmh@aybabtu.com>
32679
32680 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32681 (grub_ata_wait): Reimplement using grub_millisleep().
32682
32683 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32684 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32685
be7ac41e 326862007-11-03 Marco Gerards <marco@gnu.org>
32687
32688 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32689 (CRTC_ADDR_PORT): New macro.
32690 (CRTC_DATA_PORT): Likewise.
32691 (CRTC_CURSOR): Likewise.
32692 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32693 (CRTC_CURSOR_ADDR_LOW): Likewise.
32694 (update_cursor): New function.
32695 (grub_console_real_putchar): Call `update_cursor'.
32696 (grub_console_gotoxy): Likewise.
32697 (grub_console_cls): Set the default color when clearing the
32698 screen.
32699 (grub_console_setcursor): Implemented.
32700
bb06ab2e 327012007-11-03 Marco Gerards <marco@gnu.org>
32702
32703 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32704 become activate.
32705 (grub_ata_pio_write): Likewise.
32706
32707 (grub_atapi_identify): Wait after issuing an ATA command.
32708 (grub_atapi_packet): Likewise.
32709 (grub_ata_identify): Likewise.
32710 (grub_ata_readwrite): Likewise.
32711
cf8f780b 327122007-11-03 Marco Gerards <marco@gnu.org>
32713
32714 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32715 (grub_ata_pio_write): Likewise.
32716 (grub_ata_readwrite): Use `grub_error', instead of
32717 returning `grub_errno'.
32718
ed649e54 327192007-11-03 Marco Gerards <marco@gnu.org>
32720
32721 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32722 grub_ata_pio_write once for every single sector, instead of for
32723 multiple sectors.
32724
ca25d8f0 327252007-10-31 Robert Millan <rmh@aybabtu.com>
32726
32727 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32728
32729 * conf/i386-linuxbios.rmk: New file.
32730
32731 * kern/i386/pc/hardware.c: Likewise.
32732 * term/i386/pc/at_keyboard.c: Likewise.
32733 * term/i386/pc/vga_text.c: Likewise.
32734
32735 * include/grub/i386/linuxbios/boot.h: Likewise.
32736 * include/grub/i386/linuxbios/console.h: Likewise.
32737 * include/grub/i386/linuxbios/init.h: Likewise.
32738 * include/grub/i386/linuxbios/kernel.h: Likewise.
32739 * include/grub/i386/linuxbios/loader.h: Likewise.
32740 * include/grub/i386/linuxbios/memory.h: Likewise.
32741 * include/grub/i386/linuxbios/serial.h: Likewise.
32742 * include/grub/i386/linuxbios/time.h: Likewise.
32743
32744 * kern/i386/linuxbios/init.c: Likewise.
32745 * kern/i386/linuxbios/startup.S: Likewise.
32746 * kern/i386/linuxbios/table.c: Likewise.
32747
e911ecc1 327482007-10-31 Marco Gerards <marco@gnu.org>
32749
32750 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32751 (ata_mod_SOURCES): New variable.
32752 (ata_mod_CFLAGS): Likewise.
32753 (ata_mod_LDFLAGS): Likewise.
32754
32755 * disk/ata.c: New file.
32756
32757 * include/grub/disk.h (grub_disk_dev_id): Add
32758 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32759
7f66d0e0 327602007-10-31 Robert Millan <rmh@aybabtu.com>
32761
32762 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32763 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32764
32765 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32766 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32767
32768 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32769 `<grub/types.h>'.
32770
32771 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32772
5cd7dd46 327732007-10-27 Robert Millan <rmh@aybabtu.com>
32774
3236ca65 32775 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32776
2ebfc90f 327772007-10-22 Robert Millan <rmh@aybabtu.com>
32778
32779 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32780 `"../realmode.S"'.
32781 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32782
73fcb0f3 327832007-10-22 Robert Millan <rmh@aybabtu.com>
32784
32785 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32786 (pkgdata_MODULES): Add `biosdisk.mod'.
32787 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32788 variables.
32789
32790 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32791 (grub_biosdisk_init): Replace with ...
32792 (GRUB_MOD_INIT(biosdisk)): ... this.
32793 (grub_biosdisk_fini): Replace with ...
32794 (GRUB_MOD_FINI(biosdisk)): ... this.
32795
32796 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32797 (grub_machine_init): Remove call to grub_biosdisk_init().
32798 (grub_machine_fini): Remove call to grub_machine_fini().
32799
32800 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32801
3381d274 328022007-10-22 Robert Millan <rmh@aybabtu.com>
32803
32804 * include/grub/time.h: New file.
32805 * include/grub/i386/time.h: Likewise.
32806 * include/grub/powerpc/time.h: Likewise.
32807 * include/grub/sparc64/time.h: Likewise.
32808
32809 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32810 instances to ...
32811 (KERNEL_MACHINE_TIME_HEADER): ... this.
32812 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32813 instances to ...
32814 (KERNEL_MACHINE_TIME_HEADER): ... this.
32815 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32816 instances to ...
32817 (KERNEL_MACHINE_TIME_HEADER): ... this.
32818
32819 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32820 (grub_millisleep): New function.
32821 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32822 (grub_millisleep): New function.
32823 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32824 Remove `grub/machine/time.h' include.
32825 (grub_millisleep): New function.
32826 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32827 Remove `grub/machine/time.h' include.
32828 (grub_millisleep): New function.
32829
32830 * include/grub/misc.h (grub_div_roundup): New function.
32831
32832 * kern/misc.c: Include `<grub/time.h>'.
32833 (grub_millisleep_generic): New function.
32834
32835 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32836 Add `time.h'.
32837 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32838 Add `time.h'.
32839 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32840 `machine/time.h'. Add `time.h'.
32841 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32842
a39a0312 328432007-10-21 Robert Millan <rmh@aybabtu.com>
32844
32845 * include/grub/misc.h (grub_max): New function.
32846
2aad70e2 328472007-10-21 Robert Millan <rmh@aybabtu.com>
32848
32849 * util/misc.c (grub_util_info): Call fflush() before returning.
32850
54b71c4b 328512007-10-20 Robert Millan <rmh@aybabtu.com>
32852
32853 * genmk.rb (Image): Copy `extra_flags' from here ...
32854 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32855
32856 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32857 to `argc' and `args' arguments.
32858
a979f513 328592007-10-17 Robert Millan <rmh@aybabtu.com>
32860
32861 * kern/i386/loader.S: New file.
32862
32863 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32864 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32865 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32866 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32867 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32868 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32869 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32870 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32871 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32872 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32873 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32874 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32875 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32876 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32877
32878 * kern/i386/realmode.S: New file.
32879
32880 * kern/i386/pc/startup.S (protstack): Moved from here ...
32881 * kern/i386/realmode.S (protstack)... to here.
32882 * kern/i386/pc/startup.S (gdt): Moved from here ...
32883 * kern/i386/realmode.S (gdt)... to here.
32884 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32885 * kern/i386/realmode.S (prot_to_real)... to here.
32886
32887 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32888 `kern/i386/realmode.S'.
32889
825fc8fd 328902007-10-17 Robert Millan <rmh@aybabtu.com>
32891
32892 * include/grub/i386/loader.h: New file.
32893
32894 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32895 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32896 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32897 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32898 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32899 * include/grub/i386/loader.h (grub_linux_prot_size)
32900 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32901 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32902 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32903 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32904
32905 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32906
e179b2f4 329072007-10-15 Robert Millan <rmh@aybabtu.com>
32908
32909 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32910 filesystem when dev->disk is unset.
32911 Do probe for filesystem even when dev->disk->has_partitions is set.
32912 In case a filesystem is found, always report it.
32913 In case it isn't, if dev->disk->has_partitions is set, report that
32914 a partition table was found instead of reporting that no filesystem
32915 could be identified.
32916
5db82af6 329172007-10-12 Robert Millan <rmh@aybabtu.com>
32918
32919 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32920 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32921
68f6ac74 32922 * include/grub/types.h (grub_host_to_target16): New macro.
32923 (grub_host_to_target32): Likewise.
32924 (grub_host_to_target64): Likewise.
32925 (grub_target_to_host16): Likewise.
32926 (grub_target_to_host32): Likewise.
32927 (grub_target_to_host64): Likewise.
5db82af6 32928
32929 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32930 Renamed from to ...
32931 (GRUB_MOD_ALIGN): ...this. Update all users.
32932
68f6ac74 32933 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32934 grub_host_to_target32.
32935 Replace grub_be_to_cpu32 with grub_target_to_host32.
32936 (load_modules): Likewise.
32937 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32938 Replace grub_be_to_cpu32 with grub_target_to_host32.
32939 Replace grub_cpu_to_be16 with grub_host_to_target16.
32940 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32941
3cf497cc 329422007-10-12 Robert Millan <rmh@aybabtu.com>
32943
32944 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32945 * util/elf/grub-mkimage.c: ... here.
32946
32947 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32948 `util/powerpc/ieee1275/grub-mkimage.c'.
32949
c8cc3692 329502007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32951
c8cc3692 32952 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32953 and make it easier to figure out.
32954 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32955 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32956 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32957 leave us with less than HEAP_MIN_SIZE total heap.
32958 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32959
5c58b791 329602007-10-03 Robert Millan <rmh@aybabtu.com>
32961
32962 * include/grub/i386/io.h: New file.
32963 * commands/i386/pc/play.c (inb): Removed.
32964 (outb): Removed.
32965 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32966 with grub_outb().
afcd2ef8 32967 * term/i386/pc/serial.c (inb): Removed.
32968 (outb): Removed.
32969 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32970 with grub_outb().
32971 * term/i386/pc/vga.c (inb): Removed.
32972 (outb): Removed.
32973 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32974 with grub_outb().
5c58b791 32975
1a477ed6 329762007-10-02 Robert Millan <rmh@aybabtu.com>
32977
32978 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32980 Reported by Marcin Kurek.
32981
6b5d80fa 329822007-09-07 Robert Millan <rmh@aybabtu.com>
32983
32984 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32985 SmartFirmware version updates (as released by Sven Luther), and avoid
32986 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32987 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32988 known broken.
32989
5618afbf 329902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32991
32992 From Hitoshi Ozeki:
32993 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32994 when merging two regions.
32995
6139dcd9 329962007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32997
508e39ee 32998 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32999 * normal/completion.c (grub_normal_do_completion): Likewise.
33000 Reported by Hitoshi Ozeki.
33001
330022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33003
6139dcd9 33004 Do not use devices at boot in chainloading.
f19dbdb7 33005
6139dcd9 33006 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33007 (boot_part_addr): Likewise.
33008 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33009 with BOOT_DRIVE and BOOT_PART_ADDR.
33010 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33011 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33012
38da6516 330132007-08-29 Robert Millan <rmh@aybabtu.com>
33014
33015 Patch from Simon Peter <dn.tlp@gmx.net>:
33016 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33017 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33018 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33019 util/i386/pc/grub-setup.c_DEPENDENCIES.
33020 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33021 util/grub-probe.c_DEPENDENCIES.
33022 * conf/powerpc-ieee1275.rmk: Likewise.
33023
29d0928c 330242007-08-28 Robert Millan <rmh@aybabtu.com>
33025
33026 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33027 to tell grub-mkdevicemap how to name devices.
33028 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33029 feature).
33030
33031 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33032 util/i386/get_disk_name.c.
33033 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33034 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33035 util/ieee1275/get_disk_name.c.
33036
33037 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33038
33039 * DISTLIST: Add util/i386/get_disk_name.c and
33040 util/ieee1275/get_disk_name.c.
33041
33042 * util/grub-mkdevicemap.c: Replace device naming logic with
33043 grub_util_get_disk_name() calls.
33044
5a0d3cca 330452007-08-20 Robert Millan <rmh@aybabtu.com>
33046
33047 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33048 (so that it works for both plural and singular quantities).
33049
8b72db2f 330502007-08-05 Robert Millan <rmh@aybabtu.com>
33051
33052 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33053 so that [xz] isn't taken into account when determining order.
33054
352466bf 330552007-08-02 Marco Gerards <marco@gnu.org>
33056
33057 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33058 `include/multiboot2.h', `include/grub/elfload.h',
33059 `include/multiboot.h', `include/grub/multiboot.h',
33060 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33061 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33062 `kern/elf.c', `loader/multiboot_loader.c',
33063 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33064 `loader/i386/pc/multiboot2.c',
33065 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33066 `util/i386/pc/grub-mkrescue.in'. Remove
33067 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33068 `include/grub/i386/pc/util/biosdisk.h' and
33069 `include/grub/powerpc/ieee1275/multiboot.h'.
33070
8f096014 330712007-08-02 Bean <bean123ch@gmail.com>
33072
33073 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33074 (ntfs_mod_SOURCES): New variable.
33075 (ntfs_mod_CFLAGS): Likewise.
33076 (ntfs_mod_LDFLAGS): Likewise.
33077
33078 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33079 (grub_probe_SOURCES): Likewise.
33080 (grub_emu_SOURCES): Likewise.
33081
33082 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33083 (grub_emu_SOURCES): Likewise.
33084
33085 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33086 (grub_emu_SOURCES): Likewise.
f19dbdb7 33087
8f096014 33088 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33089
33090 * fs/ntfs.c: New file.
33091
9959f7db 330922007-08-02 Bean <bean123ch@gmail.com>
33093
33094 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33095
33096 * file.h (grub_file): Likewise.
33097
33098 * fshelp.h (grub_fshelp_read_file): Likewise.
33099
33100 * util/i386/pc/grub-setup.c (setup): Likewise.
33101 (save_first_sector): Likewise.
33102 (save_blocklists): Likewise.
f19dbdb7 33103
9959f7db 33104 * fs/affs.c (grub_affs_read_file): Likewise.
33105
33106 * fs/ext2.c (grub_ext2_read_file): Likewise.
33107
33108 * fs/fat.c (grub_fat_read_data): Likewise.
33109
33110 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33111
33112 * fs/hfs.c (grub_hfs_read_file): Likewise.
33113
33114 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33115
33116 * fs/jfs.c (grub_jfs_read_file): Likewise.
33117
33118 * fs/minix.c (grub_minix_read_file): Likewise.
33119
33120 * fs/sfs.c (grub_sfs_read_file): Likewise.
33121
33122 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33123
9959f7db 33124 * fs/xfs.c (grub_xfs_read_file): Likewise.
33125
33126 * command/blocklist.c (read_blocklist): Likewise.
33127 (print_blocklist): Likewise.
33128
0a203f83 331292007-08-02 Marco Gerards <marco@gnu.org>
33130
33131 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33132 `util/hostfs.c'.
33133
33134 * disk/host.c: New file.
33135
33136 * util/hostfs.c: Likewise.
33137
33138 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33139 return `GRUB_ERR_BAD_FS'.
33140 * fs/sfs.c (grub_sfs_mount): Likewise.
33141 * fs/xfs.c (grub_xfs_mount): Likewise.
33142
33143 * include/grub/disk.h (enum grub_disk_dev_id): Add
33144 `GRUB_DISK_DEVICE_HOST_ID'.
33145
33146 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33147
e5dfe777 331482007-07-24 Jerone Young <jerone@gmail.com>
33149
f19dbdb7 33150 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33151 modules for compilation.
33152 * conf/powerpc-ieee1275.rmk: Likewise.
33153
33154 * include/multiboot.h: Move multiboot definitions to one file. Rename
33155 many definitions to not get grub specific.
33156 * include/multiboot2.h: Create header with multiboot 2 definitions.
33157 * include/grub/multiboot.h: Header for grub specific function
33158 prototypes and definitions.
33159 * include/grub/multiboot2.h: Likewise.
33160 * include/grub/multiboot_loader.h: Likewise.
33161 * include/grub/i386/pc/multiboot.h: Removed.
33162 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33163
33164 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33165 and 2 to allow for one multiboot and module commands.
33166 * loader/multiboot2.c: Add multiboot2 functionality.
33167 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33168 and definition names.
33169 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33170 2 functions.
33171 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33172 ieee1275 specific multiboot2 code.
33173
33174 * kern/i386/pc/startup.S: Change headers and definition names for
33175 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33176
daf0f0ba 331772007-07-22 Robert Millan <rmh@aybabtu.com>
33178
33179 * geninitheader.sh: Process file specified in first parameter rather
33180 than hardcoding grub_modules_init.lst.
fe6b695a 33181 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33182 than hardcoding grub_modules_init.h.
33183
33184 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33185 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33186 grub_probe_init.[ch] and grub_setup_init.[ch].
33187
33188 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33189 grub_modules_init.h with grub_emu_init.h.
33190 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33191 grub_probe_init.[ch] files.
33192 * conf/i386-efi.rmk: Likewise.
33193 * conf/i386-pc.rmk: Likewise.
33194 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33195 grub_setup_init.[ch] files.
33196
33197 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33198 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33199 to initialize modules rather than a list of hardcoded functions.
33200 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33201 grub_init_all() to initialize modules rather than a list of hardcoded
33202 functions.
33203
54cdc1cc 332042007-07-22 Robert Millan <rmh@aybabtu.com>
33205
33206 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33207 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33208
ad0686cc 332092007-07-22 Robert Millan <rmh@aybabtu.com>
33210
33211 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33212 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33213 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33214 flag when running on SmartFirmware.
33215 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33216 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33217 was set.
33218
33219 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33220 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33221 rather than decreasing it.
33222
33223 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33224 there's not enough space to do it, fail in the same way as when it
33225 can't be done because there are no partitions.
33226
33227 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33228 when nvsetenv failed.
33229
969c02ec 332302007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33231
33232 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33233 because this rule is automatically generated.
33234 (grub-mkrescue): Removed for the same reason as above.
33235
5a79f472 332362007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33237
33238 Migrate to GNU General Public License Version 3.
f19dbdb7 33239
5a79f472 33240 * COPYING: Replaced with the plain text version of GPLv3.
33241
33242 * config.guess: Updated from gnulib.
33243 * config.sub: Likewise.
33244
33245 * geninit.sh: Output a GPLv3 copyright notice.
33246 * geninitheader.sh: Likewise.
33247 * genmodsrc.sh: Likewise.
33248 * gensymlist.sh.in: Likewise.
33249
33250 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33251 * boot/i386/pc/diskboot.S: Likewise.
33252 * boot/i386/pc/pxeboot.S: Likewise.
33253 * commands/blocklist.c: Likewise.
33254 * commands/boot.c: Likewise.
33255 * commands/cat.c: Likewise.
33256 * commands/cmp.c: Likewise.
33257 * commands/configfile.c: Likewise.
33258 * commands/echo.c: Likewise.
33259 * commands/help.c: Likewise.
33260 * commands/ls.c: Likewise.
33261 * commands/search.c: Likewise.
33262 * commands/terminal.c: Likewise.
33263 * commands/test.c: Likewise.
33264 * commands/videotest.c: Likewise.
33265 * commands/i386/cpuid.c: Likewise.
33266 * commands/i386/pc/halt.c: Likewise.
33267 * commands/i386/pc/play.c: Likewise.
33268 * commands/i386/pc/reboot.c: Likewise.
33269 * commands/i386/pc/vbeinfo.c: Likewise.
33270 * commands/i386/pc/vbetest.c: Likewise.
33271 * commands/ieee1275/halt.c: Likewise.
33272 * commands/ieee1275/reboot.c: Likewise.
33273 * commands/ieee1275/suspend.c: Likewise.
33274 * disk/loopback.c: Likewise.
33275 * disk/lvm.c: Likewise.
33276 * disk/raid.c: Likewise.
33277 * disk/efi/efidisk.c: Likewise.
33278 * disk/i386/pc/biosdisk.c: Likewise.
33279 * disk/ieee1275/ofdisk.c: Likewise.
33280 * font/manager.c: Likewise.
33281 * fs/affs.c: Likewise.
33282 * fs/ext2.c: Likewise.
33283 * fs/fat.c: Likewise.
33284 * fs/fshelp.c: Likewise.
33285 * fs/hfs.c: Likewise.
33286 * fs/hfsplus.c: Likewise.
33287 * fs/iso9660.c: Likewise.
33288 * fs/jfs.c: Likewise.
33289 * fs/minix.c: Likewise.
33290 * fs/sfs.c: Likewise.
33291 * fs/ufs.c: Likewise.
33292 * fs/xfs.c: Likewise.
33293 * hello/hello.c: Likewise.
33294 * include/grub/acorn_filecore.h: Likewise.
33295 * include/grub/arg.h: Likewise.
33296 * include/grub/bitmap.h: Likewise.
33297 * include/grub/boot.h: Likewise.
33298 * include/grub/cache.h: Likewise.
33299 * include/grub/device.h: Likewise.
33300 * include/grub/disk.h: Likewise.
33301 * include/grub/dl.h: Likewise.
33302 * include/grub/elfload.h: Likewise.
33303 * include/grub/env.h: Likewise.
33304 * include/grub/err.h: Likewise.
33305 * include/grub/file.h: Likewise.
33306 * include/grub/font.h: Likewise.
33307 * include/grub/fs.h: Likewise.
33308 * include/grub/fshelp.h: Likewise.
33309 * include/grub/gzio.h: Likewise.
33310 * include/grub/hfs.h: Likewise.
33311 * include/grub/kernel.h: Likewise.
33312 * include/grub/loader.h: Likewise.
33313 * include/grub/lvm.h: Likewise.
33314 * include/grub/misc.h: Likewise.
33315 * include/grub/mm.h: Likewise.
33316 * include/grub/net.h: Likewise.
33317 * include/grub/normal.h: Likewise.
33318 * include/grub/parser.h: Likewise.
33319 * include/grub/partition.h: Likewise.
33320 * include/grub/pc_partition.h: Likewise.
33321 * include/grub/raid.h: Likewise.
33322 * include/grub/rescue.h: Likewise.
33323 * include/grub/script.h: Likewise.
33324 * include/grub/setjmp.h: Likewise.
33325 * include/grub/symbol.h: Likewise.
33326 * include/grub/term.h: Likewise.
33327 * include/grub/terminfo.h: Likewise.
33328 * include/grub/tparm.h: Likewise.
33329 * include/grub/types.h: Likewise.
33330 * include/grub/video.h: Likewise.
33331 * include/grub/efi/api.h: Likewise.
33332 * include/grub/efi/chainloader.h: Likewise.
33333 * include/grub/efi/console.h: Likewise.
33334 * include/grub/efi/console_control.h: Likewise.
33335 * include/grub/efi/disk.h: Likewise.
33336 * include/grub/efi/efi.h: Likewise.
33337 * include/grub/efi/pe32.h: Likewise.
33338 * include/grub/efi/time.h: Likewise.
33339 * include/grub/i386/linux.h: Likewise.
33340 * include/grub/i386/setjmp.h: Likewise.
33341 * include/grub/i386/types.h: Likewise.
33342 * include/grub/i386/efi/kernel.h: Likewise.
33343 * include/grub/i386/efi/loader.h: Likewise.
33344 * include/grub/i386/efi/time.h: Likewise.
33345 * include/grub/i386/pc/biosdisk.h: Likewise.
33346 * include/grub/i386/pc/boot.h: Likewise.
33347 * include/grub/i386/pc/chainloader.h: Likewise.
33348 * include/grub/i386/pc/console.h: Likewise.
33349 * include/grub/i386/pc/init.h: Likewise.
33350 * include/grub/i386/pc/kernel.h: Likewise.
33351 * include/grub/i386/pc/loader.h: Likewise.
33352 * include/grub/i386/pc/memory.h: Likewise.
33353 * include/grub/i386/pc/multiboot.h: Likewise.
33354 * include/grub/i386/pc/serial.h: Likewise.
33355 * include/grub/i386/pc/time.h: Likewise.
33356 * include/grub/i386/pc/vbe.h: Likewise.
33357 * include/grub/i386/pc/vbeblit.h: Likewise.
33358 * include/grub/i386/pc/vbefill.h: Likewise.
33359 * include/grub/i386/pc/vbeutil.h: Likewise.
33360 * include/grub/i386/pc/vga.h: Likewise.
33361 * include/grub/ieee1275/ieee1275.h: Likewise.
33362 * include/grub/ieee1275/ofdisk.h: Likewise.
33363 * include/grub/powerpc/libgcc.h: Likewise.
33364 * include/grub/powerpc/setjmp.h: Likewise.
33365 * include/grub/powerpc/types.h: Likewise.
33366 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33367 * include/grub/powerpc/ieee1275/console.h: Likewise.
33368 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33369 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33370 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33371 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33372 * include/grub/powerpc/ieee1275/time.h: Likewise.
33373 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33374 * include/grub/sparc64/libgcc.h: Likewise.
33375 * include/grub/sparc64/setjmp.h: Likewise.
33376 * include/grub/sparc64/types.h: Likewise.
33377 * include/grub/sparc64/ieee1275/console.h: Likewise.
33378 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33379 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33380 * include/grub/sparc64/ieee1275/time.h: Likewise.
33381 * include/grub/util/biosdisk.h: Likewise.
33382 * include/grub/util/getroot.h: Likewise.
33383 * include/grub/util/lvm.h: Likewise.
33384 * include/grub/util/misc.h: Likewise.
33385 * include/grub/util/raid.h: Likewise.
33386 * include/grub/util/resolve.h: Likewise.
33387 * io/gzio.c: Likewise.
33388 * kern/device.c: Likewise.
33389 * kern/disk.c: Likewise.
33390 * kern/dl.c: Likewise.
33391 * kern/elf.c: Likewise.
33392 * kern/env.c: Likewise.
33393 * kern/err.c: Likewise.
33394 * kern/file.c: Likewise.
33395 * kern/fs.c: Likewise.
33396 * kern/loader.c: Likewise.
33397 * kern/main.c: Likewise.
33398 * kern/misc.c: Likewise.
33399 * kern/mm.c: Likewise.
33400 * kern/parser.c: Likewise.
33401 * kern/partition.c: Likewise.
33402 * kern/rescue.c: Likewise.
33403 * kern/term.c: Likewise.
33404 * kern/efi/efi.c: Likewise.
33405 * kern/efi/init.c: Likewise.
33406 * kern/efi/mm.c: Likewise.
33407 * kern/i386/dl.c: Likewise.
33408 * kern/i386/efi/init.c: Likewise.
33409 * kern/i386/efi/startup.S: Likewise.
33410 * kern/i386/pc/init.c: Likewise.
33411 * kern/i386/pc/lzo1x.S: Likewise.
33412 * kern/i386/pc/startup.S: Likewise.
33413 * kern/ieee1275/ieee1275.c: Likewise.
33414 * kern/powerpc/cache.S: Likewise.
33415 * kern/powerpc/dl.c: Likewise.
33416 * kern/powerpc/ieee1275/cmain.c: Likewise.
33417 * kern/powerpc/ieee1275/crt0.S: Likewise.
33418 * kern/powerpc/ieee1275/init.c: Likewise.
33419 * kern/powerpc/ieee1275/openfw.c: Likewise.
33420 * kern/sparc64/cache.S: Likewise.
33421 * kern/sparc64/dl.c: Likewise.
33422 * kern/sparc64/ieee1275/init.c: Likewise.
33423 * kern/sparc64/ieee1275/openfw.c: Likewise.
33424 * loader/efi/chainloader.c: Likewise.
33425 * loader/efi/chainloader_normal.c: Likewise.
33426 * loader/i386/efi/linux.c: Likewise.
33427 * loader/i386/efi/linux_normal.c: Likewise.
33428 * loader/i386/pc/chainloader.c: Likewise.
33429 * loader/i386/pc/chainloader_normal.c: Likewise.
33430 * loader/i386/pc/linux.c: Likewise.
33431 * loader/i386/pc/linux_normal.c: Likewise.
33432 * loader/i386/pc/multiboot.c: Likewise.
33433 * loader/i386/pc/multiboot_normal.c: Likewise.
33434 * loader/powerpc/ieee1275/linux.c: Likewise.
33435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33436 * normal/arg.c: Likewise.
33437 * normal/cmdline.c: Likewise.
33438 * normal/command.c: Likewise.
33439 * normal/completion.c: Likewise.
33440 * normal/execute.c: Likewise.
33441 * normal/function.c: Likewise.
33442 * normal/lexer.c: Likewise.
33443 * normal/main.c: Likewise.
33444 * normal/menu.c: Likewise.
33445 * normal/menu_entry.c: Likewise.
33446 * normal/misc.c: Likewise.
33447 * normal/parser.y: Likewise.
33448 * normal/script.c: Likewise.
33449 * normal/i386/setjmp.S: Likewise.
33450 * normal/powerpc/setjmp.S: Likewise.
33451 * normal/sparc64/setjmp.S: Likewise.
33452 * partmap/acorn.c: Likewise.
33453 * partmap/amiga.c: Likewise.
33454 * partmap/apple.c: Likewise.
33455 * partmap/gpt.c: Likewise.
33456 * partmap/pc.c: Likewise.
33457 * partmap/sun.c: Likewise.
33458 * term/gfxterm.c: Likewise.
33459 * term/terminfo.c: Likewise.
33460 * term/efi/console.c: Likewise.
33461 * term/i386/pc/console.c: Likewise.
33462 * term/i386/pc/serial.c: Likewise.
33463 * term/i386/pc/vesafb.c: Likewise.
33464 * term/i386/pc/vga.c: Likewise.
33465 * term/ieee1275/ofconsole.c: Likewise.
33466 * util/biosdisk.c: Likewise.
33467 * util/console.c: Likewise.
33468 * util/genmoddep.c: Likewise.
33469 * util/getroot.c: Likewise.
33470 * util/grub-emu.c: Likewise.
33471 * util/grub-mkdevicemap.c: Likewise.
33472 * util/grub-probe.c: Likewise.
33473 * util/lvm.c: Likewise.
33474 * util/misc.c: Likewise.
33475 * util/raid.c: Likewise.
33476 * util/resolve.c: Likewise.
33477 * util/update-grub.in: Likewise.
33478 * util/update-grub_lib.in: Likewise.
33479 * util/grub.d/00_header.in: Likewise.
33480 * util/grub.d/10_hurd.in: Likewise.
33481 * util/grub.d/10_linux.in: Likewise.
33482 * util/i386/efi/grub-install.in: Likewise.
33483 * util/i386/efi/grub-mkimage.c: Likewise.
33484 * util/i386/pc/grub-install.in: Likewise.
33485 * util/i386/pc/grub-mkimage.c: Likewise.
33486 * util/i386/pc/grub-mkrescue.in: Likewise.
33487 * util/i386/pc/grub-setup.c: Likewise.
33488 * util/i386/pc/misc.c: Likewise.
33489 * util/powerpc/ieee1275/grub-install.in: Likewise.
33490 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33491 * util/powerpc/ieee1275/misc.c: Likewise.
33492 * video/bitmap.c: Likewise.
33493 * video/video.c: Likewise.
33494 * video/i386/pc/vbe.c: Likewise.
33495 * video/i386/pc/vbeblit.c: Likewise.
33496 * video/i386/pc/vbefill.c: Likewise.
33497 * video/i386/pc/vbeutil.c: Likewise.
33498 * video/readers/tga.c: Likewise.
33499
3572d015 335002007-07-02 Robert Millan <rmh@aybabtu.com>
33501
33502 * conf/i386-efi.rmk: Replace obsolete reference to
33503 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33504 with util/getroot.c.
33505 * conf/powerpc-ieee1275.rmk: Likewise.
33506 * conf/sparc64-ieee1275.rmk: Likewise.
33507
33508 * util/grub-emu.c (main): Fix unchecked pointer handling.
33509
2c2a681b 335102007-07-02 Robert Millan <rmh@aybabtu.com>
33511
33512 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33513 invocation to fail, in order to support partition-less media.
33514
33515 * util/i386/pc/grub-install.in: Likewise.
33516
33517 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33518 which fs or partmap modules are needed (akin to its sister scripts).
33519
33520 Also use grub-probe to get rid of unportable /proc/mounts check.
33521
33522 Print the same informational message that the other scripts do, before
fe6b695a 33523 exiting.
2c2a681b 33524
6193defe 335252007-06-23 Robert Millan <rmh@aybabtu.com>
33526
fe6b695a 33527 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33528 a font file can be found and, if so, echo the GRUB path to it.
33529
33530 * util/update-grub.in: Handle multiple terminals depending on user
33531 input, platform availability and font file presence. Propagate
33532 variables of our findings to /etc/grub.d/ children.
33533
33534 * util/grub.d/00_header.in: Handle multiple terminals, based on
33535 environment setup by update-grub.
33536
eface1dc 335372007-06-23 Robert Millan <rmh@aybabtu.com>
33538
ba50d28f 33539 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33540
bf697e28 335412007-06-21 Robert Millan <rmh@aybabtu.com>
33542
33543 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33544 indicate end of data section in kernel image.
33545 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33546 GRUB_KERNEL_MACHINE_DATA_END.
33547
33548 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33549 space for it.
33550 * kern/i386/efi/startup.S: Likewise.
33551
33552 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33553 during image generation. Implement --prefix option to override this
33554 patch.
33555 * util/i386/efi/grub-mkimage.c: Likewise.
33556
33557 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33558 code to make path relative to its root into a separate function.
33559
33560 * util/i386/pc/grub-install.in: Use newly provided
33561 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33562 pass the result to grub-install --prefix.
33563
baa574b4 335642007-06-13 Robert Millan <rmh@aybabtu.com>
33565
33566 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33567 DEFAULT_DEVICE_MAP.
33568 * util/grub-emu.c: Use above definitions from misc.h instead of
33569 defining them.
33570 * util/grub-mkdevicemap.c: Likewise.
33571 * util/i386/pc/grub-setup.c: Likewise.
33572 * util/grub-probe.c: Likewise.
33573 (probe): Abort with grub_util_error() when either
33574 grub_guess_root_device or grub_util_get_grub_dev fails.
33575
0215dcbf 335762007-06-12 Robert Millan <rmh@aybabtu.com>
33577
33578 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33579 "pager" assignment.
33580 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33581 "pcdata".
33582 * util/grub-probe.c (probe): Likewise for "drive_name".
33583
8af2ab7b 335842007-06-11 Robert Millan <rmh@aybabtu.com>
33585
33586 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33587 not just the cdrom one.
33588
59d31694 335892007-06-11 Robert Millan <rmh@aybabtu.com>
33590
33591 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33592 Add --pkglibdir=DIR option to override pkglibdir.
33593 Mention --image-type=TYPE in help output.
33594 Fix --grub-mkimage (it was a no-op).
fe6b695a 33595 Abort gracefully when no parameter is given.
59d31694 33596
7ee367e4 335972007-06-11 Robert Millan <rmh@aybabtu.com>
33598
33599 * util/i386/pc/grub-mkrescue.in: New file.
33600 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33601 * Makefile.in: Handle bin_SCRIPTS.
33602
29b0ed46 336032007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33604
33605 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33606 list of video modes.
33607
c0f90770 336082007-06-06 Robert Millan <rmh@aybabtu.com>
33609
33610 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33611 file doesn't exist, or if it is in a filesystem grub can't read.
33612
33613 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33614 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33615 header comment to fit in 80 columns when the variables are resolved.
33616
33617 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33618 could be identified by update-grub. Remove redundant check for
fe6b695a 33619 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33620 handles that).
33621
fb36dc26 336222007-06-04 Robert Millan <rmh@aybabtu.com>
33623
33624 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33625
33626 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33627
33628 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33629
0c68c93e 336302007-06-04 Robert Millan <rmh@aybabtu.com>
33631
33632 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33633
33634 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33635 grub_apple_partition_map_fini.
33636
33637 * util/biosdisk.c
33638 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33639 to access >2 TiB disks).
33640
33641 Print disk->total_sectors with %llu instead of %lu, since this
33642 variable is always 64-bit (prevents wrong disk size from being displayed
33643 on either >2 TiB disk or big-endian CPU).
33644
33645 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33646 into a generic case that supports all (sane) partition maps.
33647
33648 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33649 breaks big-endian.
33650
33651 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33652 and grub_apple_partition_map_fini() after that.
33653
0f23eb74 336542007-06-01 Robert Millan <rmh@aybabtu.com>
33655
33656 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33657
33658 * util/grub.d/00_header.in: Only enable gfxterm when
33659 convert_system_path_to_grub_path() succeeds.
33660
42c71976 336612007-05-20 Robert Millan <rmh@aybabtu.com>
33662
33663 * util/update-grub_lib.in: New file.
33664 * DISTLIST: Add update-grub_lib.in.
33665 * conf/common.rmk: Generate update-grub_lib and install it in
33666 $(lib_DATA).
33667 * Makefile.in: Add install routine for $(lib_DATA).
33668
33669 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33670 function provided by update-grub_lib to support arbitrary paths of
33671 unifont.pff.
33672 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33673 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33674
5beb2291 336752007-05-19 Robert Millan <rmh@aybabtu.com>
33676
33677 * commands/i386/cpuid.c: New module.
33678 * DISTLIST: Add it.
33679 * conf/i386-efi.rmk: Enable cpuid.mod.
33680 * conf/i386-pc.rmk: Likewise.
33681
7262eca1 336822007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33683
33684 * kern/disk.c (grub_disk_read): Check return value of
33685 grub_realloc().
33686
260ba823 336872007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33688
33689 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33690 arrays.
33691 * disk/raid.c (grub_raid_open): Likewise.
33692
1ecb6cf2 336932007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33694
33695 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33696 stack instead of on the heap.
33697
33698 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33699 before doing a read on it.
33700
33701 * configure.ac: Only use -fno-stack-protector for the target
33702 environment.
f19dbdb7 33703
21c8cbb1 337042007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33705
33706 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33707 __attribute_ ((unused)) to mode_type argument.
33708
33709 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33710
21c8cbb1 33711 * kern/misc.c (memcmp): Fix prototype.
33712
33713 * include/grub/partition.h [GRUB_UTIL]
33714 (grub_gpt_partition_map_init): Add prototype.
33715 (grub_gpt_partition_map_fini): Likewise.
33716
33717 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33718 at the right place.
33719
33720 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33721 (grub_fat_read_data): Likewise.
33722 (grub_fat_find_dir): Likewise.
33723
33724 * font/manager.c (find_glyph): Make table a const.
33725 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33726
849d55d3 337272007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33728
33729 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33730 code, first search for device in /dev/mapper, then in /dev.
33731 (grub_util_get_grub_dev): New function.
33732 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33733 prototype.
33734 * util/grub-probe.c (probe): Remove check for RAID, call
33735 grub_util_get_grub_dev() instead of
33736 grub_util_biosdisk_get_grub_dev().
33737 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33738 grub_util_biosdisk_get_grub_dev().
33739 * util/i386/pc/grub-setup.c (main): Likewise.
33740
8fff7c2f 337412007-05-16 Robert Millan <rmh@aybabtu.com>
33742
33743 * DISTLIST: Update for the latest changes.
33744 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33745 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33746 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33747 grub/util/biosdisk.h.
33748 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33749 grub/util/biosdisk.h.
33750
48e12b52 337512007-05-16 Robert Millan <rmh@aybabtu.com>
33752
33753 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33754
46b9d128 337552007-05-16 Robert Millan <rmh@aybabtu.com>
33756
33757 * util/i386/efi/grub-install.in: New.
33758 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33759 newly added grub-install.
33760 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33761 include.
33762 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33763 grub/util/biosdisk.h.
33764 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33765 grub/util/biosdisk.h.
33766
2d1a40a9 337672007-05-16 Robert Millan <rmh@aybabtu.com>
33768
33769 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33770 * include/grub/util/biosdisk.h: ... here.
33771 * util/i386/pc/biosdisk.c: Moved to ...
33772 * util/biosdisk.c: ... here.
33773 * util/i386/pc/getroot.c: Moved to ...
33774 * util/getroot.c: ... here.
33775 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33776 * util/grub-mkdevicemap.c: ... here.
33777 * util/i386/pc/grub-probe.c: Moved to ...
33778 * util/grub-probe.c: ... here.
33779
9e26e3bc 337802007-05-15 Robert Millan <rmh@aybabtu.com>
33781
33782 * util/update-grub.in: Remove duplicated line in grub.cfg header
33783 message.
33784
57f96397 337852007-05-13 Robert Millan <rmh@aybabtu.com>
33786
33787 * util/update-grub.in: Fix a few assumptions about the devices holding
33788 /, /boot and /boot/grub being the same.
33789 * util/grub.d/00_header.in: Likewise.
33790 * util/grub.d/10_hurd.in: Likewise.
33791 * util/grub.d/10_linux.in: Likewise.
33792
33793 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33794 patterns. Use that to define the `.old' suffix as older than `'.
33795
33796 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33797
33798 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33799 the grub.cfg header message.
33800
2e610d62 338012007-05-11 Robert Millan <rmh@aybabtu.com>
33802
33803 * util/update-grub.in: Create device.map if it doesn't already exist,
33804 before attempting to run grub-probe.
33805 Check for grub-probe and grub-mkdevicemap with the same code
33806 grub-install is using.
33807 Remove test mode.
33808
3f6a10ef 338092007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33810
33811 * Makefile.in: Add the datarootdir autoconf variable.
33812
02e7b75e 338132007-05-09 Robert Millan <rmh@aybabtu.com>
33814
33815 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33816 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33817
75f396cc 338182007-05-07 Robert Millan <rmh@aybabtu.com>
33819
33820 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33821 determine partition map module.
33822 * util/i386/pc/grub-install.in: Use this feature to decide which
33823 partition module to load, instead of hardcoding pc and gpt.
33824
da65cb36 338252007-05-07 Robert Millan <rmh@aybabtu.com>
33826
33827 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33828 source directory differs from build directory.
33829
b57d6a91 338302007-05-05 Robert Millan <rmh@aybabtu.com>
33831
33832 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33833 initialisation.
33834
509d00f1 338352007-05-05 Robert Millan <rmh@aybabtu.com>
33836
33837 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33838
c48f23ef 338392007-05-05 Robert Millan <rmh@aybabtu.com>
33840
33841 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33842 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33843
20b97658 338442007-05-05 Robert Millan <rmh@aybabtu.com>
33845
33846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33847 (grub_probe_SOURCES): Likewise.
33848 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33849 GPT and initialize dos_part and bsd_part accordingly.
33850 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33851 install_bsd_part.
33852 (main): Activate gpt module for use during partition identification,
33853 and deactivate it afterwards.
33854 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33855 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33856 partition identification, and deactivate it afterwards.
33857
99123174 338582007-05-05 Robert Millan <rmh@aybabtu.com>
33859
33860 * term/i386/pc/console.c (grub_console_fini): Call
33861 grub_term_set_current() before grub_term_unregister().
33862
ebd97f6e 338632007-05-04 Robert Millan <rmh@aybabtu.com>
33864
33865 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33866 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33867 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33868 and update-grub_DATA.
33869 * conf/common.rmk: Build and install update-grub components.
33870 * conf/common.mk: Regenerate.
33871 * util/update-grub.in: New. Core of update-grub.
33872 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33873 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33874 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33875 * util/grub.d/README: New. Document grub.d directory layout.
33876
b06a264d 338772007-05-01 Robert Millan <rmh@aybabtu.com>
33878
33879 * util/grub-emu.c: Move initialization functions
33880 grub_util_biosdisk_init() and grub_init_all() before
33881 grub_util_biosdisk_get_grub_dev(), which relies on them.
33882
41f0050e 338832007-04-19 Robert Millan <rmh@aybabtu.com>
33884
33885 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33886 it is used later.
33887
04582bb3 338882007-04-18 Jerone Young <jerone@gmail.com>
33889
f19dbdb7 33890 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33891 stanza.
33892
08db4632 338932007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33894
08db4632 33895 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33896 continue on and look for device node with real device name.
33897
801b76be 338982007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33899
fe6b695a 33900 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33901 ability.
33902 * Makefile.in: Add autoconf package transformation code.
33903 * util/i386/pc/grub-install.in: Likewise.
33904 * util/powerpc/ieee1275/grub-install.in: Likewise.
33905
6795c4e1 339062007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33907
33908 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33909 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33910 (EXT2_REVISION): Likewise.
33911 (EXT2_INODE_SIZE): Likewise.
33912 (struct grub_ext2_block_group): Added a missing member
33913 "used_dirs".
33914 (grub_ext2_read_inode): Divide by the inode size in a superblock
33915 instead of 128 to obtain INODES_PER_BLOCK.
33916 Use the macro EXT2_INODE_SIZE instead of directly using
33917 SBLOCK->INODE_SIZE.
33918
d70af616 339192007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33920
33921 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33922 superblock instead of the structure size to compute an
33923 offset. This fixes the problem that GRUB could not read a
33924 filesystem when inode size is different from 128-byte.
33925
3b801603 339262007-03-05 Marco Gerards <marco@gnu.org>
33927
33928 * normal/main.c (read_config_file): When "menu" is not set, create
33929 an initial context.
33930
4785bfe4 339312007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33932
33933 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33934 (HEAP_LIMIT): New macro.
33935 (grub_claim_heap): Claim memory up to `heaplimit'.
33936
a0cbb023 339372007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33938
33939 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33940 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33941 (_start): Likewise.
33942 (grub_arch_modules_addr): Return address after `_end'.
33943 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33944 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33945 (add_segments): Calculate `_end' from phdr size and location.
33946 (ALIGN_UP): Moved to ...
33947 * include/grub/misc.h: here.
33948 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33949 New macro.
33950 (GRUB_IEEE1275_MODULE_BASE): Removed.
33951
fd7d8eba 339522007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33953
33954 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33955 loop boundary.
33956
9b09e6fc 339572007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33958
33959 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33960 All users updated.
33961 (grub_elf64_load_hook_t): Likewise.
33962 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33963 debug output.
33964
3ce27299 339652007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33966
33967 * kern/mm.c: Update copyright.
33968 (grub_mm_debug): Correct syntax error.
33969 (grub_mm_dump_free): New function.
33970 (grub_debug_free): Call `grub_free'.
33971 * include/grub/mm.h: Update copyright.
33972 (grub_mm_dump_free): Add declaration.
33973
077d5fee 339742007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33975
33976 * include/grub/ieee1275/ieee1275.h: Update copyright.
33977 * kern/powerpc/ieee1275/init.c: Likewise.
33978 * kern/powerpc/ieee1275/openfw.c: Likewise.
33979
33980 * loader/powerpc/ieee1275/linux.c: Likewise.
33981 * include/grub/elfload.h: Likewise.
33982 * kern/elf.c: Likewise.
33983 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33984 callers.
33985 (grub_elf64_load): Likewise.
33986 (grub_elf32_load_segment): Move to a nested function.
33987 (grub_elf64_load_segment): Likewise.
33988
dc946850 339892007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33990
33991 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33992 prototype.
33993 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33994 (grub_heap_len): Likewise.
33995 (HEAP_SIZE): New macro.
33996 (grub_claim_heap): New function.
33997 (grub_machine_init): Don't claim heap directly. Call
33998 `grub_claim_heap'.
33999 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34000 (grub_available_iterate): New function.
34001
baa2a121 340022007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34003
34004 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34005 * configure.ac: Use it for testing the HOST and TARGET compilers.
34006
4fe9862e 340072006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34008
34009 * Makefile.in (enable_grub_emu): New variable.
34010 * configure.ac (--enable-grub-emu): New option.
34011 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34012 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34013 * conf/i386-pc.rmk: Likewise.
34014 * conf/powerpc-ieee1275.rmk: Likewise.
34015 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34016
a8aa5762 340172006-12-12 Marco Gerards <marco@gnu.org>
34018
34019 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34020
34021 * kern/env.c (grub_env_unset): Don't free the member `value' when
34022 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34023 pointer.
34024
34025 * normal/main.c (current_menu): Removed.
34026 (free_menu): Unset the `menu' environment variable.
34027 (grub_normal_menu_addentry): Make use of the environment variable
34028 `menu', instead of using the global `current_menu'. Allocate
34029 memory for the sourcecode of this entry.
34030 (read_config_file): New argument `nested', changed all callers.
34031 Only in the case of a new context, initialize a new menu. Set the
34032 `menu' environment variable.
34033 (grub_normal_execute): Don't set and unset the environment
34034 variable `menu' here anymore. Only free the menu when leaving the
34035 context.
34036
34037 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34038 leak.
34039
957b3a3e 340402006-12-11 Marco Gerards <marco@gnu.org>
34041
34042 * normal/menu_entry.c (run): Fix off by one bug so the last line
34043 is executed. Move the loader check to outside the loop.
34044
ef875714 340452006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34046
34047 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34048
4e739985 340492006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34050
34051 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34052 the number of sectors. Reported by Andrey Shuvikov
34053 <mr_hyro@yahoo.com>.
f19dbdb7 34054
790707f2 340552006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34056
34057 * kern/disk.c (grub_disk_read): When there is a read error, always
34058 try to read only the necessary data.
f19dbdb7 34059
790707f2 34060 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34061 disk/raid.c.
34062 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34063 prototype.
34064 [GRUB_UTIL] (grub_raid_fini): Likewise.
34065 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34066 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34067 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34068 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34069 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34070 and grub_raid_fini().
f19dbdb7 34071
03e58196 340722006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34073
34074 * include/grub/types.h (__unused): Rename to UNUSED.
34075 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34076 (grub_elf64_size): Likewise.
f19dbdb7 34077
ae4f23bf 340782006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34079
34080 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34081 grub_error_push and grub_error_pop in the error-handling path.
34082 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34083 length.
34084
2166cc83 340852006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34086
34087 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34088 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34090 (kernel_elf_SOURCES): Likewise.
34091 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34092 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34093 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34094 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34095 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34096 (elf_mod_SOURCES): New variable.
34097 (elf_mod_CFLAGS): Likewise.
34098 (elf_mod_LDFLAGS): Likewise.
34099 * include/grub/types.h (__unused): New macro.
34100 * include/grub/elfload.h: New file.
34101 * kern/elf.c: Likewise.
34102 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34103 (ELF32_LOADMASK): New macro.
34104 (ELF64_LOADMASK): Likewise.
34105 (vmlinux): Removed.
34106 (grub_linux_load32): New function.
34107 (grub_linux_load64): Likewise.
34108 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34109 Use grub_elf_t instead of grub_file_t.
34110
a09d5aa5 341112006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34112
34113 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34114 `catch_result' to struct set_color_args.
34115
d976fc51 341162006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34117
34118 * normal/menu.c: Include grub/script.h.
34119 * normal/menu_entry.c: Likewise.
34120 * include/grub/normal.h: Do not include grub/script.h.
34121
67507549 341222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34123
34124 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34125
69203a99 341262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34127
34128 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34129 disk.
34130 (grub_disk_close): Print debug messages when closing a disk.
34131 (grub_disk_read): Print debug messages when disk read fails.
34132 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34133 filesystem type.
34134 * kern/partition.c: Include misc.h.
34135 (grub_partition_iterate): Print debug messages when detecting
34136 partition type.
34137
e2b8278c 341382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34139
34140 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34141 is negative.
34142 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34143
97b2f2ff 341442006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34145
34146 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34147 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34148
6555d655 341492006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34150
34151 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34152 instead of sizeof(lv). Patch by Michael Guntsche.
34153
4d42b77f 341542006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34155
34156 * disk/lvm.c: Rename VGS to VG_LIST.
34157 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34158 (grub_lvm_open): Likewise.
34159 Thanks to Michael Guntsche for finding this bug.
34160
5d74d927 341612006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34162
34163 * configure.ac (AC_INIT): Bumped to 1.95.
34164
a1bb27e4 341652006-10-14 Robert Millan <rmh@aybabtu.com>
34166
34167 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34168 with "/dev/.static/dev/md".
34169
e0994b8b 341702006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34171
34172 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34173 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34174 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34175 DRIVE_NAME are always freed.
34176
34177 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34178 DOS_PART, as a DOS partition is counted from one instead of zero
34179 now. Reported by Robert Millan.
34180
ddd5cee9 341812006-10-14 Robert Millan <rmh@aybabtu.com>
34182
34183 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34184 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34185 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34186 string returned by grub_guess_root_device.
34187 * util/i386/pc/grub-setup.c: Likewise.
34188 * util/i386/pc/grub-probefs.c: Likewise.
34189
34190 * util/i386/pc/grub-probefs.c: Rename to ...
34191 * util/i386/pc/grub-probe.c: ... this.
34192 * DISTLIST: Remove grub-probefs, add grub-probe.
34193 * conf/i386-efi.rmk: Likewise.
34194 * conf/i386-pc.rmk: Likewise.
34195 * util/i386/pc/grub-install.in: Likewise.
34196
34197 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34198 choose which information we want to print.
34199
2b002173 342002006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34201
34202 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34203 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34204 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34205 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34206 video/readers/tga.c and video/i386/pc/vbeutil.c.
34207
342082006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34209
34210 Added support for RAID and LVM.
f19dbdb7 34211
2b002173 34212 * disk/lvm.c: New file.
34213 * disk/raid.c: Likewise.
34214 * include/grub/lvm.h: Likewise.
f19dbdb7 34215 * include/grub/raid.h: Likewise.
2b002173 34216 * include/grub/util/lvm.h: Likewise.
34217 * include/grub/util/raid.h: Likewise.
34218 * util/lvm.c: Likewise.
34219 * util/raid.c: Likewise.
34220
34221 * include/grub/disk.h (grub_disk_dev_id): Add
34222 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34223 (grub_disk_get_size): New prototype.
34224 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34225 returns a partition.
34226 (grub_disk_get_size): New function.
f19dbdb7 34227
2b002173 34228 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34229 verbatim if grub_install_dos_part is -2.
34230
34231 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34232 and LVM devices.
34233
34234 * util/i386/pc/grub-setup.c (setup): New argument
34235 MUST_EMBED. Force embedding of GRUB when the argument is
34236 true. Close FILE before returning.
34237 (main): Add support for RAID and LVM.
f19dbdb7 34238
2b002173 34239 * conf/common.rmk: Add RAID and LVM modules.
34240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34241 util/lvm.c.
34242 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34243
34244 * kern/misc.c (grub_strstr): New function.
34245 * include/grub/misc.h (grub_strstr): New prototype.
34246
050548d0 342472006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34248
34249 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34250
da849d2d 342512006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34252
34253 * kern/misc.c (grub_strtoull): Guess the base only if not
34254 specified.
34255
97b2f2ff 342562006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34257
34258 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34259 PowerMac support.
34260
97b2f2ff 342612006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34262
34263 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34264
34265 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34266 Remove `flags' argument. All callers changed.
34267 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34268 (IEEE1275_IHANDLE_INVALID): New variable.
34269 (IEEE1275_CELL_INVALID): New variable.
34270 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34271 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34272 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34273 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34274 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34275 codes from Open Firmware. All callers updated.
34276 (grub_ieee1275_next_property): Directly return Open Firmware return
34277 code.
34278 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34279 Standardize error checking from `grub_ieee1275_get_property'.
34280 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34281 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34282
97b2f2ff 342832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34284
34285 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34286 `instance_to_package_args' to `instance_to_path_args'.
34287
34288 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34289 `grub_ieee1275_chosen'.
34290
34291 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34292 `grub_ieee1275_interpret'.
34293
97b2f2ff 342942006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34295
34296 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34297
97b2f2ff 342982006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34299
34300 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34301 (__cmpdi): Likewise.
34302
34303 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34304 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34305 `grub_ssize_t'.
34306
02bb8acc 34307 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34308
34309 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34310 to type `grub_ssize_t'.
34311 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34312
7f9a8531 343132006-09-22 Marco Gerards <marco@gnu.org>
34314
34315 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34316 newlines.
34317
b5ef1102 343182006-09-22 Marco Gerards <marco@gnu.org>
34319
34320 * commands/echo.c: New file.
34321
34322 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34323
34324 * conf/common.rmk (echo_mod_SOURCES): New variable.
34325 (echo_mod_CFLAGS): Likewise.
34326 (echo_mod_LDFLAGS): Likewise.
34327
2cff3677 343282006-09-22 Marco Gerards <marco@gnu.org>
34329
34330 * normal/main.c (get_line): Malloc memory instead of using
34331 preallocated memory. Removed the arguments `cmdline' and
34332 `max_len'. Updated all callers.
34333
6ba4688b 343342006-09-22 Marco Gerards <marco@gnu.org>
34335
34336 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34337 (normal_mod_DEPENDENCIES): Likewise.
34338
34339 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34340 (normal_mod_DEPENDENCIES): Likewise.
34341
34342 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34343
e02ac02c 343442006-09-22 Johan Rydberg <jrydberg@gnu.org>
34345
34346 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34347 programs.
34348 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34349 (normal_mod_DEPENDENCIES): Likewise.
34350 * conf/i386-pc.mk: Regenerate.
34351 * conf/i386-efi.mk: Likewise
34352 * conf/common.mk: Likewise.
34353 * conf/powerpc-ieee1275.mk: Likewise.
34354 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34355
8d252e44 343562006-09-22 Robert Millan <rmh@aybabtu.com>
34357
34358 Sync with i386 version.
34359 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34360 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34361
209bf7ac 343622006-09-21 Robert Millan <rmh@aybabtu.com>
34363
34364 Import from GRUB Legacy (lib/device.c):
34365 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34366 (init_device_map) [__linux__]: Add support for I2O devices.
34367
6b146090 343682006-09-14 Marco Gerards <marco@gnu.org>
34369
34370 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34371 `-melf_i386'.
34372
e38600a8 343732006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34374
34375 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34376 /boot/grub/*.lst.
78fa1790 34377
2952da5d 34378 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34379
2952da5d 34380 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34381 before adding it to device.map.
34382
01b82a64 343832006-08-15 Johan Rydberg <jrydberg@gnu.org>
34384
fe6b695a 34385 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34386 compiles a file; using the -MD option.
34387 * conf/common.mk: Regenerate.
34388 * conf/i386-pc.mk: Likewise.
34389 * conf/i386-efi.mk: Likewise.
34390 * conf/powerpc-ieee1275.mk: Likewise.
34391 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34392
1064790d 343932006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34394
34395 Move the prototypes of grub_setjmp and grub_longjmp to
34396 cpu/setjmp.h, so that each architecture may specify different
34397 attributes.
f19dbdb7 34398
1064790d 34399 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34400 (grub_longjmp): Likewise.
34401 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34402 (grub_longjmp): Likewise.
34403 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34404 (grub_longjmp): Likewise.
34405
34406 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34407 [!GRUB_UTIL] (grub_longjmp): Removed.
34408
29dda3ed 344092006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34410
34411 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34412 "color!" method does not return any value.
34413
ad2a06ed 344142006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34415
34416 * include/grub/bitmap.h: New file.
34417
34418 * include/grub/i386/pc/vbeutil.h: Likewise.
34419
34420 * video/bitmap.c: Likewise.
34421
34422 * video/readers/tga.c: Likewise.
34423
34424 * video/i386/pc/vbeutil.c: Likewise.
34425
34426 * commands/videotest.c: Code cleanup and updated to reflect to new
34427 video API.
34428
34429 * term/gfxterm.c: Likewise.
34430
34431 * video/video.c: Likewise.
34432
34433 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34434 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34435 (bitmap_mod_SOURCES): New entry.
34436 (bitmap_mod_CFLAGS): Likewise.
34437 (bitmap_mod_LDFLAGS): Likewise.
34438 (tga_mod_SOURCES): Likewise.
34439 (tga_mod_CFLAGS): Likewise.
34440 (tga_mod_LDFLAGS): Likewise.
34441
34442 * include/grub/video.h (grub_video_blit_operators): New enum type.
34443 (grub_video_render_target): Changed as forward declaration and moved
34444 actual definition to be video driver specific.
34445 (grub_video_adapter.blit_bitmap): Added blitting operator.
34446 (grub_video_adapter.blit_render_target): Likewise.
34447 (grub_video_blit_bitmap): Likewise.
34448 (grub_video_blit_render_target): Likewise.
34449
34450 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34451 driver specific render target definition.
34452 (grub_video_vbe_map_rgba): Added driver internal helper.
34453 (grub_video_vbe_unmap_color): Updated to use
34454 grub_video_i386_vbeblit_info.
34455 (grub_video_vbe_get_video_ptr): Likewise.
34456
34457 * include/grub/i386/pc/vbeblit.h
34458 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34459 grub_video_i386_vbeblit_info.
34460 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34461 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34462 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34463 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34464 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34465 (grub_video_i386_vbeblit_index_index): Likewise.
34466 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34467 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34468 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34469 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34470 operator.
34471 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34472 operator.
34473
34474 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34475 include/grub/i386/pc/vbeblit.h.
34476
34477 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34478 Updated to use grub_video_i386_vbeblit_info.
34479 (grub_video_i386_vbefill_R8G8B8): Likewise.
34480 (grub_video_i386_vbefill_index): Likewise.
34481 (grub_video_i386_vbefill): Added generic filler.
34482
34483 * video/i386/pc/vbefill.c: Updated to reflect changes on
34484 include/grub/i386/pc/vbefill.h.
34485
34486 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34487 grub_video_i386_vbeblit_info.
34488 (grub_video_vbe_unmap_color): Likewise.
34489 (grub_video_vbe_blit_glyph): Likewise.
34490 (grub_video_vbe_scroll): Likewise.
34491 (grub_video_vbe_draw_pixel): Removed function.
34492 (grub_video_vbe_get_pixel): Likewise.
34493 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34494 updated code to use it.
34495 (common_blitter): Added common blitter for render target and bitmap.
34496 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34497 (grub_video_vbe_blit_render_target): Likewise.
34498
bc8c036d 344992006-07-30 Johan Rydberg <jrydberg@gnu.org>
34500
34501 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34502 is in text mode if there is no console control protocol instance
34503 available.
34504
684a8eff 345052006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34506
34507 * include/grub/video.h: Code cleanup.
34508
34509 * include/grub/i386/pc/vbe.h: Likewise.
34510
34511 * video/i386/pc/vbe.c: Likewise.
34512
34513 * video/i386/pc/vbeblit.c: Likewise.
34514
34515 * video/i386/pc/vbefill.c: Likewise.
34516
34517 * video/video.c: Likewise. Also added more comments.
34518
5915059b 345192006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34520
34521 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34522 (struct grub_biosdisk_dap): Likewise.
34523
34524 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34525 linkage settings for all functions.
34526
90ce5d56 345272006-07-12 Marco Gerards <marco@gnu.org>
34528
34529 * configure.ac (--enable-mm-debug): Fix typo.
34530
34531 * genkernsyms.sh.in: Use proper quoting for `CC'.
34532
43e7f879 345332006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34534
34535 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34536 (normal_mod_ASFLAGS): Remove "-m32".
34537
4889bdec 345382006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34539
34540 * util/misc.c: Include config.h.
34541 [!HAVE_MEMALIGN]: Do not include malloc.h.
34542 (grub_memalign): Use posix_memalign, if present. Then, use
34543 memalign, if present. Otherwise, emit an error.
34544
34545 * util/grub-emu.c: Do not include malloc.h.
34546
34547 * include/grub/util/misc.h: Include unistd.h. This is required for
34548 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34549 D. Eades III <hde@foobar-qux.org>.
34550
34551 * configure.ac (AC_GNU_SOURCE): Added.
34552 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34553 type.
34554
fd39d4da 345552006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34556
34557 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34558 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34559
b786f3b5 345602006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34561
34562 * include/grub/types.h (grub_host_addr_t): Rename to
34563 grub_target_addr_t.
34564 (grub_host_off_t): Rename to grub_target_off_t.
34565 (grub_host_size_t): Rename to grub_target_size_t.
34566 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34567 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34568
34569 * include/grub/kernel.h (struct grub_module_header): Change type
34570 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34571 (grub_module_info): Likewise.
f19dbdb7 34572
051988bb 345732006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34574
34575 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34576 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34577 Velazquez <jesus.velazquez@gmail.com>.
34578
deae281b 345792006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34580
34581 Count partitions from 1 instead of 0 in the string representation
34582 of partitions. Still use 0-based internally.
f19dbdb7 34583
deae281b 34584 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34585 (sun_partition_map_iterate): Use grub_partition_t instead of
34586 struct grub_partition *. Cast DESC->START_CYLINDER to
34587 grub_uint64_t after converting the endian.
34588 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34589 (sun_partition_map_get_name): Add 1 to P->INDEX.
34590
34591 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34592 PCDATA->DOS_PART.
34593 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34594
34595 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34596 zero instead of one.
34597 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34598 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34599
34600 * partmap/apple.c (apple_partition_map_iterate): Change the type
34601 of POS to unsigned.
34602 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34603 (apple_partition_map_get_name): Add 1 into P->INDEX.
34604
34605 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34606 of POS to unsigned.
34607 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34608 calculate the offset of a partition.
34609 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34610 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34611
34612 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34613 SECTOR to grub_disk_addr_t.
34614 (acorn_partition_map_iterate): Likewise.
34615 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34616 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34617 top.
34618 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34619
34620 * kern/i386/pc/init.c (make_install_device): Add 1 into
34621 GRUB_INSTALL_DOS_PART.
34622
34623 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34624 conditional.
34625
524a1e6a 346262006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34627
34628 Clean up the code to support 64-bit addressing in disks and
34629 files. This change is not enough for filesystems yet.
f19dbdb7 34630
524a1e6a 34631 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34632 type of "start" to grub_uint64_t.
34633 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34634 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34635 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34636 convert addresses.
34637
34638 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34639 to grub_disk_addr_t.
34640
34641 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34642 string.
34643
34644 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34645
34646 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34647 to char *.
34648
34649 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34650
34651 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34652
34653 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34654
34655 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34656 to grub_off_t, to detect an error from grub_file_seek.
34657 (grub_multiboot_load_elf32): Likewise.
34658
34659 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34660 maximum unsigned long value when an overflow is detected.
34661 (grub_strtoull): New function.
34662 (grub_divmod64): Likewise.
34663 (grub_lltoa): use grub_divmod64.
34664
34665 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34666 grub_disk_addr_t.
34667 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34668 the pointer to next character. Use grub_strtoull instead of
34669 grub_strtoul.
34670 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34671 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34672 respectively.
34673
fe6b695a 34674 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34675 return value is signed.
34676 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34677 test if OFFSET is less than zero, as OFFSET is unsigned now.
34678
34679 * kern/disk.c (struct grub_disk_cache): Change the type of
34680 "sector" to grub_disk_addr_t.
34681 (grub_disk_cache_get_index): Change the type of SECTOR to
34682 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34683 unsigned after shifting.
34684 (grub_disk_cache_invalidate): Change the type of SECTOR to
34685 grub_disk_addr_t.
34686 (grub_disk_cache_unlock): Likewise.
34687 (grub_disk_cache_store): Likewise.
34688 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34689 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34690 grub_disk_addr_t and grub_uint64_t, respectively.
34691 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34692 body, as the value of OFFSET is tweaked by
34693 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34694 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34695 respectively.
34696 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34697 body, as the value of OFFSET is tweaked by
34698 grub_disk_check_range. Change the types of LEN and N to
34699 grub_size_t.
34700
34701 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34702 and "saved_offset" to grub_off_t.
34703 (test_header): Cast BUF to char *.
34704 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34705 to char *.
34706 (grub_gzio_read): Change the types of OFFSET and SIZE to
34707 grub_off_t and grub_size_t, respectively.
34708
34709 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34710 Removed.
34711 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34712 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34713 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34714 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34715 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34716
34717 * include/grub/types.h (grub_off_t): Unconditionally set to
34718 grub_uint64_t.
34719 (grub_disk_addr_t): Changed to grub_uint64_t.
34720
34721 * include/grub/partition.h (struct grub_partition): Change the
34722 types of "start", "len" and "offset" to grub_disk_addr_t,
34723 grub_uint64_t and grub_disk_addr_t, respectively.
34724 (grub_partition_get_start): Return grub_disk_addr_t.
34725 (grub_partition_get_len): Return grub_uint64_t.
34726
34727 * include/grub/misc.h (grub_strtoull): New prototype.
34728 (grub_divmod64): Likewise.
34729
34730 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34731 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34732 grub_off_t, respectively.
34733 All callers and references changed.
34734
34735 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34736 grub_size_t in "read".
34737 All callers and references changed.
34738
34739 * include/grub/file.h (struct grub_file): Change the types of
34740 "offset" and "size" to grub_off_t and grub_off_t,
34741 respectively. Change the type of SECTOR to grub_disk_addr_t in
34742 "read_hook".
34743 (grub_file_read): Change the type of LEN to grub_size_t.
34744 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34745 grub_off_t.
34746 (grub_file_size): Return grub_off_t.
34747 (grub_file_tell): Likewise.
34748 All callers and references changed.
34749
34750 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34751 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34752 "write".
34753 (struct grub_disk): Change the type of "total_sectors" to
34754 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34755 "read_hook".
524a1e6a 34756 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34757 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34758 (grub_disk_write): Likewise.
34759 All callers and references changed.
34760
34761 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34762 char * for grub_strncmp to silence gcc.
34763 (grub_iso9660_mount): Likewise.
34764 (grub_iso9660_mount): Likewise.
34765 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34766 return statement.
34767 (grub_iso9660_iterate_dir): Likewise.
34768 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34769
34770 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34771 LEN to grub_disk_addr_t and grub_size_t, respectively.
34772
34773 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34774
34775 * fs/jfs.c (grub_jfs_read_file): Likewise.
34776
34777 * fs/minix.c (grub_jfs_read_file): Likewise.
34778
34779 * fs/sfs.c (grub_jfs_read_file): Likewise.
34780
34781 * fs/ufs.c (grub_jfs_read_file): Likewise.
34782
34783 * fs/xfs.c (grub_jfs_read_file): Likewise.
34784
34785 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34786 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34787 respectively.
34788
34789 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34790 BLKNR to -1 instead of returning GRUB_ERRNO.
34791 (grub_ext2_read_file): Change the types of SECTOR and
34792 LEN to grub_disk_addr_t and grub_size_t, respectively.
34793
34794 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34795 LEN to grub_disk_addr_t and grub_size_t, respectively.
34796
34797 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34798 grub_file_read.
34799
34800 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34801 string. Do not cast SECTOR explicitly.
34802
34803 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34804 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34805 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34806 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34807 over 2TB and LBA mode is not supported, raise an error.
34808 (get_safe_sectors): New function.
34809 (grub_biosdisk_read): Use get_safe_sectors.
34810 (grub_biosdisk_write): Likewise.
34811
34812 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34813 (grub_efidisk_write): Likewise.
34814
34815 * disk/loopback.c (delete_loopback): Cosmetic changes.
34816 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34817 correctly.
34818 (grub_loopback_open): Likewise.
34819 (grub_loopback_read): Likewise. Also, change the type of POS to
34820 grub_off_t, and fix the usage of grub_memset.
34821
34822 * commands/i386/pc/play.c: Include grub/machine/time.h.
34823
34824 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34825 print FILE->SIZE.
34826
34827 * commands/configfile.c: Include grub/env.h.
34828
34829 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34830 GRUB_ERRNO directly instead. Change the type of POS to
34831 grub_off_t. Follow the coding standard.
34832
34833 * commands/blocklist.c: Include grub/partition.h.
34834 (grub_cmd_blocklist): Return an error if the underlying device is
34835 not a disk. Take the starting sector of a partition into account,
34836 if a partition is used.
34837
34838 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34839 a length field.
34840 (lba_mode): Support 64-bit addresses.
34841 (chs_mode): Likewise.
34842 (copy_buffer): Adapted to the new offsets of a length field and a
34843 segment field.
34844 (blocklist_default_start): Allocate 64-bit space.
34845
34846 * boot/i386/pc/boot.S (force_lba): Removed.
34847 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34848 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34849 space.
34850 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34851 is useless.
34852 (lba_mode): Refactored to support a 64-bit address. More size
34853 optimization.
34854 (setup_sectors): Likewise.
34855
53af98ad 348562006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34857
34858 * DISTLIST: Added include/grub/i386/linux.h. Removed
34859 include/grub/i386/pc/linux.h
34860
34861 * configure.ac (AC_INIT): Bumped to 1.94.
34862
34863 * config.guess: Updated from gnulib.
34864 * config.sub: Likewise.
34865 * install-sh: Likewise.
34866 * mkinstalldirs: Likewise.
34867
b4c1940a 348682006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34869
34870 * conf/common.rmk (grub_modules_init.lst): Depended on
34871 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34872 MODSRCFILES.
34873
34874 * genmk.rb (PModule::rule): Reverted the previous change.
34875
cfca1cfd 348762006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34877
34878 * conf/common.rmk (grub_modules_init.lst): Depends on
34879 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34880 that the target does not exist before producing.
34881 (grub_modules_init.h): Remove the target before generating.
34882 (grub_emu_init.c): Likewise.
34883
34884 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34885
aa6d7826 348862006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34887
34888 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34889 for the target-specific tests. Make sure that we also have the
34890 up-to-date target variables for those tests.
34891
26c607b9 348922006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34893
34894 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34895 (PModule::rule): Likewise.
34896
0162321a 348972006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34898
34899 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34900 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34901 target-specific flags should be prefixed.
34902 (PModule::rule): Likewise.
34903
6c826348 349042006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34905
34906 * configure.ac (CMP): Check if cmp is available explicitly.
34907
b977bf01 349082006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34909
34910 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34911 (target_cpu): New variable.
34912 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34913
b977bf01 34914 * util/i386/pc/grub-install.in (host_cpu): Removed.
34915 (target_cpu): New variable.
34916 (pkglibdir): Use target_cpu instead of host_cpu.
34917
34918 * util/genmoddep.c: Removed.
f19dbdb7 34919
b977bf01 34920 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34921 instead of GRUB_HOST_SIZEOF_VOID_P.
34922 * kern/dl.c: Likewise.
34923
34924 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34925 ...
34926 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34927 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34928 (GRUB_TARGET_SIZEOF_LONG): ... this.
34929 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34930 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34931 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34932 to ...
34933 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34934 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34935 (GRUB_TARGET_SIZEOF_LONG): ... this.
34936 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34937 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34938 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34939 to ...
34940 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34941 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34942 (GRUB_TARGET_SIZEOF_LONG): ... this.
34943 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34944 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34945
34946 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34947 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34948 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34949 instead of GRUB_HOST_SIZEOF_LONG.
34950 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34951 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34952 GRUB_CPU_WORDS_BIGENDIAN.
34953 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34954 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34955 grub_host_ssize_t.
34956
34957 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34958 (genmoddep_SOURCES): Likewise.
34959 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34960 (genmoddep_SOURCES): Likewise.
34961 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34962 (genmoddep_SOURCES): Likewise.
34963 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34964 Likewise.
34965 (genmoddep_SOURCES): Likewise.
34966
34967 * genmoddep.awk: New file.
34968
34969 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34970 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34971 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34972 (PModule::rule): Likewise.
34973 (Program::rule): Likewise.
34974 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34975 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34976 respectively.
34977
34978 * configure.ac: Rewritten intensively to use host and target
34979 instead of build and host, respectively.
34980
34981 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34982 (host_cpu): Removed.
34983 (target_cpu): New variable.
34984 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34985 (BUILD_CC): Removed.
34986 (BUILD_CFLAGS): Likewise.
34987 (BUILD_CPPFLAGS): Likewise.
34988 (TARGET_CC): New variable.
34989 (TARGET_CFLAGS): Likewise.
34990 (TARGET_CPPFLAGS): Likewise.
34991 (TARGET_LDFLAGS): Likewise.
34992 (AWK): Likewise.
34993 (include): Use target_cpu instead of host_cpu.
34994 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34995
b977bf01 34996 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34997
f09771a1 349982006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34999
35000 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35001 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35002 field 'false' to 'exec_on_false'.
35003 (grub_script_create_cmdif): Renamed argument names to reflect above
35004 changes.
35005
35006 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35007
35008 * normal/script.c (grub_script_create_cmdif): Likewise.
35009
118f4fb3 350102006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35011
35012 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35013 top.
35014 (grub_hfsplus_btree_recptr): Likewise.
35015 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35016 FILEBLOCK both to pass a block number and store next block
35017 number.
35018 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35019 overflow file correctly. Specify errors appropriately, because
35020 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35021 grub_hfsplus_btree_recptr to get the pointer to a found key.
35022 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35023 is found.
35024
35025 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35026 linux.mod.
35027 (_linux_mod_SOURCES): New variable.
35028 (_linux_mod_CFLAGS): Likewise.
35029 (_linux_mod_LDFLAGS): Likewise.
35030 (linux_mod_SOURCES): Likewise.
35031 (linux_mod_CFLAGS): Likewise.
35032 (linux_mod_LDFLAGS): Likewise.
35033
35034 * DISTLIST: Added loader/i386/efi/linux.c,
35035 loader/i386/efi/linux_normal.c and
35036 include/grub/i386/efi/loader.h.
35037
35038 * loader/i386/efi/linux.c: New file.
35039 * loader/i386/efi/linux_normal.c: Likewise.
35040 * include/grub/i386/efi/loader.h: Likewise.
35041
89a7d726 350422006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35043
35044 * commands/blocklist.c: New file.
35045
35046 * DISTLIST: Added commands/blocklist.c.
35047
35048 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35049 color for the background, and a darker color for the foreground.
89a7d726 35050 (grub_console_checkkey): Return READ_KEY.
35051 (grub_console_cls): Set the background to
35052 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35053
35054 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35055
35056 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35057 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35058
35059 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35060 prototype.
35061
35062 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35063 BG. The spec is wrong again.
35064
35065 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35066 prototype.
35067 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35068
35069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35070 commands/blocklist.c.
35071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35072
89a7d726 35073 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35074 (blocklist_mod_SOURCES): New variable.
35075 (blocklist_mod_CFLAGS): Likewise.
35076 (blocklist_mod_LDFLAGS): Likewise.
35077
75c8f258 350782006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35079
35080 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35081 duplication.
35082 (lba_mode): Use %eax more intensively to reduce the code size.
35083
da2eb181 350842006-05-20 Marco Gerards <marco@gnu.org>
35085
35086 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35087
35088 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35089 for `menuentry'.
35090 (script): Accept leading newlines.
35091 (newlines): New rule to describe 0 or more newlines.
35092 (commands): Accept `command' with trailing newline. Fixed the
35093 order in which arguments were passed to `grub_script_add_cmd'.
35094 Accept commands separated by newlines.
35095 (function): Changed to accept newlines.
35096 (menuentry) Rewritten.
35097
35098 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35099 front of the list, instead of to the end.
35100
577b4050 351012006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35102
35103 * util/i386/pc/grub-install.in (bindir): New variable.
35104 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35105 Shaver <lbgwjl@gmail.com>.
35106
0d6e1189 351072006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35108
35109 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35110 grub/machine/linux.h
35111 * loader/i386/pc/linux.c: Likewise.
35112
35113 * include/grub/i386/pc/linux.h: Moved to ...
35114 * include/grub/i386/linux.h: ... here.
35115
35116 * include/grub/i386/linux.h (struct linux_kernel_params): New
35117 struct.
f19dbdb7 35118
31b86e9f 351192006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35120
35121 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35122 checking.
35123 (grub_video_vbe_blit_glyph): Likewise.
35124 (grub_video_vbe_blit_bitmap): Likewise.
35125 (grub_video_vbe_blit_render_target): Likewise.
35126
83b984de 351272006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35128
35129 * configure.ac (--with-platform): Properly quote the square
35130 brackets.
35131
5f0413bd 351322006-05-08 Marco Gerards <marco@gnu.org>
35133
35134 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35135 this...
35136 (kernel_elf_HEADERS): ...to this. Updated all users.
35137 (grubof_symlist.c): Renamed from this...
35138 (kernel_elf_symlist.c): ...to this. Updated all users.
35139 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35140 (grubof_SOURCES): Renamed from this...
35141 (kernel_elf_SOURCES): ...to this.
35142 (grubof_HEADERS): Renamed from this...
35143 (kernel_elf_HEADERS): ...to this.
35144 (grubof_CFLAGS): Renamed from this...
35145 (kernel_elf_CFLAGS): ...to this.
35146 (grubof_ASFLAGS): Renamed from this...
35147 (kernel_elf_ASFLAGS): ...to this.
35148 (grubof_LDFLAGS): Renamed from this...
35149 (kernel_elf_LDFLAGS): ...to this.
35150
35151 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35152 this...
35153 (kernel_elf_HEADERS): ...to this. Updated all users.
35154 (grubof_symlist.c): Renamed from this...
35155 (kernel_elf_symlist.c): ...to this. Updated all users.
35156 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35157 (grubof_SOURCES): Renamed from this...
35158 (kernel_elf_SOURCES): ...to this.
35159 (grubof_HEADERS): Renamed from this...
35160 (kernel_elf_HEADERS): ...to this.
35161 (grubof_CFLAGS): Renamed from this...
35162 (kernel_elf_CFLAGS): ...to this.
35163 (grubof_ASFLAGS): Renamed from this...
35164 (kernel_elf_ASFLAGS): ...to this.
35165 (grubof_LDFLAGS): Renamed from this...
35166 (kernel_elf_LDFLAGS): ...to this.
35167
35168 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35169 `kernel.elf' instead of `grubof'.
35170
05568c2e 351712006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35172
35173 Add --with-platform to configure. Use pkglibdir instead of
35174 pkgdatadir. This is reported by Roger Leigh.
35175
35176 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35177 (host_vendor): Likewise.
35178 (host_os): Likewise.
35179 (pkgdatadir): Likewise.
35180 (platform): New variable.
35181 (pkglibdir): Likewise.
35182 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35183
05568c2e 35184 * util/i386/pc/grub-install.in (datadir): Removed.
35185 (host_vendor): Likewise.
35186 (host_os): Likewise.
35187 (pkgdatadir): Likewise.
35188 (platform): New variable.
35189 (pkglibdir): Likewise.
35190 Use PKGLIBDIR instead of PKGDATADIR.
35191
35192 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35193 instead of GRUB_DATADIR.
35194 (main): Likewise.
35195 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35196 (main): Likewise.
35197 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35198 (main): Likewise.
35199
35200 * configure.ac (--with-platform): New option.
35201 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35202
35203 * Makefile.in: Include a makefile based on PLATFORM instead of
35204 HOST_VENDOR.
35205 (pkgdatadir): Not appended by the machine type.
35206 (pkglibdir): Appended by the machine type.
35207 (host_vendor): Removed.
35208 (platform): New variable.
35209 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35210 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35211 (uninstall): Likewise.
35212
4e93851c 352132006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35214
35215 Use the environment context in the menu. Remove the commands
35216 "default" and "timeout", and use variables instead.
f19dbdb7 35217
4e93851c 35218 * normal/menu.c: Include grub/env.h.
35219 (print_entry): Cast TITLE to silence gcc.
35220 (get_timeout): New function.
35221 (set_timeout): Likewise.
35222 (get_entry_number): Likewise.
35223 (run_menu): Use a default entry, a fallback entry and a timeout
35224 in the environment variables "default", "fallback" and
35225 "timeout". Also, tweak the default entry if it is not within the
35226 current menu entries.
35227 (grub_menu_run): Use a fallback entry in the environment variable
35228 "fallback".
35229
35230 * normal/main.c (read_config_file): Do not initialize
35231 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35232 NEWMENU->TIMEOUT.
35233 (grub_normal_execute): Use a data slot to store the menu.
35234
35235 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35236 fallback_entry and timeout.
35237 (struct grub_menu_list): Removed.
35238 (grub_menu_list_t): Likewise.
35239 (struct grub_context): Likewise.
35240 (grub_context_t): Likewise.
35241 (grub_context_get): Likewise.
35242 (grub_context_get_current_menu): Likewise.
35243 (grub_context_push_menu): Likewise.
35244 (grub_context_pop_menu): Likewise.
35245 (grub_default_init): Likewise.
35246 (grub_default_fini): Likewise.
35247 (grub_timeout_init): Likewise.
35248 (grub_timeout_fini): Likewise.
35249
35250 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35251 and timeout.mod.
35252 (normal_mod_SOURCES): Removed normal/context.c.
35253
35254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35255 commands/default.c, commands/timeout.c and normal/context.c.
35256 (normal_mod_SOURCES): Removed normal/context.c.
35257
35258 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35259 commands/timeout.c and normal/context.c.
35260 (normal_mod_SOURCES): Removed normal/context.c.
35261
35262 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35263 commands/default.c, commands/timeout.c and normal/context.c.
35264 (normal_mod_SOURCES): Removed normal/context.c.
35265
35266 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35267 timeout.mod.
35268 (default_mod_SOURCES): Removed.
35269 (default_mod_CFLAGS): Likewise.
35270 (default_mod_LDFLAGS): Likewise.
35271 (timeout_mod_SOURCES): Removed.
35272 (timeout_mod_CFLAGS): Likewise.
35273 (timeout_mod_LDFLAGS): Likewise.
35274
35275 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35276 normal/context.c.
35277
35278 * commands/default.c: Removed.
35279 * commands/timeout.c: Likewise.
35280 * normal/context.c: Likewise.
35281
1eb9cc1d 352822006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35283
35284 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35285
385bd9c1 352862006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35287
35288 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35289 "next" to "prev" for readability.
35290 (struct grub_env_sorted_var): New struct.
35291 (grub_env_context): Renamed to ...
35292 (initial_context): ... this.
35293 (grub_env_var_context): Renamed to ...
35294 (current_context): ... this.
35295 (grub_env_find): Look only at CURRENT_CONTEXT.
35296 (grub_env_context_open): Rewritten to copy exported variables from
35297 previous context.
35298 (grub_env_context_close): Rewritten according to the new
35299 scheme. Also, add an assertion to prevent the initial context from
35300 removed.
35301 (grub_env_insert): Removed the code for the sorted list.
35302 (grub_env_remove): Likewise.
35303 (grub_env_export): Simply mark the variable with
35304 GRUB_ENV_VAR_GLOBAL.
35305 (grub_env_set): A cosmetic change for naming consistency.
35306 (grub_env_get): Likewise.
35307 (grub_env_unset): Likewise.
35308 (grub_env_iterate): Rewritten to sort variables within this
35309 function.
35310 (grub_register_variable_hook): Fixed for naming consistency. Call
35311 grub_env_find again, only if NAME is not found at the first time.
35312 (mangle_data_slot_name): New function.
35313 (grub_env_set_data_slot): Likewise.
35314 (grub_env_get_data_slot): Likewise.
35315 (grub_env_unset_data_slot): Likewise.
35316
35317 * include/grub/env.h (grub_env_var_type): New enum.
35318 (GRUB_ENV_VAR_LOCAL): New constant.
35319 (GRUB_ENV_VAR_GLOBAL): Likewise.
35320 (GRUB_ENV_VAR_DATA): Likewise.
35321 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35322 "type".
35323 (grub_env_set): Replace VAR with NAME for consistency.
35324 (grub_register_variable_hook): Likewise.
35325 (grub_env_export): Specify the name of the argument.
35326 (grub_env_set_data_slot): New prototype.
35327 (grub_env_get_data_slot): Likewise.
35328 (grub_env_unset_data_slot): Likewise.
35329
7f362539 353302006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35331
35332 Extend the loader so that GRUB can accept a loader which comes
35333 back to GRUB when a loaded image exits. Also, this change adds
35334 support for a chainloader on EFI.
f19dbdb7 35335
7f362539 35336 * term/efi/console.c: Include grub/misc.h.
35337 (grub_console_checkkey): Display a scan code on the top for
35338 debugging. This will be removed once the EFI port gets stable.
35339 Correct the scan code mapping.
35340
35341 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35342 allocate memory from larger regions, in order to reduce the number
35343 of allocated regions. Otherwise, the MacOSX loader panics.
35344 (filter_memory_map): Avoid less than 1MB for compatibility with
35345 other loaders.
35346 (add_memory_regions): Allocate from the tail of a region, if
35347 possible, to avoid allocating a region near to 1MB, for the MacOSX
35348 loader.
35349
35350 * kern/efi/init.c (grub_efi_set_prefix): Specify
35351 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35352
35353 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35354 argument IMAGE_HANDLE and specify it to get a loaded image.
35355 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35356 grub_efi_get_loaded_image.
fe6b695a 35357 (grub_efi_get_filename): Divide the length by the size of
7f362539 35358 grub_efi_char16_t.
35359 (grub_efi_get_device_path): New function.
35360 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35361 the length by the size of grub_efi_char16_t for a file path device
35362 path node.
35363
35364 * kern/loader.c (grub_loader_noreturn): New variable.
35365 (grub_loader_set): Accept a new argument NORETURN. Set
35366 GRUB_LOADER_NORETURN to NORETURN.
35367 All callers changed.
35368 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35369 grub_machine_fini.
35370
35371 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35372 prototype.
35373 (grub_efi_get_loaded_image): Take an argument to specify an image
35374 handle.
35375
35376 * include/grub/loader.h (grub_loader_set): Added one more argument
35377 NORETURN.
35378
35379 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35380 instead of grub_efi_open_protocol.
35381 (grub_efidisk_get_device_name): Likewise.
35382 (grub_efidisk_close): Print a newline.
35383 (grub_efidisk_get_device_handle): Fixed to use
35384 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35385 GRUB_EFI_DEVICE_PATH_TYPE.
35386
35387 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35388 * kern/efi/efi.c (device_path_guid): ... here.
35389
35390 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35391 chain.mod.
35392 (kernel_mod_HEADERS): Added efi/disk.h.
35393 (_chain_mod_SOURCES): New variable.
35394 (_chain_mod_CFLAGS): Likewise.
35395 (_chain_mod_LDFLAGS): Likewise.
35396 (chain_mod_SOURCES): Likewise.
35397 (chain_mod_CFLAGS): Likewise.
35398 (chain_mod_LDFLAGS): Likewise.
35399
35400 * DISTLIST: Added include/grub/efi/chainloader.h,
35401 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35402
35403 * include/grub/efi/chainloader.h: New file.
35404 * loader/efi/chainloader.c: Likewise.
35405 * loader/efi/chainloader_normal.c: Likewise.
35406
c0111d6e 354072006-04-30 Marco Gerards <marco@gnu.org>
35408
35409 * commands/configfile.c (grub_cmd_source): New function.
35410 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35411 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35412
df5341da 354132006-04-30 Marco Gerards <marco@gnu.org>
35414
35415 * normal/execute.c (grub_script_execute_cmd): Change the return
35416 type to `grub_err_t'. Correctly return the error.
35417 (grub_script_execute_cmdline): In case a command line is not a
35418 command or a function, try to interpret it as an assignment.
35419
f85934bd 354202006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35421
35422 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35423 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35424 skip a node whose name is obviously invalid as UTF-16,
35425 i.e. contains a NUL character. Stop the iteration when the last
35426 directory entry is found. Instead of using the return value of
35427 grub_hfsplus_btree_iterate_node, store the value in RET and use
35428 it, because the iterator can be stopped by the last directory
35429 entry.
35430
8f8a2cf8 354312006-04-30 Marco Gerards <marco@gnu.org>
35432
35433 * include/grub/env.h (grub_env_export): New prototype. Reported
35434 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35435
a27e84ce 354362006-04-30 Marco Gerards <marco@gnu.org>
35437
35438 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35439 size of the extents in a catalog file record.
35440
eaef0553 354412006-04-29 Marco Gerards <marco@gnu.org>
35442
35443 * commands/configfile.c (grub_cmd_configfile): Execute the
35444 configfile within its own context.
35445
35446 * include/grub/env.h (grub_env_context_open): New prototype.
35447 (grub_env_context_close): Likewise.
35448
35449 * kern/env.c (grub_env): Removed.
35450 (grub_env_sorted): Likewise.
35451 (grub_env_context): New variable.
35452 (grub_env_var_context): Likewise.
35453 (grub_env_find): Search both the active context and the global
35454 context.
35455 (grub_env_context_open): New function.
35456 (grub_env_context_close): Likewise.
35457 (grub_env_insert): Likewise.
35458 (grub_env_remove): Likewise.
35459 (grub_env_export): Likewise.
35460 (grub_env_set): Changed to use helper functions to avoid code
35461 duplication.
35462 (grub_env_iterate): Rewritten so both the current context and the
35463 global context are being used.
35464
35465 * normal/command.c (export_command): New function.
35466 (grub_command_init): Register the `export' function.
35467
7b455f4d 354682006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35469
35470 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35471 explicitly to suppress gcc's warnings.
35472 * fs/fat.c (grub_fat_find_dir): Likewise.
35473 (grub_fat_label): Likewise.
35474 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35475 (grub_xfs_mount): Likewise.
35476 (grub_xfs_label): Likewise.
35477 * fs/affs.c (grub_affs_mount): Likewise.
35478 (grub_affs_label): Likewise.
35479 (grub_affs_iterate_dir): Likewise.
35480 * fs/sfs.c (grub_sfs_mount): Likewise.
35481 (grub_sfs_iterate_dir): Likewise.
35482 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35483 * fs/hfs.c (grub_hfs_mount): Likewise.
35484 (grub_hfs_cmp_catkeys): Likewise.
35485 (grub_hfs_find_dir): Likewise.
35486 (grub_hfs_dir): Likewise.
35487 (grub_hfs_label): Likewise.
35488 * fs/jfs.c (grub_jfs_mount): Likewise.
35489 (grub_jfs_opendir): Likewise.
35490 (grub_jfs_getent): Likewise.
35491 (grub_jfs_lookup_symlink): Likewise.
35492 (grub_jfs_label): Likewise.
35493 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35494 (grub_hfsplus_iterate_dir): Likewise.
35495 (grub_hfsplus_btree_iterate_node): Made static.
35496
35497 * util/grub-emu.c (prefix): New variable.
35498 (grub_machine_set_prefix): New function.
35499 (main): Do not set the environment variable "prefix" here. Only
35500 set PREFIX, which is used later by grub_machine_set_prefix.
35501
35502 * include/grub/video.h: Do not include grub/symbol.h.
35503 (grub_video_register): Not exported. This symbol is not defined in
35504 the kernel.
35505 (grub_video_unregister): Likewise.
35506 (grub_video_iterate): Likewise.
35507 (grub_video_setup): Likewise.
35508 (grub_video_restore): Likewise.
35509 (grub_video_get_info): Likewise.
35510 (grub_video_get_blit_format): Likewise.
35511 (grub_video_set_palette): Likewise.
35512 (grub_video_get_palette): Likewise.
35513 (grub_video_set_viewport): Likewise.
35514 (grub_video_get_viewport): Likewise.
35515 (grub_video_map_color): Likewise.
35516 (grub_video_map_rgb): Likewise.
35517 (grub_video_map_rgba): Likewise.
35518 (grub_video_fill_rect): Likewise.
35519 (grub_video_blit_glyph): Likewise.
35520 (grub_video_blit_bitmap): Likewise.
35521 (grub_video_blit_render_target): Likewise.
35522 (grub_video_scroll): Likewise.
35523 (grub_video_swap_buffers): Likewise.
35524 (grub_video_create_render_target): Likewise.
35525 (grub_video_delete_render_target): Likewise.
35526 (grub_video_set_active_render_target): Likewise.
35527
35528 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35529 Undefined.
35530 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35531
35532 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35533 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35534 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35535 instead of $(srcdir)/genkernsyms.sh.
35536
35537 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35538 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35539 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35540 instead of $(srcdir)/genkernsyms.sh.
35541
35542 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35543 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35544 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35545 instead of $(srcdir)/genkernsyms.sh.
35546
35547 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35548 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35549 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35550 instead of $(srcdir)/genkernsyms.sh.
35551
35552 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35553 genkernsyms.sh.
35554
35555 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35556 genkernsyms.sh.
35557 (gensymlist.sh): New target.
35558 (genkernsyms.sh): Likewise.
35559
35560 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35561 genkernsyms.sh.in and gensymlist.sh.in.
35562
35563 * genkernsyms.sh: Removed.
35564 * gensymlist.sh: Likewise.
f19dbdb7 35565
7b455f4d 35566 * genkernsyms.sh.in: New file.
35567 * gensymlist.sh.in: Likewise.
35568
1885bb27 355692006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35570
35571 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35572 clobber "prefix", since we may have already set it manually.
35573
71538dff 355742006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35575
35576 * kern/misc.c (abort): New alias for grub_abort.
35577
2965c7cc 355782006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35579
35580 A new machine-specific function "grub_machine_set_prefix" is
35581 defined. This is called after loading modules, so that a prefix
35582 initialization can use modules. Also, this change adds an
35583 intensive debugging feature for the memory manager via the
35584 configure option "--enable-mm-debug".
f19dbdb7 35585
2965c7cc 35586 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35587 PART.LEN.
35588
35589 * kern/sparc64/ieee1275/init.c (abort): Removed.
35590 (grub_stop): Likewise.
35591 (grub_exit): New function.
35592 (grub_set_prefix): Renamed to ...
35593 (grub_machine_set_prefix): ... this.
35594 (grub_machine_init): Do not call grub_set_prefix.
35595
35596 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35597 (grub_machine_set_prefix): ... this.
35598 (grub_machine_init): Do not call grub_set_prefix.
35599
35600 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35601 (grub_machine_init): Do not set the prefix here.
35602
35603 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35604
35605 * kern/efi/init.c: Include grub/mm.h.
35606 (grub_efi_set_prefix): New function.
35607
35608 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35609 (grub_efi_get_filename): New function.
35610 (grub_print_device_path): Renamed to ...
35611 (grub_efi_print_device_path): ... this.
35612
35613 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35614 [MM_DEBUG] (grub_realloc): Likewise.
35615 [MM_DEBUG] (grub_free): Likewise.
35616 [MM_DEBUG] (grub_memalign): Likewise.
35617 [MM_DEBUG] (grub_mm_debug): New variable.
35618 [MM_DEBUG] (grub_debug_malloc): New function.
35619 [MM_DEBUG] (grub_debug_free): New function.
35620 [MM_DEBUG] (grub_debug_realloc): New function.
35621 [MM_DEBUG] (grub_debug_memalign): New function.
35622
35623 * kern/misc.c (grub_abort): Print a newline to distinguish
35624 the message.
35625
35626 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35627 grub_set_root_dev after loading modules. This is necessary when
35628 setting a prefix depends on modules.
35629
35630 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35631 (grub_efi_print_device_path): ... this.
35632 (grub_efi_get_filename): New prototype.
35633 (grub_efi_set_prefix): Likewise.
35634
35635 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35636 and grub/disk.h.
35637 (grub_efidisk_get_device_handle): New prototype.
35638 (grub_efidisk_get_device_name): Likewise.
35639
35640 * include/grub/mm.h: Include config.h.
35641 (MM_DEBUG): Removed.
35642 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35643 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35644 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35645 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35646 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35647 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35648 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35649 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35650 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35651
35652 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35653
35654 * disk/efi/efidisk.c: Include grub/partition.h.
35655 (iterate_child_devices): New function.
35656 (add_device): First, compare only last device path nodes, so that
35657 devices are sorted by the types.
35658 (grub_efidisk_get_device_handle): New function.
35659 (grub_efidisk_get_device_name): Likewise.
35660
35661 * configure.ac (--enable-mm-debug): New option to enable the
35662 memory manager debugging feature. This makes the binary much
35663 bigger, so is disabled by default.
35664
9cacaa17 356652006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35666
35667 Use grub_abort instead of grub_stop, and grub_exit must be
35668 define in each architecture now. Also, this change adds support
35669 for EFI disks.
f19dbdb7 35670
9cacaa17 35671 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35672 (grub_getkey): New function.
35673 (grub_term_get_current): Likewise.
35674
35675 * util/i386/pc/grub-setup.c: Include grub/term.h.
35676 (grub_getkey): New function.
35677 (grub_term_get_current): Likewise.
35678
35679 * util/misc.c (grub_stop): Renamed to ...
35680 (grub_exit): ... this.
35681
35682 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35683 (grub_exit): ... this.
35684 (grub_machine_init): Use grub_abort instead of abort.
35685 (grub_stop): Removed.
35686
35687 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35688 abort.
35689
35690 * kern/i386/pc/startup.S (grub_exit): New function.
35691 (cold_reboot): New label.
35692
35693 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35694 (grub_efi_init): Call grub_efidisk_init.
35695 (grub_efi_fini): Call grub_efidisk_fini.
35696
35697 * kern/efi/efi.c: Include grub/mm.h.
35698 (grub_efi_console_control_guid): Renamed to ...
35699 (console_control_guid): ... this.
35700 (grub_efi_loaded_image_guid): Renamed to ...
35701 (loaded_image_guid): ... this.
35702 (grub_efi_locate_handle): New function.
35703 (grub_efi_open_protocol): Likewise.
35704 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35705 GRUB_EFI_CONSOLE_CONTROL_GUID.
35706 (grub_efi_exit): Removed.
35707 (grub_stop): Likewise.
35708 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35709 (grub_exit): New function.
35710 (grub_print_device_path): Likewise.
35711
35712 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35713 (grub_enter_rescue_mode): Register "exit".
35714
35715 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35716 (grub_abort): New function.
35717
35718 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35719
35720 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35721
35722 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35723
35724 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35725 (grub_print_device_path): New prototype.
35726 (grub_efi_locate_handle): Likewise.
35727 (grub_efi_open_protocol): Likewise.
35728
35729 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35730 * disk/efi/efidisk.c: Likewise.
35731
35732 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35733
35734 * include/grub/efi/console_control.h
35735 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35736
35737 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35738 last 8 bytes as an array.
35739 (GRUB_EFI_DISK_IO_GUID): New macro.
35740 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35741 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35742 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35743 grub_uint8_t.
35744 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35745 (struct grub_efi_device_path): Rename the member "sub_type" to
35746 "subtype".
35747 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35748 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35749 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35750 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35751 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35752 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35753 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35754 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35755 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35756 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35757 (struct grub_efi_pci_device_path): New structure.
35758 (grub_efi_pci_device_path_t): New type.
35759 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35760 (struct grub_efi_pccard_device_path): New structure.
35761 (grub_efi_pccard_device_path_t): New type.
35762 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35763 (struct grub_efi_memory_mapped_device_path): New structure.
35764 (grub_efi_memory_mapped_device_path_t): New type.
35765 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35766 (struct grub_efi_vendor_device_path): New structure.
35767 (grub_efi_vendor_device_path_t): New type.
35768 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35769 (struct grub_efi_controller_device_path): New structure.
35770 (grub_efi_controller_device_path_t): New type.
35771 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35772 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35773 (struct grub_efi_acpi_device_path): New structure.
35774 (grub_efi_acpi_device_path_t): New type.
35775 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35776 (struct grub_efi_expanded_acpi_device_path): New structure.
35777 (grub_efi_expanded_acpi_device_path_t): New type.
35778 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35779 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35780 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35781 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35782 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35783 (struct grub_efi_atapi_device_path): New structure.
35784 (grub_efi_atapi_device_path_t): New type.
35785 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35786 (struct grub_efi_fibre_channel_device_path): New structure.
35787 (grub_efi_fibre_channel_device_path_t): New type.
35788 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35789 (struct grub_efi_1394_device_path): New structure.
35790 (grub_efi_1394_device_path_t): New type.
35791 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35792 (struct grub_efi_usb_device_path): New structure.
35793 (grub_efi_usb_device_path_t): New type.
35794 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35795 (struct grub_efi_usb_class_device_path): New structure.
35796 (grub_efi_usb_class_device_path_t): New type.
35797 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35798 (struct grub_efi_i2o_device_path): New structure.
35799 (grub_efi_i2o_device_path_t): New type.
35800 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35801 (struct grub_efi_mac_address_device_path): New structure.
35802 (grub_efi_mac_address_device_path_t): New type.
35803 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35804 (struct grub_efi_ipv4_device_path): New structure.
35805 (grub_efi_ipv4_device_path_t): New type.
35806 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35807 (struct grub_efi_ipv6_device_path): New structure.
35808 (grub_efi_ipv6_device_path_t): New type.
35809 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35810 (struct grub_efi_infiniband_device_path): New structure.
35811 (grub_efi_infiniband_device_path_t): New type.
35812 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35813 (struct grub_efi_uart_device_path): New structure.
35814 (grub_efi_uart_device_path_t): New type.
35815 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35816 (struct grub_efi_vendor_messaging_device_path): New structure.
35817 (grub_efi_vendor_messaging_device_path_t): New type.
35818 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35819 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35820 (struct grub_efi_hard_drive_device_path): New structure.
35821 (grub_efi_hard_drive_device_path_t): New type.
35822 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35823 (struct grub_efi_cdrom_device_path): New structure.
35824 (grub_efi_cdrom_device_path_t): New type.
35825 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35826 (struct grub_efi_vendor_media_device_path): New structure.
35827 (grub_efi_vendor_media_device_path_t): New type.
35828 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35829 (struct grub_efi_file_path_device_path): New structure.
35830 (grub_efi_file_path_device_path_t): New type.
35831 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35832 (struct grub_efi_protocol_device_path): New structure.
35833 (grub_efi_protocol_device_path_t): New type.
35834 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35835 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35836 (struct grub_efi_bios_device_path): New structure.
35837 (grub_efi_bios_device_path_t): New type.
35838 (struct grub_efi_disk_io): New structure.
35839 (grub_efi_disk_io_t): New type.
35840 (struct grub_efi_block_io_media): New structure.
35841 (grub_efi_block_io_media_t): New type.
35842 (struct grub_efi_block_io): New structure.
35843 (grub_efi_block_io_t): New type.
35844
35845 * include/grub/misc.h (grub_stop): Removed.
35846 (grub_exit): New prototype.
35847 (grub_abort): Likewise.
35848
35849 * include/grub/disk.h (enum grub_disk_dev_id): Added
35850 GRUB_DISK_DEVICE_EFIDISK_ID.
35851
35852 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35853 disk/efi/efidisk.c.
35854 (kernel_syms.lst): Remove the target if an error occurs.
35855
49986a9f 358562006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35857
35858 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35859 as it was simply too buggy.
35860
970d3b8a 358612006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35862
35863 * kern/misc.c (grub_lltoa): New function.
35864 (grub_vsprintf): Added support for the long long suffix,
35865 i.e. "ll".
35866
ff04ec24 358672006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35868
35869 * Makefile.in (LDFLAGS): Add variable.
35870 (LD): Remove variable.
35871 * configure.ac: Add -m32 to LDFLAGS.
35872 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35873 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35874 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35875 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35876 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35877 variables.
35878 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35879 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35880 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35881
37e5e1a4 358822006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35883
35884 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35885 length for unknown glyph.
35886
c352d8dd 358872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35888
2eab1c0d 35889 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35890
2eab1c0d 35891 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35892 completely. Accept one more argument DIR. The caller has changed.
35893
35894 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35895
35896 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35897 (grub_efi_loaded_image_guid): New variable.
35898 (grub_efi_get_loaded_image): New function.
35899 (grub_arch_modules_addr): Likewise.
35900
35901 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35902 prototype.
35903
35904 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35905 (struct grub_efi_loaded_image): New structure.
35906 (grub_efi_loaded_image_t): New type.
35907
359082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35909
c352d8dd 35910 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35911 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35912 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35913
6d01d6b4 359142006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35915
35916 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35917
976a4ea0 359182006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35919
35920 * DISTLIST: Added include/grub/efi/console.h,
35921 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35922 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35923
35924 * include/grub/efi/console.h: New file.
35925 * include/grub/efi/time.h: Likewise.
35926 * include/grub/i386/efi/kernel.h: Likewise.
35927 * kern/efi/init.c: Likewise.
35928 * kern/efi/mm.c: Likewise.
35929 * term/efi/console.c: Likewise.
f19dbdb7 35930
976a4ea0 35931 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35932 (grub_stop): Removed.
35933 (grub_get_rtc): Likewise.
35934 (grub_machine_init): Simply call grub_efi_init.
35935 (grub_machine_fini): Call grub_efi_fini.
35936
35937 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35938 (grub_efi_output_string): Removed.
35939 (grub_efi_stall): New function.
35940 (grub_stop): Likewise.
35941 (grub_get_rtc): Likewise.
35942
35943 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35944 (grub_efi_stall): New prototype.
35945 (grub_efi_allocate_pages): Likewise.
35946 (grub_efi_free_pages): Likewise.
35947 (grub_efi_get_memory_map): Likewise.
35948 (grub_efi_mm_init): Likewise.
35949 (grub_efi_mm_fini): Likewise.
35950 (grub_efi_init): Likewise.
35951 (grub_efi_fini): Likewise.
35952
35953 * include/grub/i386/efi/time.h: Do not include
35954 grub/symbol.h. Include grub/efi/time.h.
35955 (GRUB_TICKS_PER_SECOND): Removed.
35956 (grub_get_rtc): Likewise.
35957
35958 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35959 Added padding. The EFI spec is buggy.
35960 (GRUB_EFI_BLACK): New macro.
35961 (GRUB_EFI_BLUE): Likewise.
35962 (GRUB_EFI_GREEN): Likewise.
35963 (GRUB_EFI_CYAN): Likewise.
35964 (GRUB_EFI_RED): Likewise.
35965 (GRUB_EFI_MAGENTA): Likewise.
35966 (GRUB_EFI_BROWN): Likewise.
35967 (GRUB_EFI_LIGHTGRAY): Likewise.
35968 (GRUB_EFI_BRIGHT): Likewise.
35969 (GRUB_EFI_DARKGRAY): Likewise.
35970 (GRUB_EFI_LIGHTBLUE): Likewise.
35971 (GRUB_EFI_LIGHTGREEN): Likewise.
35972 (GRUB_EFI_LIGHTCYAN): Likewise.
35973 (GRUB_EFI_LIGHTRED): Likewise.
35974 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35975 (GRUB_EFI_YELLOW): Likewise.
35976 (GRUB_EFI_WHITE): Likewise.
35977 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35978 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35979 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35980 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35981 (GRUB_EFI_BACKGROUND_RED): Likewise.
35982 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35983 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35984 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35985 (GRUB_EFI_TEXT_ATTR): Likewise.
35986
35987 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35988 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35989 (kernel_mod_HEADERS): Added efi/time.h.
35990
83709125 359912006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35992
35993 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35994 include/grub/efi/api.h, include/grub/efi/console_control.h,
35995 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35996 include/grub/i386/efi/time.h, kern/efi/efi.c,
35997 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35998 and util/i386/efi/grub-mkimage.c.
35999
36000 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36001
36002 * genmk.rb (PModule#rule): Do not export symbols if
36003 #{prefix}_EXPORTS is set to "no".
36004
36005 * conf/i386-efi.mk: New file.
36006 * conf/i386-efi.rmk: Likewise.
36007 * include/grub/efi/api.h: Likewise.
36008 * include/grub/efi/console_control.h: Likewise.
36009 * include/grub/efi/efi.h: Likewise.
36010 * include/grub/efi/pe32.h: Likewise.
36011 * include/grub/i386/efi/time.h: Likewise.
36012 * kern/efi/efi.c: Likewise.
36013 * kern/i386/efi/init.c: Likewise.
36014 * kern/i386/efi/startup.S: Likewise.
36015 * util/i386/efi/grub-mkimage.c: Likewise.
36016
360172006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36018
36019 * include/grub/script.h: Include <grub/parser.h> and
36020 "grub_script.tab.h".
36021 (struct grub_lexer_param): New struct.
36022 (struct grub_parser_param): Likewise.
36023 (grub_script_create_arglist): Pass the state in an argument.
36024 (grub_script_add_arglist): Likewise.
36025 (grub_script_create_cmdline): Likewise.
36026 (grub_script_create_cmdblock): Likewise.
36027 (grub_script_create_cmdif): Likewise.
36028 (grub_script_create_cmdmenu): Likewise.
36029 (grub_script_add_cmd): Likewise.
36030 (grub_script_arg_add): Likewise.
36031 (grub_script_lexer_ref): Likewise.
36032 (grub_script_lexer_deref): Likewise.
36033 (grub_script_lexer_record_start): Likewise.
36034 (grub_script_lexer_record_stop): Likewise.
36035 (grub_script_mem_record): Likewise.
36036 (grub_script_mem_record_stop): Likewise.
36037 (grub_script_malloc): Likewise.
36038 (grub_script_yylex): Likewise.
36039 (grub_script_yyparse): Likewise.
36040 (grub_script_yyerror): Likewise.
36041 (grub_script_yylex): Likewise.
36042 (grub_script_lexer_init): Return the state.
36043
36044 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36045 (grub_script_lexer_done): Likewise.
36046 (grub_script_lexer_getline): Likewise.
36047 (grub_script_lexer_refs): Likewise.
36048 (script): Likewise.
36049 (newscript): Likewise.
36050 (record): Likewise.
36051 (recording): Likewise.
36052 (recordpos): Likewise.
36053 (recordlen): Likewise.
36054 (grub_script_lexer_init): Return the state instead of setting
36055 global variables.
36056 (grub_script_lexer_ref): Use the newly added argument for state
36057 instead of globals.
36058 (grub_script_lexer_deref): Likewise.
36059 (grub_script_lexer_record_start): Likewise.
36060 (grub_script_lexer_record_stop): Likewise.
36061 (recordchar): Likewise.
36062 (nextchar): Likewise.
36063 (grub_script_yylex2): Likewise.
36064 (grub_script_yylex): Likewise.
36065 (grub_script_yyerror): Likewise.
36066
36067 * normal/parser.y (func_mem): Removed variable.
36068 (menu_entry): Likewise.
36069 (err): Likewise.
36070 (%lex-param): New parser option.
36071 (%parse-param): Likewise.
36072 (script): Always return the AST.
36073 (argument): Pass the state around.
36074 (arguments): Likewise.
36075 (grubcmd): Likewise.
36076 (commands): Likewise.
36077 (function): Likewise.
36078 (menuentry): Likewise.
36079 (if_statement): Likewise.
36080 (if): Likewise.
36081
36082 * normal/script.c (grub_script_memused): Removed variable.
36083 (grub_script_parsed): Likewise.
36084 (grub_script_malloc): Added a state argument. Use that instead of
36085 global variables.
36086 (grub_script_mem_record): Likewise.
36087 (grub_script_mem_record_stop): Likewise.
36088 (grub_script_arg_add): Likewise.
36089 (grub_script_add_arglist): Likewise.
36090 (grub_script_create_cmdline): Likewise.
36091 (grub_script_create_cmdif): Likewise.
36092 (grub_script_create_cmdmenu): Likewise.
36093 (grub_script_add_cmd): Likewise.
36094 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36095
e2a8c904 360962006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36097
36098 * normal/command.c (grub_command_init): Remove the title command.
36099
36100 * normal/lexer.c (grub_script_yylex): Renamed from this...
36101 (grub_script_yylex2): ... to this.
36102 (grub_script_yylex): New function. Temporary
36103 introduced to filter some tokens.
36104 (grub_script_yyerror): Print a newline.
36105
36106 * normal/main.c (read_config_file): Output information about the
36107 lines that contain errors. Wait for a key after all lines have
36108 been processed. Don't return an empty menu.
36109
36110 * normal/parser.y (func_mem): Don't initialize.
36111 (menu_entry): Likewise.
36112 (err): New variable.
36113 (script): Don't return anything when an error was encountered.
36114 (ws, returns): Removed rules.
36115 (argument): Disabled concatenated variable support.
36116 (arguments): Remove explicit separators.
36117 (grubcmd): Likewise.
36118 (function): Likewise.
36119 (menuentry): Likewise.
36120 (if): Likewise.
36121 (commands): Likewise. Add error handling.
36122
36123 * normal/script.c (grub_script_create_cmdline): If
36124 `grub_script_parsed' is 0, assume the parser encountered an error.
36125
c9a86192 361262006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36127
36128 * configure.ac: Add support for EFI. Fix the typo
36129 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36130
70f3b243 361312006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36132
36133 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36134 foreign multibyte characters should be shown correctly.
36135
65f201ad 361362006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36137
36138 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36139 calculation.
36140 (read_config_file): Made it to close file before returning.
36141
b4b93674 361422006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36143
36144 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36145 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36146 video/i386/pc/vbefill.c.
36147
36148 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36149 video/i386/pc/vbefill.c.
36150
36151 * include/grub/video.h (grub_video_blit_format): New enum.
36152 (grub_video_mode_info): Added new member blit_format.
36153 (grub_video_get_blit_format): New function prototype.
36154
36155 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36156 function prototype.
36157 (grub_video_vbe_map_rgb): Likewise.
36158 (grub_video_vbe_unmap_color): Likewise.
36159
36160 * include/grub/i386/pc/vbeblit.h: New file.
36161
36162 * include/grub/i386/pc/vbefill.h: New file.
36163
36164 * video/video.c (grub_video_get_blit_format): New function.
36165 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36166 (grub_video_vbe_map_rgb): Likewise.
36167 (grub_video_vbe_unmap_color): Likewise.
36168
36169 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36170 optimized fills.
36171 (grub_video_vbe_blit_render_target): Changed to use more optimized
36172 blits.
36173 (grub_video_vbe_setup): Added detection for optimized settings.
36174 (grub_video_vbe_create_render_target): Likewise.
36175
36176 * video/i386/pc/vbeblit.c: New file.
36177
36178 * video/i386/pc/vbefill.c: New file.
36179
c2379b9c 361802006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36181
36182 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36183 here...
36184
36185 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36186 parsing to support both hex and dec ranges. If filename was missing
36187 show usage information.
36188
bd0d7896 361892006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36190
36191 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36192 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36193
36194 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36195 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36196 (video_mod_SOURCES): Added.
36197 (video_mod_CFLAGS): Likewise.
36198 (video_mod_LDFLAGS): Likewise.
36199 (gfxterm_mod_SOURCES): Likewise.
36200 (gfxterm_mod_CFLAGS): Likewise.
36201 (gfxterm_mod_LDFLAGS): Likewise.
36202 (videotest_mod_SOURCES): Likewise.
36203 (videotest_mod_CFLAGS): Likewise.
36204 (videotest_mod_LDFLAGS): Likewise.
36205 (vesafb_mod_SOURCES): Removed.
36206 (vesafb_mod_CFLAGS): Likewise.
36207 (vesafb_mod_LDFLAGS): Likewise.
36208 (vga_mod_SOURCES): Likewise.
36209 (vga_mod_CFLAGS): Likewise.
36210 (vga_mod_LDFLAGS): Likewise.
36211
36212 * commands/videotest.c: New file.
36213
36214 * font/manager.c (fill_with_default_glyph): Modified to use
36215 grub_font_glyph.
36216 (grub_font_get_glyph): Likewise.
36217 (fontmanager): Renamed from this...
36218 (font_manager): ... to this.
36219
36220 * include/grub/font.h (grub_font_glyph): Added new structure.
36221 (grub_font_get_glyph): Modified to use grub_font_glyph.
36222
36223 * include/grub/misc.h (grub_abs): Added as inline function.
36224
36225 * include/grub/video.h: New file.
36226
36227 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36228 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36229 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36230 (grub_vbe_get_controller_info): Renamed from this...
36231 (grub_vbe_bios_get_controller_info): ... to this.
36232 (grub_vbe_get_mode_info): Renamed from this...
36233 (grub_vbe_bios_get_mode_info): ... to this.
36234 (grub_vbe_set_mode): Renamed from this...
36235 (grub_vbe_bios_set_mode): ... to this.
36236 (grub_vbe_get_mode): Renamed from this...
36237 (grub_vbe_bios_get_mode): ... to this.
36238 (grub_vbe_set_memory_window): Renamed from this...
36239 (grub_vbe_bios_set_memory_window): ... to this.
36240 (grub_vbe_get_memory_window): Renamed from this...
36241 (grub_vbe_bios_get_memory_window): ... to this.
36242 (grub_vbe_set_scanline_length): Renamed from this...
36243 (grub_vbe_set_scanline_length): ... to this.
36244 (grub_vbe_get_scanline_length): Renamed from this...
36245 (grub_vbe_bios_get_scanline_length): ... to this.
36246 (grub_vbe_set_display_start): Renamed from this...
36247 (grub_vbe_bios_set_display_start): ... to this.
36248 (grub_vbe_get_display_start): Renamed from this...
36249 (grub_vbe_bios_get_display_start): ... to this.
36250 (grub_vbe_set_palette_data): Renamed from this...
36251 (grub_vbe_bios_set_palette_data): ... to this.
36252 (grub_vbe_set_pixel_rgb): Removed.
36253 (grub_vbe_set_pixel_index): Likewise.
36254
36255 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36256 from this...
36257 (grub_vbe_bios_get_controller_info): ... to this.
36258 (grub_vbe_get_mode_info): Renamed from this...
36259 (grub_vbe_bios_get_mode_info): ... to this.
36260 (grub_vbe_set_mode): Renamed from this...
36261 (grub_vbe_bios_set_mode): ... to this.
36262 (grub_vbe_get_mode): Renamed from this...
36263 (grub_vbe_bios_get_mode): ... to this.
36264 (grub_vbe_set_memory_window): Renamed from this...
36265 (grub_vbe_bios_set_memory_window): ... to this.
36266 (grub_vbe_get_memory_window): Renamed from this...
36267 (grub_vbe_bios_get_memory_window): ... to this.
36268 (grub_vbe_set_scanline_length): Renamed from this...
36269 (grub_vbe_set_scanline_length): ... to this.
36270 (grub_vbe_get_scanline_length): Renamed from this...
36271 (grub_vbe_bios_get_scanline_length): ... to this.
36272 (grub_vbe_set_display_start): Renamed from this...
36273 (grub_vbe_bios_set_display_start): ... to this.
36274 (grub_vbe_get_display_start): Renamed from this...
36275 (grub_vbe_bios_get_display_start): ... to this.
36276 (grub_vbe_set_palette_data): Renamed from this...
36277 (grub_vbe_bios_set_palette_data): ... to this.
36278 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36279 getting corrupted after calling it. Added more pushes and pops.
36280 (grub_vbe_bios_set_mode): Likewise.
36281 (grub_vbe_bios_get_mode): Likewise.
36282 (grub_vbe_bios_get_memory_window): Likewise.
36283 (grub_vbe_bios_set_scanline_length): Likewise.
36284 (grub_vbe_bios_get_scanline_length): Likewise.
36285 (grub_vbe_bios_get_display_start): Likewise.
36286 (grub_vbe_bios_set_palette_data): Likewise.
36287
36288 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36289 (cl_insert): Likewise.
36290 (cl_delete): Likewise.
36291
36292 * term/gfxterm.c: New file.
36293
36294 * term/i386/pc/vesafb.c: Removed file.
36295
36296 * video/video.c: New file.
36297
36298 * video/i386/pc/vbe.c (real2pm): Added new function.
36299 (grub_video_vbe_draw_pixel): Likewise.
36300 (grub_video_vbe_get_video_ptr): Likewise.
36301 (grub_video_vbe_get_pixel): Likewise
36302 (grub_video_vbe_init): Likewise.
36303 (grub_video_vbe_fini): Likewise.
36304 (grub_video_vbe_setup): Likewise.
36305 (grub_video_vbe_get_info): Likewise.
36306 (grub_video_vbe_set_palette): Likewise.
36307 (grub_video_vbe_get_palette): Likewise.
36308 (grub_video_vbe_set_viewport): Likewise.
36309 (grub_video_vbe_get_viewport): Likewise.
36310 (grub_video_vbe_map_color): Likewise.
36311 (grub_video_vbe_map_rgb): Likewise.
36312 (grub_video_vbe_map_rgba): Likewise.
36313 (grub_video_vbe_unmap_color): Likewise.
36314 (grub_video_vbe_fill_rect): Likewise.
36315 (grub_video_vbe_blit_glyph): Likewise.
36316 (grub_video_vbe_blit_bitmap): Likewise.
36317 (grub_video_vbe_blit_render_target): Likewise.
36318 (grub_video_vbe_scroll): Likewise.
36319 (grub_video_vbe_swap_buffers): Likewise.
36320 (grub_video_vbe_create_render_target): Likewise.
36321 (grub_video_vbe_delete_render_target): Likewise.
36322 (grub_video_vbe_set_active_render_target): Likewise.
36323 (grub_vbe_set_pixel_rgb): Remove function.
36324 (grub_vbe_set_pixel_index): Likewise.
36325 (index_color_mode): Remove static variable.
36326 (active_mode): Likewise.
36327 (framebuffer): Likewise.
36328 (bytes_per_scan_line): Likewise.
36329 (grub_video_vbe_adapter): Added new static variable.
36330 (framebuffer): Likewise.
36331 (render_target): Likewise.
36332 (initial_mode): Likewise.
36333 (mode_in_use): Likewise.
36334 (mode_list): Likewise.
36335
5f97350b 363362006-03-10 Marco Gerards <marco@gnu.org>
36337
36338 * configure.ac (AC_INIT): Bumped to 1.93.
36339
36340 * DISTLIST: Added `include/grub/hfs.h'.
36341
a3c5c6f8 363422006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36343
36344 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36345 18H, which might help the BIOS falling back to next boot media.
36346
6de53d26 363472006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36348
36349 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36350 Poe Chen <poe.poechen@gmail.com>.
36351
77c4a393 363522006-01-17 Marco Gerards <marco@gnu.org>
36353
36354 * include/grub/normal.h: Include <grub/script.h>.
36355 (grub_command_list): Removed struct.
36356 (grub_command_list_t): Removed type.
36357 (grub_menu_entry): Remove members `num' and `command_list'. Add
36358 members `commands' and `sourcecode'.
36359 * include/grub/script.h: Add inclusion guards.
36360 (grub_script_cmd_menuentry): New struct.
36361 (grub_script_execute_menuentry): New prototype.
36362 (grub_script_lexer_record_start): Likewise.
36363 (grub_script_lexer_record_stop): Likewise.
36364 * normal/execute.c (grub_script_execute_menuentry): New function.
36365 * normal/lexer.c (record, recording, recordpos, recordlen): New
36366 variables.
36367 (grub_script_lexer_record_start): New function.
36368 (grub_script_lexer_record_stop): Likewise.
36369 (recordchar): Likewise.
36370 (nextchar): Likewise.
36371 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36372 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36373 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36374 (current_menu): New variable.
36375 (free_menu): Mainly rewritten.
36376 (grub_normal_menu_addentry): New function.
36377 (read_config_file): Rewritten.
36378 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36379 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36380 the menu entry.
36381 (run): Mainly rewritten.
36382 * normal/parser.y (menu_entry): New variable.
36383 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36384 (menuentry): New rule.
36385 (command): Add `menuentry'.
36386 (if_statement): Allow additional returns before `fi'.
36387 * normal/script.c (grub_script_create_cmdmenu): New function.
36388
144f1f98 363892006-01-03 Marco Gerards <marco@gnu.org>
36390
36391 * INSTALL: GNU Bison is required.
36392 * configure.ac: Rewritten the test to detect Bison.
36393 * Makefile.in (YACC): New variable. Reported by Xun Sun
36394 <xun.sun.cn@gmail.com>.
36395
af4b2d89 363962006-01-03 Marco Gerards <marco@gnu.org>
36397
36398 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36399 the HFS+ filesystem to filesystem blocks.
36400 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36401 GCC warning is silenced.
36402
15643b71 364032006-01-03 Marco Gerards <marco@gnu.org>
36404
36405 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36406 read from disk from big endian to host byte order.
36407
00905879 364082006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36409
36410 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36411 documentation.
36412 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36413 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36414 embedded HFS+ filesystem.
36415 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36416 (grub_hfs_sblock): Move from here...
36417 * include/grub/hfs.h: To here... New file.
36418 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36419 documentation.
36420 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36421 New macros.
36422 (grub_hfsplus_volheader): Change type of member `magic' to
36423 `grub_uint16_t'.
36424 (grub_hfsplus_data): Add new member `embedded_offset'.
36425 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36426 returned block.
36427 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36428 Calculate the offset.
36429
8899bc3e 364302005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36431
36432 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36433 Removed.
36434 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36435
ae8c0277 364362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36437
36438 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36439 ENV->NAME is NULL after allocating ENV->VALUE.
36440
07084456 364412005-12-25 Marco Gerards <marco@gnu.org>
36442
36443 * kern/env.c (grub_env_set): Rewritten the error handling code.
36444
4750f5f1 364452005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36446
36447 * geninit.sh: Made more robust, and more portable.
36448
50214199 364492005-12-25 Marco Gerards <marco@gnu.org>
36450
36451 Add support for Apple HFS+ filesystems.
f19dbdb7 36452
50214199 36453 * fs/hfsplus.c: New file.
36454
36455 * DISTLIST: Added `fs/hfsplus.c'.
36456
36457 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36458 (hfsplus_mod_SOURCES): New variable.
36459 (hfsplus_mod_CFLAGS): Likewise.
36460 (hfsplus_mod_LDFLAGS): Likewise.
36461 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36462 (grub_setup_SOURCES): Likewise.
36463 (grub_mkdevicemap_SOURCES): Likewise.
36464 (grub_emu_SOURCES): Likewise.
36465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36466
36467 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36468
36469 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36470
befaed6c 364712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36472
36473 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36474 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36475 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36476 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36477 normal/lexer.c, normal/parser.y, normal/script.c, and
36478 partmap/gpt.c.
36479 Removed kern/sparc64/cache.c.
36480
36481 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36482 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36483 grub_emu_init.c.
36484
36485 * configure.ac (AC_INIT): Bumped to 1.92.
36486
6a124103 364872005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36488
36489 * kern/err.c (grub_error_push): Added new function to support error
36490 stacks.
36491 (grub_error_pop): Likewise.
36492 (grub_error_stack_items): New local variable to support error stacks.
36493 (grub_error_stack_pos): Likewise.
36494 (grub_error_stack_assert): Likewise.
36495 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36496 stack depth.
36497 (grub_print_error): Added support to print errors from error stack.
36498
36499 * include/grub/err.h (grub_error_push): Added function prototype.
36500 (grub_error_pop): Likewise.
36501
be973c1b 365022005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36503
36504 * configure.ac: Accept `powerpc64' as host_cpu.
36505 (amd64): Rename to `biarch32'.
36506
36507 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36508 non-cacheline-aligned addresses.
36509
36510 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36511 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36512 if `size' is non-zero.
36513
b04216ab 365142005-12-03 Marco Gerards <mgerards@xs4all.nl>
36515
36516 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36517 and `cd' to make sure the filename is not prefixed with a
36518 directory name.
36519 (pkgdata_MODULES): Add `gpt.mod'.
36520 (gpt_mod_SOURCES): New variable.
36521 (gpt_mod_CFLAGS): Likewise.
36522 (gpt_mod_LDFLAGS): Likewise.
36523
36524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36525
36526 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36527 New macro.
36528
36529 * partmap/gpt.c: New file.
36530
36531 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36532 GPT partition map is detected.
36533
41730ed9 365342005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36535
36536 * commands/i386/pc/play.c: New file.
36537 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36538 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36539 macros.
f19dbdb7 36540
95dc3643 365412005-11-27 Marco Gerards <mgerards@xs4all.nl>
36542
36543 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36544 ((unused))' to silence gcc warning.
36545
1569ec51 365462005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36547
36548 * configure.ac: Correct `AC_PROG_YACC' test.
36549
9abde152 365502005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36551
36552 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36553 check before installing files.
36554
44b83271 365552005-11-22 Mike Small <smallm@panix.com>
36556
36557 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36558 number regex so multidigit numbers are recognized correctly.
36559
365602005-11-22 Mike Small <smallm@panix.com>
36561
36562 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36563 debugging message before attempting to claim memory.
36564 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36565 multiple addresses in case of failure.
36566
9c12956b 365672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36568
36569 * term/tparm.c (get_space): Remove empty `if' statement.
36570
36571 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36572
36573 * kern/parser.c (check_varstate): Rename `state' to 's'.
36574
aeaf81d9 365752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36576
36577 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36578 variable definitions to the beginning of each function. Sort stack
36579 variables by size.
36580 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36581 `buf' argument to `char *'.
36582
79bbb63f 365832005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36584
36585 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36586 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36587 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36588 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36589 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36590 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36591 configfile.mod, search.mod, gzio.mod and test.mod.
36592 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36593 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36594 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36595 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36596 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36597 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36598 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36599 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36600 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36601 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36602 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36603 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36604 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36605 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36606 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36607 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36608 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36609 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36610 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36611 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36612 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36613 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36614 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36615
36616 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36617 `grep --include'.
36618 (pkgdata_MODULES): Add test.mod.
36619
233b1628 366202005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36621
36622 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36623 appending to variables with "+=".
36624 (PModule): Use full pathname to generate *.lst filenames.
36625
36626 * Makefile.in: Fixed list rules moved from genmk.rb.
36627 (.DELETE_ON_ERROR): New special target.
36628 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36629
36630 * conf/i386-pc.rmk: Include conf/common.mk.
36631 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36632 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36633 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36634 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36635 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36636 configfile.mod, search.mod, gzio.mod and test.mod.
36637 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36638 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36639 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36640 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36641 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36642 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36643 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36644 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36645 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36646 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36647 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36648 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36649 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36650 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36651 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36652 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36653 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36654 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36655 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36656 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36657 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36658 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36659 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36660 here...
36661 * conf/common.rmk: ... to here. New file.
36662
36663 * conf/common.mk: New file.
36664
16f820c8 366652005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36666
36667 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36668 (grub_script.tab.c): ... here.
36669
36670 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36671 (grub_script.tab.c): ... here.
36672
36673 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36674 (grub_script.tab.c): ... here.
36675
36676 * normal/command.c (grub_command_find): Fixed a memory leak of
36677 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36678
63ba1554 366792005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36680
36681 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36682 "@" which marks the start of a comment on ARM.
36683 (VARIABLE): Likewise.
36684
7f67dc13 366852005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36686
79bbb63f 36687 Add support for Linux/ADFS partition tables.
7f67dc13 36688
36689 * partmap/acorn.c: New file.
36690
36691 * include/grub/acorn_filecore.h: Likewise.
36692
36693 * DISTLIST: Added `partmap/acorn.c' and
36694 `include/grub/acorn_filecore.h'.
f19dbdb7 36695
7f67dc13 36696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36697 `partmap/acorn.c'.
36698 (pkgdata_MODULES): Add `acorn.mod'.
36699 (acorn_mod_SOURCES): New variable.
36700 (acorn_mod_CFLAGS): Likewise.
36701
36702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36703 `partmap/acorn.c'.
36704 (pkgdata_MODULES): Add `acorn.mod'.
36705 (acorn_mod_SOURCES): New variable.
36706 (acorn_mod_CFLAGS): Likewise.
36707
36708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36709 (pkgdata_MODULES): Add `acorn.mod'.
36710 (acorn_mod_SOURCES): New variable.
36711 (acorn_mod_CFLAGS): Likewise.
36712 (acorn_mod_LDFLAGS): Likewise.
36713
36714 * include/types.h (grub_disk_addr_t): New typedef.
36715
6d099807 367162005-11-13 Marco Gerards <mgerards@xs4all.nl>
36717
36718 * geninit.sh: New file.
36719
36720 * geninitheader.sh: Likewise.
36721
36722 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36723 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36724 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36725 * commands/configfile.c (grub_configfile_init)
36726 (grub_configfile_fini): Likewise.
36727 * commands/default.c (grub_default_init, grub_default_fini):
36728 Likewise.
36729 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36730 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36731 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36732 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36733 Likewise.
36734 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36735 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36736 Likewise.
36737 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36738 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36739 Likewise.
36740 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36741 Likewise.
fe6b695a 36742 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36743 Likewise.
36744 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36745 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36746 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36747 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36748 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36749 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36750 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36751 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36752 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36753 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36754 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36755 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36756 * partmap/amiga.c (grub_amiga_partition_map_init)
36757 (grub_amiga_partition_map_fini): Likewise.
36758 * partmap/apple.c (grub_apple_partition_map_init)
36759 (grub_apple_partition_map_fini): Likewise.
36760 * partmap/pc.c (grub_pc_partition_map_init)
36761 (grub_pc_partition_map_fini): Likewise.
36762 * partmap/sun.c (grub_sun_partition_map_init,
36763 grub_sun_partition_map_fini): Likewise.
36764 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36765 Likewise.
36766
36767 * util/grub-emu.c: Include <grub_modules_init.h>.
36768 (main): Don't initialize and de-initialize any modules directly,
36769 use `grub_init_all' and `grub_fini_all' instead.
36770
36771 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36772 `grub_vesafb_mod_init'.
36773 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36774 all users.
36775 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36776 `grub_vga_mod_init'. Updated all users.
36777 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36778
6d099807 36779 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36780 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36781 rules.
36782
36783 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36784 Generate a function to initialize the module in utilities.
36785 Updated all callers.
36786 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36787 initialize the module in utilities. Updated all callers.
36788
9046bcf0 367892005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36790
36791 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36792 escape sequence and a literal ^L to clear the screen.
36793
36794 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36795 when returning from Open Firmware.
36796
d13ea639 367972005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36798
36799 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36800 (grub_ofconsole_height): Likewise.
36801 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36802 manually insert a '\n'.
36803 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36804 `grub_ofconsole_height'. Return early if these are already set.
36805
a8fcf206 368062005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36807
36808 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36809 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36810 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36811 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36812 and `normal/script.c'.
36813 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36814 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36815 (test_mod_SOURCES): New variable.
36816 (test_mod_CFLAGS): Likewise.
36817 (test_mod_LDFLAGS): Likewise.
36818 (pkgdata_MODULES): Add `test.mod'.
36819 (grub_script.tab.c): New rule.
36820 (grub_script.tab.h): Likewise.
36821
b6b32745 368222005-11-07 Marco Gerards <mgerards@xs4all.nl>
36823
36824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36825 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36826 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36827 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36828 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36829 (test_mod_SOURCES): New variable.
36830 (test_mod_CFLAGS): Likewise.
36831 (pkgdata_MODULES): Add `test.mod'.
36832 (grub_script.tab.c): New rule.
36833 (grub_script.tab.h): Likewise.
36834
daac212a 368352005-11-06 Marco Gerards <mgerards@xs4all.nl>
36836
36837 Add initial scripting support.
36838
36839 * commands/test.c: New file.
36840 * include/grub/script.h: Likewise.
36841 * normal/execute.c: Likewise.
36842 * normal/function.c: Likewise.
36843 * normal/lexer.c: Likewise.
36844 * normal/parser.y: Likewise.
36845 * normal/script.c: Likewise.
36846
36847 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36848
daac212a 36849 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36850 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36851 `normal/function.c' and `normal/script.c'.
36852 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36853 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36854 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36855 variables.
daac212a 36856 (pkgdata_MODULES): Add `test.mod'.
36857 (grub_script.tab.c): New rule.
36858 (grub_script.tab.h): Likewise.
36859
36860 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36861
36862 * include/grub/normal.h (grub_test_init): New prototype.
36863 (grub_test_fini): Likewise.
f19dbdb7 36864
daac212a 36865 * normal/command.c: Include <grub/script.h>.
36866 (grub_command_execute): Rewritten.
f19dbdb7 36867
daac212a 36868 * util/grub-emu.c (main): Call `grub_test_init' and
36869 `grub_test_fini'.
36870
77500b2b 368712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36872
36873 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36874 to 0.
36875 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36876 there are no pending characters.
36877
e45deb9e 368782005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36879
36880 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36881 `grub_strndup' to drop device arguments. Replace unnecessary
36882 `grub_strndup' with `grub_strdup'.
36883
4ce32619 368842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36885
36886 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36887 `debug' environment variable has been set.
36888
368892005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36890
4ce32619 36891 * Makefile.in (install-local): Use $(DATA).
36892 (uninstall): Likewise.
36893 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36894 (sbin_UTILITIES): ... to here.
36895 (sbin_SCRIPTS): New variable.
36896 (grub_install_SOURCES): New variable.
36897 * util/powerpc/ieee1275/grub-install.in: New file.
36898 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36899 variable.
36900 (add_segments): Call `grub_util_get_path'.
36901
25fe6f03 369022005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36903
36904 From Timothy Baldwin:
36905 * commands/ls.c (grub_ls_list_files): Close FILE with
36906 grub_file_close.
36907 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36908
04ccf3ec 369092005-10-24 Marco Gerards <mgerards@xs4all.nl>
36910
36911 * include/grub/parser.h: New file.
36912
36913 * kern/parser.c: Likewise.
36914
36915 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36916 (grub_setup_SOURCES): Likewise.
36917 (grub_probefs_SOURCES): Likewise.
36918 (grub_emu_SOURCES): Likewise.
36919 (kernel_img_HEADERS): Add `parser.h'.
36920
36921 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36922 (grub_emu_SOURCES): Add `kern/parser.c'.
36923 (grubof_SOURCES): Likewise.
36924
36925 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36926 (grubof_SOURCES): Add `kern/parser.c'.
36927
36928 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36929
36930 * kern/misc.c (grub_split_cmdline): Removed function.
36931
36932 * kern/rescue.c: Include <grub/parser.h>.
36933 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36934 of `grub_split_cmdline'.
36935
36936 * normal/command.c: Include <grub/parser.h>.
36937 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36938 of `grub_split_cmdline'.
36939
36940 * normal/completion.c: Include <grub/parser.h>.
36941 (cmdline_state): New variable.
36942 (iterate_dir): End the filename with a quote depending on the
36943 command line state.
36944 (get_state): new function.
36945 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36946 split the arguments and determine the current argument. When the
36947 argument string is not quoted, escape all spaces.
36948
6d8f4b0e 369492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36950
36951 * normal/sparc64/setjmp.S: New file.
36952
15cf03ed 369532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36954
36955 * include/grub/sparc64/libgcc.h: New file.
36956 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36957 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36958 normal/sparc64/setjmp.c.
36959
03e8661a 369602005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36961
36962 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36963 * kern/sparc64/cache.S: New file.
36964 * kern/sparc64/cache.c: Removed.
36965 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36966 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36967 -mtune=ultrasparc.
36968 (COMMON_LDFLAGS): Add -melf64_sparc.
36969 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36970 (grubof_SOURCES): Use cache.S instead of cache.c.
36971 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36972 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36973 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36974 commented though.
36975 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36976 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36977 (linux_mod_CFLAGS): Commented out.
36978 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36979 out because module isn't built.
36980 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36981 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36982 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36983 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36984 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36985 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36986 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36987 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36988 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36989 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36990 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36991 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36992 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36993 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36994
34eeec8a 369952005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36996
36997 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36998 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36999 longer, because HFS should not be used on PC.
37000
708367a3 370012005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37002
37003 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37004 consistently within the loop.
37005
6fa1251a 370062005-10-15 Marco Gerards <mgerards@xs4all.nl>
37007
37008 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37009 directory can not be read.
37010
4801580b 370112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37012
37013 * configure.ac (AC_INIT): Increase the version number to 1.91.
37014
37015 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37016 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37017 term/i386/pc/serial.c.
37018
219ad426 370192005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37020
37021 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37022 file size must be permitted.
37023
37024 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37025 between %ah and %al.
37026
688e5699 370272005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37028
37029 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37030 grub_uint64_t.
37031 Call the hook with a NUL-terminated filename.
37032 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37033 grub_cpu_to_be32.
37034
37035 * kern/term.c (cursor_state): New variable.
37036 (grub_term_set_current): Reset the cursor state on a new
37037 terminal.
37038 (grub_setcursor): Rewritten to use CURSOR_STATE.
37039 (grub_getcursor): New function.
37040
37041 * include/grub/term.h (grub_getcursor): New prototype.
37042
37043 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37044 integers on ARM. Reported by Timothy Baldwin
37045 <T.E.Baldwin99@members.leeds.ac.uk>.
37046
bb34586c 370472005-10-11 Marco Gerards <mgerards@xs4all.nl>
37048
37049 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37050 allocated.
37051 (grub_sfs_dir): Likewise.
37052
9a909877 370532005-10-09 Marco Gerards <mgerards@xs4all.nl>
37054
37055 Add support for the SFS filesystem.
37056
37057 * fs/sfs.c: New file.
37058
37059 * DISTLIST: Added `fs/sfs.c'.
37060
37061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37062 (grub_probefs_SOURCES): Likewise.
37063 (grub_emu_SOURCES): Likewise.
37064 (pkgdata_MODULES): Add `sfs.mod'.
37065 (sfs_mod_SOURCES): New variable.
37066 (sfs_mod_CFLAGS): Likewise.
37067 (sfs_mod_LDFLAGS): Likewise.
37068
37069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37070 (pkgdata_MODULES): Add `sfs.mod'.
37071 (sfs_mod_SOURCES): New variable.
37072 (sfs_mod_CFLAGS): Likewise.
37073
37074 * util/grub-emu.c (main): Call `grub_sfs_init' and
37075 `grub_sfs_fini'.
37076
37077 * include/grub/fs.h (grub_sfs_init): New prototype.
37078 (grub_sfs_fini): Likewise.
37079
57bdbde3 370802005-10-07 Marco Gerards <mgerards@xs4all.nl>
37081
37082 Add support for the AFFS filesystem.
37083
37084 * fs/affs.c: New file.
37085
37086 * DISTLIST: Added `fs/affs.c'.
37087
37088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37089 (grub_probefs_SOURCES): Likewise.
37090 (grub_emu_SOURCES): Likewise.
37091 (pkgdata_MODULES): Add `affs.mod'.
37092 (affs_mod_SOURCES): New variable.
37093 (affs_mod_CFLAGS): Likewise.
37094 (affs_mod_LDFLAGS): Likewise.
37095
37096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37097 (pkgdata_MODULES): Add `affs.mod'.
37098 (affs_mod_SOURCES): New variable.
37099 (affs_mod_CFLAGS): Likewise.
37100
37101 * util/grub-emu.c (main): Call `grub_affs_init' and
37102 `grub_affs_fini'.
37103
37104 * include/grub/fs.h (grub_affs_init): New prototype.
37105 (grub_affs_fini): Likewise.
37106
047b67e0 371072005-10-01 Marco Gerards <mgerards@xs4all.nl>
37108
37109 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37110
59b8208a 371112005-10-01 Marco Gerards <mgerards@xs4all.nl>
37112
37113 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37114 `-m32' to CFLAGS.
37115
37116 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37117 linking.
f19dbdb7 37118
59b8208a 37119 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37120 (COMMON_LDFLAGS): New variable.
37121 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37122 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37123 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37124 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37125 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37126 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37127 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37128 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37129 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37130 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37131 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37132 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37133 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37134 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37135 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37136 variables.
37137 (normal_mod_ASFLAGS): Add `-m32'.
37138
37139 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37140 (grub_host_size_t, grub_host_ssize_t): New types.
37141 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37142 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37143 `GRUB_HOST_SIZEOF_VOID_P'.
37144
37145 * include/grub/kernel.h (struct grub_module_header): Type of
37146 member offset changed to `grub_host_off_t'. Type of member size
37147 changed to `grub_host_size_t'.
37148 (struct grub_module_info): Type of member offset changed to
37149 `grub_host_off_t'. Type of member size changed to
37150 `grub_host_size_t'.
37151
b4093103 371522005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37153
37154 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37155
b4093103 37156 * kern/i386/pc/startup.S (multiboot_header): New label.
37157 (multiboot_entry): Likewise.
37158 (multiboot_trampoline): Likewise.
37159
37160 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37161 Increased to 0x4A0.
37162
37163 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37164 put parentheses after a question mark.
37165 [!GRUB_UTIL] (my_mod): New variable.
37166
37167 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37168
b2499b29 371692005-09-28 Marco Gerards <mgerards@xs4all.nl>
37170
37171 Adds support for the XFS filesystem. Btrees are not supported
37172 yet.
37173
37174 * fs/xfs.c: New file.
37175
37176 * DISTLIST: Added `fs/xfs.c'.
37177
37178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37179 (grub_probefs_SOURCES): Likewise.
37180 (grub_emu_SOURCES): Likewise.
37181 (pkgdata_MODULES): Add `xfs.mod'.
37182 (xfs_mod_SOURCES): New variable.
37183 (xfs_mod_CFLAGS): Likewise.
37184
37185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37186 (pkgdata_MODULES): Add `xfs.mod'.
37187 (xfs_mod_SOURCES): New variable.
37188 (xfs_mod_CFLAGS): Likewise.
37189
37190 * util/grub-emu.c (main): Call `grub_xfs_init' and
37191 `grub_xfs_fini'.
37192
37193 * include/grub/fs.h (grub_xfs_init): New prototype.
37194 (grub_xfs_fini): Likewise.
37195
f19dbdb7 37196
83d37a62 371972005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37198
37199 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37200 color modes, allow greater than 16 colors to be configured as
37201 a default palette.
37202
47d2d65e 372032005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37204
37205 * normal/completion.c (complete_arguments): Add the qualifier
37206 const into OPTIONS.
37207
37208 From Omniflux <omniflux+lists@omniflux.com>:
37209 * include/grub/terminfo.h: New file.
37210 * include/grub/tparm.h: Likewise.
37211 * include/grub/i386/pc/serial.h: Likewise.
37212 * term/terminfo.c: Likewise.
37213 * term/tparm.c: Likewise.
37214 * term/i386/pc/serial.c: Likewise.
37215 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37216 serial.mod.
37217 (terminfo_mod_SOURCES): New variable.
37218 (terminfo_mod_CFLAGS): Likewise.
37219 (serial_mod_SOURCES): Likewise.
37220 (serial_mod_CFLAGS): Likewise.
37221
48b671ff 372222005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37223
37224 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37225 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37226 and kern/powerpc/ieee1275/cmain.c, respectively.
37227
37228 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37229 * kern/powerpc/ieee1275/crt0.S: ... here.
37230
37231 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37232 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37233
48b671ff 37234 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37235 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37236 instead of boot/powerpc/ieee1275/crt0.S and
37237 boot/powerpc/ieee1275/cmain.c, respectively.
37238
37239 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37240 sectors. It was not used anyway.
37241
09fc77a7 372422005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37243
37244 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37245 `unused parameter' warning.
37246
003789c7 372472005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37248
37249 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37250 function.
37251 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37252 getcharwidth.
37253
67f44c86 372542005-08-28 Marco Gerards <metgerards@student.han.nl>
37255
37256 * include/grub/normal.h (enum grub_completion_type): Added
37257 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37258
37259 * normal/cmdline.c (print_completion): Handle
37260 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37261 * normal/menu_entry.c (store_completion): Likewise.
37262
37263 * normal/completion.c (complete_arguments): New function.
37264 (grub_normal_do_completion): Call `complete_arguments' when the
37265 current words start with a dash.
37266
0b5abe02 372672005-08-27 Marco Gerards <metgerards@student.han.nl>
37268
37269 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37270 `gzio.mod' instead of `io.mod').
37271
d9864ee1 372722005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37273
37274 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37275 (DISTDIRS): Added io and video.
37276 Rewrite the search routine to make an output consistently.
37277
37278 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37279 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37280 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37281 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37282 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37283 util/powerpc/ieee1275/misc.c.
f19dbdb7 37284
d9864ee1 37285 * include/grub/gzio.h: New file.
37286 * io/gzio.c: Likewise.
f19dbdb7 37287
d9864ee1 37288 * kern/file.c (grub_file_close): Call grub_device_close only if
37289 FILE->DEVICE is not NULL.
37290
37291 * include/grub/mm.h [!NULL] (NULL): New macro.
37292
37293 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37294
37295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37296 (pkgdata_MODULES): Added gzio.mod.
37297 (gzio_mod_SOURCES): New variable.
37298 (gzio_mod_CFLAGS): Likewise.
37299
37300 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37301 (pkgdata_MODULES): Added gzio.mod.
37302 (gzio_mod_SOURCES): New variable.
37303 (gzio_mod_CFLAGS): Likewise.
37304
37305 * commands/cat.c: Include grub/gzio.h.
37306 (grub_cmd_cat): Use grub_gzfile_open instead of
37307 grub_file_open.
f19dbdb7 37308
d9864ee1 37309 * commands/cmp.c: Include grub/gzio.h.
37310 (grub_cmd_cmp): Use grub_gzfile_open instead of
37311 grub_file_open.
37312
37313 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37314 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37315 grub_file_open.
37316 (grub_rescue_cmd_module): Likewise.
37317
fa46f4b5 373182005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37319
37320 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37321 kern/sparc64/ieee1275/init.c because it contains _start.
37322 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37323
e9211b5d 373242005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37325
37326 * configure.ac: Add support for sparc64 host with ieee1275
37327 firmware.
37328 * configure: Generated from configure.ac.
37329 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37330 instead of int.
37331 (grub_ofdisk_read): Likewise.
37332 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37333 pointers as (void *) to remove a warning.
37334 (grub_ofdisk_close): Likewise.
37335 (grub_ofdisk_read): Likewise.
37336 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37337 returns, so make it return void to remove a warning.
37338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37339 Corresponding prototype change.
37340 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37341 values, and cast the pointers as (void *) to remove a warning.
37342 (grub_mm_dump): Likewise.
37343 * conf/sparc64-ieee1275.mk: New file.
37344 * conf/sparc64-ieee1275.rmk: Likewise.
37345 * include/grub/sparc64/setjmp.h: Likewise.
37346 * include/grub/sparc64/types.h: Likewise.
37347 * include/grub/sparc64/ieee1275/console.h: Likewise.
37348 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37349 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37350 * include/grub/sparc64/ieee1275/time.h: Likewise.
37351 * kern/sparc64/cache.c: Likewise.
37352 * kern/sparc64/dl.c: Likewise.
37353 * kern/sparc64/ieee1275/init.c: Likewise.
37354 * kern/sparc64/ieee1275/openfw.c: Likewise.
37355
385c6a92 373562005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37357
37358 * util/console.c (grub_ncurses_putchar): If C is greater than
37359 0x7f, set C to a question mark.
37360 (grub_ncurses_getcharwidth): New function.
37361 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37362 getcharwidth.
37363
37364 * normal/menu.c (print_entry): Made aware of Unicode. First,
37365 convert TITLE to UCS-4, and predict the cursor position by
37366 grub_getcharwidth.
37367
37368 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37369 const to SRC.
37370 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37371
16ccb8b1 373722005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37373
37374 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37375 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37376 grub_strcat.
37377
37378 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37379 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37380 grub_strcpy and grub_strlen. Take it into account that a space
37381 character is inserted as a delimiter.
37382
6a85ce79 373832005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37384
37385 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37386 invalid magic in the error.
6a85ce79 37387
37388 * commands/search.c: New file.
f19dbdb7 37389
6a85ce79 37390 * util/grub-emu.c (main): Call grub_search_init and
37391 grub_search_fini.
37392
37393 * kern/rescue.c (grub_rescue_print_disks): Removed.
37394 (grub_rescue_print_devices): New function.
37395 (grub_rescue_cmd_ls): Use grub_device_iterate with
37396 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37397 grub_rescue_print_disks.
37398
37399 * kern/partition.c (grub_partition_iterate): Return the result of
37400 PARTMAP->ITERATE instead of GRUB_ERRNO.
37401
37402 * kern/device.c: Include grub/partition.h.
37403 (grub_device_iterate): New function.
37404
37405 * include/grub/partition.h (grub_partition_iterate): Return int
37406 instead of grub_err_t.
37407
37408 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37409 prototype.
37410 [GRUB_UTIL] (grub_search_fini): Likewise.
37411
37412 * include/grub/device.h (grub_device_iterate): New prototype.
37413
37414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37415 commands/search.c.
37416 (pkgdata_MODULES): Added search.mod.
37417 (search_mod_SOURCES): New variable.
37418 (search_mod_CFLAGS): Likewise.
37419
37420 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37421 (pkgdata_MODULES): Added search.mod.
37422 (search_mod_SOURCES): New variable.
37423 (search_mod_CFLAGS): Likewise.
37424
37425 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37426 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37427 All callers changed.
37428
37429 * DISTLIST: Added commands/search.c.
37430
ef095434 374312005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37432
37433 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37434 conversion.
37435 (grub_getcharwidth): New function.
37436
37437 * kern/misc.c (grub_utf8_to_ucs4): New function.
37438
37439 * include/grub/term.h (struct grub_term): Added a new member
37440 "getcharwidth".
37441 (grub_getcharwidth): New prototype.
37442
37443 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37444
37445 * term/i386/pc/console.c (map_char): New function. Segregated from
37446 grub_console_putchar.
37447 (grub_console_putchar): Use map_char.
37448 (grub_console_getcharwidth): New function.
37449 (grub_console_term): Specified grub_console_getcharwidth as
37450 getcharwidth.
37451
37452 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37453 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37454
37455 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37456 GRUB_ERRNO.
37457 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37458 on grub_strtoul completely.
37459 (write_char): Declare local variables in the beginning of the
37460 function.
37461 (grub_vesafb_getcharwidth): New function.
37462 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37463 getcharwidth.
37464
1f0a95e4 374652005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37466
37467 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37468 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37469 commands/i386/pc/vbetest.c.
37470
37471 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37472 call grub_vbe_get_controller_info again, because the returned
37473 information is volatile.
37474 (grub_vbe_set_video_mode): Mostly rewritten.
37475 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37476 grub_vbe_status_t correctly.
37477 (grub_vbe_get_video_mode_info): Likewise.
37478 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37479 several if statements.
37480
37481 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37482 * commands/i386/pc/vbeinfo.c: ... this.
37483
37484 * commands/i386/pc/vbe_test.c: Renamed to ...
37485 * commands/i386/pc/vbetest.c: ... this.
37486
37487 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37488 ...
37489 (grub_cmd_vbeinfo): ... this. Save video modes before
37490 iterating. Skip a video mode, if it is not available, not enough
37491 information is given or it is monochrome. Show the memory
37492 model. Leave the interpretation of MODEVAR to grub_strtoul
37493 completely.
37494 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37495 (GRUB_MOD_FINI): Likewise.
37496
37497 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37498 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37499 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37500 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37501 grub_strtoul completely.
37502 (real2pm): Removed.
37503 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37504 (GRUB_MOD_FINI): Likewise.
37505
37506 * normal/misc.c: Include grub/mm.h.
37507
37508 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37509 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37510 (vbe_list_modes_mod_SOURCES): Removed.
37511 (vbe_list_modes_mod_CFLAGS): Likewise.
37512 (vbe_test_mod_SOURCES): Likewise.
37513 (vbe_test_mod_CFLAGS): Likewise.
37514 (vbeinfo_mod_SOURCES): New variable.
37515 (vbeinfo_mod_CFLAGS): Likewise.
37516 (vbetest_mod_SOURCES): Likewise.
37517 (vbetest_mod_CFLAGS): Likewise.
37518
992ffbbe 375192005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37520
37521 * normal/misc.c: New file.
37522
37523 * DISTLIST: Added normal/misc.c.
f19dbdb7 37524
992ffbbe 37525 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37526 DISK to HOOK. Call HOOK with DISK.
37527 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37528 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37529 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37530
37531 * normal/menu_entry.c (struct screen): Added a new member
37532 "completion_shown".
37533 (completion_buffer): New global variable.
37534 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37535 (store_completion): New function.
37536 (complete): Likewise.
37537 (clear_completions): Likewise.
37538 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37539 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37540 a tab, call complete.
37541
37542 * normal/completion.c (disk_dev): Removed.
37543 (print_simple_completion): Likewise.
37544 (print_partition_completion): Likewise.
37545 (print_func): New global variable.
37546 (add_completion): Do not take the arguments WHAT or PRINT any
37547 longer. Added a new argument TYPE. Instead of printing directly,
37548 call PRINT_FUNC if not NULL.
37549 All callers changed.
37550 (complete_device): Use a local variable DEV instead of
37551 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37552 (grub_normal_do_completion): Take a new argument HOOK. Do not
37553 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37554 empty string, return NULL instead.
37555 All callers changed.
37556
37557 * normal/cmdline.c (print_completion): New function.
37558
37559 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37560 to HOOK.
37561 All callers changed.
37562
37563 * kern/disk.c (grub_print_partinfo): Removed.
37564
37565 * include/grub/partition.h (struct grub_partition_map): Add a new
37566 argument DISK into HOOK of ITERATE.
37567 (grub_partition_iterate): Add a new argument DISK to HOOK.
37568
37569 * include/grub/normal.h (enum grub_completion_type): New enum.
37570 (grub_completion_type_t): New type.
37571 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37572 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37573 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37574 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37575 (grub_normal_do_completion): Added a new argument HOOK.
37576 (grub_normal_print_device_info): New prototype.
37577
37578 * include/grub/disk.h (grub_print_partinfo): Removed.
37579
37580 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37581 (normal_mod_SOURCES): Likewise.
37582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37583 (normal_mod_SOURCES): Likewise.
37584
37585 * commands/ls.c (grub_ls_list_disks): Use
37586 grub_normal_print_device_info instead of grub_print_partinfo. Free
37587 PNAME.
37588 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37589 duplicating the code.
37590
0bd41162 375912005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37592
37593 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37594 follow GCS more precisely.
37595 * commands/i386/pc/vbe_test.c: Likewise.
37596 * include/grub/i386/pc/vbe.h: Likewise.
37597 * term/i386/pc/vesafb.c: Likewise.
37598 * video/i386/pc/vbe.c: Likewise.
0bd41162 37599
6323696a 376002005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37601
37602 * DISTLIST: Added term/i386/pc/vesafb.c
37603 DISTLIST: Added video/i386/pc/vbe.c
37604 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37605 DISTLIST: Added commands/i386/pc/vbe_test.c.
37606 * commands/i386/pc/vbe_list_modes.c: New file.
37607 * commands/i386/pc/vbe_test.c: Likewise.
37608 * term/i386/pc/vesafb.c: Likewise.
37609 * video/i386/pc/vbe.c: Likewise.
37610 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37611 (grub_vbe_probe) Added prototype.
37612 (grub_vbe_set_video_mode) Likewise.
37613 (grub_vbe_get_video_mode) Likewise.
37614 (grub_vbe_get_video_mode_info) Likewise.
37615 (grub_vbe_set_pixel_rgb) Likewise.
37616 (grub_vbe_set_pixel_index) Likewise.
37617 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37618 (pkgdata_MODULES): Added vesafb.mod.
37619 (pkgdata_MODULES): Added vbe_list_modes.mod.
37620 (pkgdata_MODULES): Added vbe_test.mod.
37621 (vbe_mod_SOURCES): Added.
37622 (vbe_mod_CFLAGS): Likewise.
37623 (vesafb_mod_SOURCES): Likewise.
37624 (vesafb_mod_CFLAGS): Likewise.
37625 (vbe_list_modes_mod_SOURCES): Likewise.
37626 (vbe_list_modes_mod_CFLAGS): Likewise.
37627 (vbe_test_mod_SOURCES): Likewise.
37628 (vbe_test_mod_CFLAGS): Likewise.
37629
0a74e62f 376302005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37631
0a74e62f 37632 * normal/command.c (grub_command_execute): If INTERACTIVE is
37633 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37634 CMDLINE. Disable the pager if INTERACTIVE is true.
37635 All callers are changed.
37636
37637 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37638 before reading a config file.
37639 * normal/main.c (read_config_file): Even if a command is not
37640 found, register it if it is within an entry.
37641
37642 * util/grub-emu.c: Include sys/types.h and unistd.h.
37643 (options): Added --hold.
37644 (struct arguments): Added a new member "hold".
37645 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37646 missing.
37647 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37648 cleared by a debugger, if it is not zero.
37649
37650 * include/grub/normal.h (grub_command_execute): Add an argument
37651 INTERACTIVE.
37652
e51f85ae 376532005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37654
37655 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37656
e9c6f39b 376572005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37658
37659 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37660 program with another one, because the old one didn't detect a bug
37661 in gcc-3.4. Always use regparm 2, because the new test is still
37662 not enough for gcc-4.0. Someone must investigate a simple test
37663 case which detects a bug in gcc-4.0.
37664
8de3495c 376652005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37666
37667 * DISTLIST: Added normal/completion.c.
37668
37669 * normal/completion.c: New file.
f19dbdb7 37670
8de3495c 37671 * term/i386/pc/console.c (grub_console_getwh): New function.
37672 (grub_console_term): Assign grub_console_getwh to getwh.
37673
37674 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37675 function is defined in normal/completion.c as
37676 grub_normal_do_completion.
37677 (grub_cmdline_get): Use grub_normal_do_completion instead of
37678 grub_tab_complete.
37679
37680 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37681 returns non-zero, otherwise return 0.
37682 (grub_partition_iterate): First, probe the partition map. Then,
37683 call ITERATE only for this partition map.
37684
37685 * kern/misc.c (grub_strncmp): Rewritten.
37686
37687 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37688 returns non-zero. Otherwise return 0.
37689
37690 * include/grub/partition.h (grub_partition_map_iterate): Return
37691 int instead of void.
37692
37693 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37694
37695 * include/grub/misc.h (grub_strncmp): Change the type of N to
37696 grub_size_t.
37697
37698 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37699 of void.
37700
37701 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37702 unsigned explicitly before comparing it with I.
8de3495c 37703
37704 * kern/main.c (grub_env_write_root): Add the attribute unused into
37705 VAR.
37706
37707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37708 normal/completion.c.
37709 (normal_mod_SOURCES): Likewise.
37710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37711 (normal_mod_SOURCES): Likewise.
37712
37713 * normal/command.c (grub_iterate_commands): If ITERATE returns
37714 non-zero, return one immediately.
37715
e85e144b 377162005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37717
37718 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37719 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37720 descriptions.
37721 (grub_vbe_get_controller_info): New function.
37722 (grub_vbe_get_mode_info): Likewise.
37723 (grub_vbe_set_mode): Likewise.
37724 (grub_vbe_get_mode): Likewise.
37725 (grub_vbe_set_memory_window): Likewise.
37726 (grub_vbe_get_memory_window): Likewise.
37727 (grub_vbe_set_scanline_length): Likewise.
37728 (grub_vbe_get_scanline_length): Likewise.
37729 (grub_vbe_set_display_start): Likewise.
37730 (grub_vbe_get_display_start): Likewise.
37731 (grub_vbe_set_palette_data): Likewise.
37732 * include/grub/i386/pc/vbe.h: New file.
37733
c46153d2 377342005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37735
37736 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37737 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37738 * DISTLIST: Likewise.
37739 * kern/ieee1275/of.c: Moved to ...
37740 * kern/ieee1275/ieee1275.c: ... here.
37741
0cb90c45 377422005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37743
37744 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37745 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37746 Pass 0 as `end' parameter to grub_strtoul().
37747
a19fb360 377482005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37749
37750 * include/grub/powerpc/ieee1275/console.h: Do not include
37751 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37752 ifdef.
37753 (grub_console_cur_color): Remove i386-specific prototype.
37754 (grub_console_real_putchar): Likewise.
37755 (grub_console_checkkey): Likewise.
37756 (grub_console_getkey): Likewise.
37757 (grub_console_getxy): Likewise.
37758 (grub_console_gotoxy): Likewise.
37759 (grub_console_cls): Likewise.
37760 (grub_console_setcursor): Likewise.
37761 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37762 Include <grub/machine/console.h>.
37763 * term/ieee1275/ofconsole.c: Likewise.
37764
4ac9bd04 377652005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37766
37767 * Makefile.in (LIBLZO): New variable.
37768
37769 * configure.ac: Check for LZO version 2.
37770
37771 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37772 lzo/lzo1x.h instead of lzo1x.h.
37773
37774 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37775 of -llzo.
37776
37777 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37778 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37779
37780 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37781 copying the data from PARTITION to P.
37782
f4917dfd 377832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37784
37785 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37786 negative, unload the module.
37787
37788 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37789 map is "pc_partition_map" but not "pc".
37790 (usage): Fix the description. The options are --boot-image and
37791 --core-image but not --boot-file or --core-file.
37792 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37793 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37794 DEFAULT_DIRECTORY.
37795
37796 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37797 --core-file. Specify INSTALL_DEVICE as an argument.
37798
37799 * util/console.c: Include config.h.
37800 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37801 [HAVE_NCURSES_H]: Include ncurses.h.
37802 [HAVE_CURSES_H]: Include curses.h.
37803 [!A_NORMAL] (A_NORMAL): Defined as zero.
37804 [!A_STANDOUT] (A_STANDOUT): Likewise.
37805
37806 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37807 -lncurses.
37808 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37809
37810 * configure.ac: Check for curses libraries and headers.
37811
37812 * Makefile.in (LIBCURSES): New variable.
37813
37814 * genmk.rb (Script::rule): Set the executable bits.
37815
37816 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37817 name of the PC partition map is "pc_partition_map" but not "pc".
37818
0e143073 378192005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37820
37821 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37822 (modules): Likewise.
37823 (usage): Added descriptions for --modules and --grub-probefs.
37824 Handle --modules and --grub-probefs. Save the arguments in MODULES
37825 and GRUB_PROBEFS, respectively.
37826 Auto-detect a filesystem module against GRUBDIR. If the result is
37827 empty and modules are not specified explicitly, abort the
37828 installation. Add the result to MODULES.
37829
37830 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37831 disk/powerpc/ieee1275/ofdisk.c,
37832 include/grub/powerpc/ieee1275/init.h and
37833 term/powerpc/ieee1275/ofconsole.c.
37834 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37835 term/ieee1275/ofconsole.c.
37836
37837 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37838
37839 * COPYING: Upgraded to the latest version. Only the address of the
37840 FSF office has changed.
f19dbdb7 37841
efd6e6d5 378422005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37843
37844 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37845 kern/ieee1275.c with kern/ieee1275/of.c.
37846
37847 * kern/ieee1275.c: Moved to ...
37848 * kern/ieee1275/of.c: ... here.
37849
8ceafda2 378502005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37851
37852 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37853 readability.
8ceafda2 37854
37855 * config.guess: Updated to the latest version from gnulib.
37856 * config.sub: Likewise.
37857 * install.sh: Likewise.
37858 * mkinstalldirs: Likewise.
37859
37860 * include/grub/console.h: Removed. This file is arch-specific. Do
37861 not put this in include/grub.
37862
37863 * include/grub/i386/pc/console.h: Resurrected.
37864
37865 * util/console.c: Include grub/machine/console.h instead of
37866 grub/console.h.
37867 * util/grub-emu.c: Likewise.
37868
267f6cd9 378692005-08-04 Marco Gerards <metgerards@student.han.nl>
37870
37871 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37872 hardcoded value.
f19dbdb7 37873
267f6cd9 37874 From Vincent Pelletier <subdino2004@yahoo.fr>
37875 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37876 Redefined to use grub_getwh.
37877 (grub_term): New member named getwh.
37878 (grub_getwh): New prototype.
37879 * kern/term.c (grub_getwh): New function.
37880 * term/i386/pc/console.c (grub_console_getwh): New function.
37881 (grub_console_term): New member `getwh'.
37882 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37883 (grub_vga_term): New member `getwh'.
0b5abe02 37884 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37885 grub_ssize_t.
37886 (grub_ofconsole_getw): New function.
37887 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37888 (grub_ofconsole_term): New field named getwh and new initial
37889 value.
37890
3be7266d 378912005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37892
37893 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37894 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37895 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37896 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37897 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37898 of <grub/machine/ieee1275.h>.
37899 * commands/ieee1275/reboot.c: Likewise.
37900 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37901 * kern/ieee1275.c: ... to here. All users updated. Change all
37902 parameter structs to use new type `grub_ieee1275_cell_t'.
37903 * term/powerpc/ieee1275/ofconsole.c: Move ...
37904 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37905 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37906 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37907 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37908 to return int.
37909 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37910 Remove unused prototypes. All users updated.
37911 * include/grub/powerpc/ieee1275/console.h: Removed.
37912 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37913 `grub_ieee1275_cell_t'.
37914 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37915 Cast comparisons with -1 to the correct type.
37916 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37917 type to match `grub_ieee1275_entry_fn'.
37918
8b5f3938 379192005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37920
37921 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37922
37923 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37924 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37925 partmap/sun.c.
37926 (grub_probefs_SOURCES): New variable.
37927
37928 * util/i386/pc/grub-probefs.c: New file.
37929
37930 * util/i386/pc/grub-setup.c (main): Call
37931 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37932 grub_hfs_init and grub_jfs_init to initialize the system. Call
37933 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37934 grub_pc_partition_map_fini to finish the system.
37935
ea409713 379362005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37937
37938 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37939 function.
37940 (grub_multiboot_load_elf32): Likewise.
37941 (grub_multiboot_is_elf64): Likewise.
37942 (grub_multiboot_load_elf64): Likewise.
37943 (grub_multiboot_load_elf): Likewise.
37944 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37945 an ELF32 or ELF64 file.
37946 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37947
37948 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37949 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37950 NULL before calling FS->LABEL.
37951 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37952 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37953 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37954 before calling FS->LABEL.
37955
141a288b 379562005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37957
37958 * util/i386/pc/grub-install.in (datadir): New variable.
37959 (libdir): Removed.
37960 (pkgdatadir): New variable.
37961 (pkglibdir): Removed.
37962
0d5f8a54 379632005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37964
37965 * DISTLIST: Added util/i386/pc/grub-install.in.
37966
37967 * util/i386/pc/grub-install.in: New file.
37968
37969 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37970 (grub_install_SOURCES): Likewise.
37971
37972 * genmk.rb: Added support for scripts.
37973 (Script): New class.
37974 (scripts): New variable.
37975
37976 * Makefile.in (install-local): Install sbin_SCRIPTS by
37977 INSTALL_SCRIPT.
37978 (uninstall): Remove sbin_SCRIPTS.
37979
37980 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37981 device, try to get a GRUB device by
37982 grub_util_biosdisk_get_grub_dev.
37983 Free DEST_DEV.
37984
37985 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37986 description for --device-map.
37987
5f968e1e 379882005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37989
37990 Change the semantics of variable hooks. They now return strings
37991 instead of error values.
f19dbdb7 37992
5f968e1e 37993 * util/i386/pc/grub-setup.c: Include grub/env.h.
37994 (setup): Use grub_device_set_root instead of grub_env_set.
37995
37996 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37997 grub_env_get instead of grub_device_set_root and
37998 grub_device_get_root, respectively.
37999
38000 * kern/main.c (grub_env_write_root): New function.
38001 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38002 grub_env_set instead of grub_device_set_root.
38003
38004 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38005 many variables.
38006 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38007 rather than calling ENV->WRITE_HOOK afterwards.
38008 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38009 passing a pointer of a pointer.
38010 (grub_register_variable_hook): Change the types of "read_hook" and
38011 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38012 respectively.
38013 Allocate the default empty string on the heap, because this string
38014 may be freed later.
38015
38016 * kern/device.c: Include grub/env.h.
38017 (grub_device_set_root): Removed.
38018 (grub_device_get_root): Likewise.
38019 (grub_device_open): Use grub_env_get instead of
38020 grub_device_get_root.
38021
38022 * include/grub/env.h (grub_env_read_hook_t): New type.
38023 (grub_env_write_hook_t): Likewise.
38024 (grub_env_var): Change the types of "read_hook" and "write_hook"
38025 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38026 (grub_register_variable_hook): Likewise.
38027
38028 * include/grub/device.h (grub_device_set_root): Removed.
38029 (grub_device_set_root): Likewise.
38030
38031 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38032 make sure that DIRNAME terminates with '/', so that
38033 grub_fat_find_dir will fail if PATH is not a directory.
38034
38035 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38036 from DIRNAME.
38037 Use the qualifier auto for print_files and print_files_long.
38038 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38039 as a regular file.
38040 Put a newline only if there is no error.
38041 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38042 used.
38043
896f0afd 380442005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38045
38046 * kern/partition.c (grub_partition_probe): Initialize PART to
38047 NULL. Otherwise, when no partition map is registered, this returns
38048 a garbage.
38049
b28b81b2 380502005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38051
38052 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38053 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38054 valid.
38055
5f3607e0 380562005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38057
38058 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38059 information on each device, if it does not have partitions. Print
38060 "Device" instead of "Disk", because this function is not specific
38061 to disk devices.
38062
38063 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38064 static to ensure that it is put on the memory rather than a
38065 register.
38066
502c87e8 380672005-07-17 Yoshinori Okuji <okuji@enbug.org>
38068
38069 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38070 (grub_cat_init): Likewise.
38071 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38072 (options): Likewise.
38073 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38074 (grub_configfile_init): Likewise.
38075 * font/manager.c (GRUB_MOD_INIT): Likewise.
38076 * commands/help.c (GRUB_MOD_INIT): Likewise.
38077 (grub_help_init): Likewise.
38078 * normal/command.c (grub_command_init): Likewise.
38079 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38080 * disk/loopback.c (grub_loop_init): Likewise.
38081 (GRUB_MOD_INIT): Likewise.
38082 * commands/ls.c (grub_ls_init): Likewise.
38083 (GRUB_MOD_INIT): Likewise.
38084 (options): Likewise.
38085 * commands/boot.c (grub_boot_init): Likewise.
38086 (GRUB_MOD_INIT): Likewise.
38087 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38088 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38089 (GRUB_MOD_INIT): Likewise.
38090 * commands/cmp.c (grub_cmp_init): Likewise.
38091 (GRUB_MOD_INIT): Likewise.
38092
38093 * normal/arg.c: Use <> instead of "" to include header files.
38094 (SHORT_ARG_HELP): New macro.
38095 (SHORT_ARG_USAGE): Likewise.
38096 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38097 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38098 descriptions.
38099 (find_short): Check if C is 'h' or 'u' explicitly.
38100 (grub_arg_show_help): Use space characters instead of tabs. Treat
38101 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38102 are shown with --help and --usage only if they are not used for
38103 the command itself.
38104 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38105 'h' and 'u'.
38106
38107 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38108 const into "longarg". Change the type of "shortarg" to int.
38109
f806d18e 381102005-07-17 Yoshinori Okuji <okuji@enbug.org>
38111
38112 * boot/i386/pc/boot.S (boot_drive_check): New label.
38113
38114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38115 macro.
38116
38117 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38118 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38119
e293232b 381202005-07-17 Yoshinori Okuji <okuji@enbug.org>
38121
38122 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38123 When turning off Gate A20, skip the check and return immediately,
38124 because this is not fatal usually.
38125
ebedfd00 381262005-07-17 Yoshinori Okuji <okuji@enbug.org>
38127
38128 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38129 be 0x7C00 instead of 0x8000.
38130
38131 * boot/i386/pc/pxeboot.S: Rewritten.
38132
38133 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38134 EXT_C.
38135 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38136 result.
38137
654fc59f 381382005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38139
38140 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38141 robustness. This routine now supports a BIOS call and System
38142 Control Port A to modify the gate A20.
38143
38144 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38145 Increased to 0x440.
38146
09f9923f 381472005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38148
38149 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38150 device path and resulting ihandle.
38151 (grub_ofdisk_close): dprintf the ihandle being closed.
38152 (grub_ofdisk_read): dprintf function parameters.
38153 * kern/mm.c (grub_mm_init_region): Likewise.
38154 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38155 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38156 size, and boot arguments.
38157 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38158 before loading into memory.
38159 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38160 before loading into memory.
38161
7ef504d8 381622005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38163
38164 * kern/mm.c: Added much documentation.
38165 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38166 8, set to 5 instead of 8.
38167
e0f050c2 381682005-07-10 Yoshinori Okuji <okuji@enbug.org>
38169
38170 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38171
38172 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38173 (grub_mkdevicemap_SOURCES): New variable.
38174
38175 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38176 lib/device.c of GRUB Legacy.
38177
7224189a 381782005-07-10 Yoshinori Okuji <okuji@enbug.org>
38179
38180 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38181 instead of PATH is NULL.
38182
68c864eb 381832005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38184
38185 * commands/cmp.c (BUFFER_SIZE): New macro.
38186 (grub_cmd_cmp): Close the right file at the right time. Compare
38187 only data just read. Don't report files of different size as
38188 identical. Dynamically allocate buffers. Move variable
38189 declarations at the beginning of function.
38190
e6f3e614 381912005-07-09 Yoshinori Okuji <okuji@enbug.org>
38192
38193 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38194 reverse.
38195
f8f1559a 381962004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38197
38198 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38199 when backspace is pressed at beginning of line.
38200
39c9d41d 382012005-07-03 Yoshinori Okuji <okuji@enbug.org>
38202
38203 * DISTLIST: Added genfslist.sh.
38204
38205 * normal/main.c (fs_module_list): New variable.
38206 (autoload_fs_module): New function.
38207 (read_fs_list): Likewise.
38208 (grub_normal_execute): Call read_fs_list.
38209
38210 * kern/fs.c (grub_fs_autoload_hook): New variable.
38211 (grub_fs_probe): Added support for auto-loading.
38212
38213 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38214 (grub_fs_module_list_t): New type.
38215
38216 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38217 (grub_fs_autoload_hook): New prototype.
38218
38219 * genfslist.sh: New file.
f19dbdb7 38220
39c9d41d 38221 * genmk.rb: Added a rule to generate a filesystem list.
38222
121c1d83 382232005-06-30 Marco Gerards <metgerards@student.han.nl>
38224
38225 * configure.ac: Fix the test for cross-compiling.
38226
38227 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38228 define GRUB_UTIL anymore.
38229
38230 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38231 so this function works on other systems than just big endian.
38232 (load_modules): Likewise.
38233 (add_segments): Likewise.
38234
e75d76e1 382352005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38236
38237 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38238 contains `l' modifier, get a long from va_arg().
38239
50b5a0a7 382402005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38241
38242 * kern/mm.c (grub_free): If the next free block which is being
38243 merged is the first free block, set the first block to the block
38244 being freed.
38245 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38246
89371b20 382472005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38248
38249 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38250 `grub_ieee1275_chosen'.
38251
168d6e58 382522005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38253
38254 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38255 (grub_ieee1275_chosen): New variable.
38256 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38257 `chosen'.
38258 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38259 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38260 Rename first argument to `phandle' for consistency.
38261 (grub_ieee1275_get_property_length): Likewise.
38262 (grub_ieee1275_next_property): Likewise. Change type of first argument
38263 to grub_ieee1275_phandle_t.
38264 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38265 Move export next to declaration.
38266 (grub_ieee1275_chosen): New variable.
38267 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38268 Correct cosmetic typo.
38269 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38270 `grub_ieee1275_chosen'.
38271 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38272 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38273 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38274 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38275 `grub_ieee1275_chosen'.
38276
ca5baa3f 382772005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38278
38279 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38280 /chosen/bootargs.
38281 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38282 /chosen/bootargs as "variable=value" pairs.
38283
708b345f 382842005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38285
38286 * include/grub/misc.h (grub_dprintf): New macro.
38287 (grub_real_dprintf): New prototype.
38288 (grub_strword): Likewise.
38289 (grub_iswordseparator): Likewise.
38290 * kern/misc.c (grub_real_dprintf): New function.
38291 (grub_strword): Likewise.
38292 (grub_iswordseparator): Likewise.
38293
f4c5e67c 382942005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38295
38296 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38297 (roundup): Remove macro.
38298 (grub_ieee1275_flags): Make static.
38299 (grub_ieee1275_realmode): Remove.
38300 (grub_ieee1275_test_flag): New function.
38301 (grub_ieee1275_set_flag): Likewise.
38302 (find_options): Rename to `grub_ieee1275_find_options'; update
38303 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38304 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38305 (cmain): New prototype.
38306 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38307 `grub_ieee1275_flags' directly.
38308 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38309 machine/biosdisk.h.
38310 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38311 Don't include grub/machine/init.h.
38312 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38314 Remove prototype.
38315 (grub_ieee1275_realmode): Likewise.
38316 (grub_ieee1275_flag): New enum.
38317 (grub_ieee1275_test_flag): New prototype.
38318 (grub_ieee1275_set_flag): New prototype.
38319 * include/grub/powerpc/ieee1275/init.h: Remove file.
38320 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38321 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38322 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38323 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38324 comment.
38325 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38326 `grub_ieee1275_test_flag'.
38327 (grub_ieee1275_encode_devname): Likewise.
38328
ed16607e 383292005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38330
38331 * include/grub/powerpc/ieee1275/ieee1275.h
38332 (grub_ieee1275_encode_devname): New prototype.
38333 (grub_ieee1275_get_filename): Likewise.
38334 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38335 function.
38336 (grub_set_prefix): Likewise.
38337 (grub_machine_init): Call grub_set_prefix.
38338 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38339 (grub_parse_type): New enum.
38340 (grub_ieee1275_get_devargs): New function.
38341 (grub_ieee1275_get_devname): Likewise.
38342 (grub_ieee1275_parse_args): Likewise.
38343 (grub_ieee1275_get_filename): Likewise.
38344 (grub_ieee1275_encode_devname): Likewise.
38345
be369920 383462005-03-30 Marco Gerards <metgerards@student.han.nl>
38347
38348 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38349 `grub_loader_unset'.
38350
a5ce3a4a 383512005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38352
38353 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38354 instead of grub_ieee1275_interpret.
38355 (grub_halt_init): New function.
38356 (grub_halt_fini): Likewise.
38357 (GRUB_MOD_INIT): Correct message grammar.
38358 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38359 instead of grub_ieee1275_interpret.
38360 (grub_reboot_init): New function.
38361 (grub_reboot_fini): Likewise.
38362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38363 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38364 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38365 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38366 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38367 function.
38368 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38369 Add prototype.
38370 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38371 prototype.
38372 (grub_halt): Likewise.
38373 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38374 (cmain): Remove __attribute__((unused)).
38375 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38376 (grub_heap_len): Likewise.
38377 (grub_machine_fini): New function.
38378 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38379 (grub_halt): Likewise.
38380 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38381 function.
38382 * util/powerpc/ieee1275/misc.c: New file.
38383
0058f771 383842005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38385
38386 * DISTLIST: New file.
38387 * gendistlist.sh: Likewise.
f19dbdb7 38388
0058f771 38389 * Makefile.in (COMMON_DISTFILES): Removed.
38390 (BOOT_DISTFILES): Likewise.
38391 (CONF_DISTFILES): Likewise.
38392 (DISK_DISTFILES): Likewise.
38393 (FS_DISTFILES): Likewise.
38394 (INCLUDE_DISTFILES): Likewise.
38395 (KERN_DISTFILES): Likewise.
38396 (LOADER_DISTFILES): Likewise.
38397 (TERM_DISTFILES): Likewise.
38398 (UTIL_DISTFILES): Likewise.
38399 (DISTFILES): Likewise.
38400 (uninstall): Uninstall files in $(pkgdata_DATA).
38401 (DISTLIST): New target.
38402 (distdir): Use the contents of the file DISTLIST to get a list of
38403 distributed files.
38404
46b3b8a5 384052005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38406
38407 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38408 descriptor. This is ported from GRUB Legacy.
38409
38410 * gencmdlist.sh: Added an extra semicolon to make it work with
38411 old sed versions. Reported by Robert Bihlmeyer
38412 <robbe@orcus.priv.at>.
38413
5822ff87 384142005-03-08 Yoshinori Okuji <okuji@enbug.org>
38415
38416 Automatic loading of commands is supported.
f19dbdb7 38417
5822ff87 38418 * normal/main.c (read_command_list): New function.
38419 (grub_normal_execute): Call read_command_list.
38420
38421 * normal/command.c (grub_register_command): Return zero or CMD.
38422 Allocate CMD->NAME from the heap.
38423 Initialize CMD->MODULE_NAME to zero.
38424 Find the same name as well. If the same command is found and it is
38425 a dummy command, overwrite members. If it is not a dummy command,
38426 return zero.
38427 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38428 (grub_command_find): If a dummy command is found, load a module
38429 and retry to find a command only once.
38430
38431 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38432 make sure that each command is loaded.
38433
38434 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38435 macro.
38436 (struct grub_command): Remove const from the member `name'.
38437 Add a new member `module_name'.
38438 (grub_register_command): Return grub_command_t.
38439
38440 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38441 sure that each command is loaded.
38442
38443 * genmk.rb (PModule::rule): Specify a module name without the
38444 suffix ".mod" to gencmdlist.sh.
38445
7b1f4b57 384462005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38447
38448 * gencmdlist.sh: New file.
f19dbdb7 38449
7b1f4b57 38450 * genmk.rb (PModule::rule): Generate a rule for a command list.
38451 Clean command.lst.
38452 Generate command.lst from $(COMMANDFILES).
38453
38454 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38455 (DATA): Added $(pkgdata_DATA).
38456 (install-local): Install files in $(pkgdata_DATA).
38457
062aaf39 384582005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38459
38460 * term/i386/pc/vga.c (debug_command): Removed.
38461 (GRUB_MOD_INIT): Do not register the command "debug".
38462
38463 From Hollis Blanchard:
38464 * commands/configfile.c: New file.
38465 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38466 commands/configfile.c.
38467 (pkgdata_MODULES): Added configfile.mod.
38468 (configfile_mod_SOURCES): New variable.
38469 (configfile_mod_CFLAGS): Likewise.
38470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38471 commands/configfile.c.
38472 (pkgdata_MODULES): Added configfile.mod.
38473 (configfile_mod_SOURCES): New variable.
38474 (configfile_mod_CFLAGS): Likewise.
38475 * util/grub-emu.c (main): Call grub_configfile_init and
38476 grub_configfile_fini.
38477 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38478 prototype.
38479 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38480
cee01aa6 384812005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38482
38483 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38484 address.
38485
38486 * commands/help.c (grub_cmd_help): Do not print newlines after
38487 the last command in print_command_help.
38488
93f3a1d8 384892005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38490
38491 * commands/default.h: New file.
38492 * commands/timeout.h: Likewise.
38493 * normal/context.c: Likewise.
f19dbdb7 38494
93f3a1d8 38495 * util/misc.c: Do not include sys/times.h.
38496 Include sys/time.h and grub/machine/time.h.
38497 (grub_get_rtc): Rewritten with gettimeofday.
38498
38499 * util/grub-emu.c (main): Call grub_default_init and
38500 grub_timeout_init before grub_normal_init, and call
38501 grub_timeout_fini and grub_default_fini after grub_main.
38502
38503 * util/console.c (grub_ncurses_checkkey): Return the read
38504 character or -1.
38505
38506 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38507 timeouts.
38508
38509 * normal/main.c (read_config_file): Push MENU. If this fails,
38510 print an error and wait for a user input.
38511 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38512 If a menu is empty or an error occurs, pop MENU.
38513 (grub_normal_execute): Pop and free MENU after grub_menu_run
38514 returns.
38515
38516 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38517
38518 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38519 include time.h.
38520 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38521 without GRUB_UTIL.
38522 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38523 time.h.
38524 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38525 without GRUB_UTIL.
38526
38527 * include/grub/normal.h (struct grub_menu_list): New struct.
38528 (grub_menu_list_t): New type.
38529 (struct grub_context): New struct.
38530 (grub_context_t): New type.
38531 (grub_register_command): Got rid of EXPORT_FUNC.
38532 (grub_unregister_command): Likewise.
38533 (grub_context_get): New prototype.
38534 (grub_context_get_current_menu): Likewise.
38535 (grub_context_push_menu): Likewise.
38536 (grub_context_pop_menu): Likewise.
38537 [GRUB_UTIL] (grub_default_init): Likewise.
38538 [GRUB_UTIL] (grub_default_fini): Likewise.
38539 [GRUB_UTIL] (grub_timeout_init): Likewise.
38540 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38541
38542 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38543 commands/timeout.c and normal/context.c.
38544 (pkgdata_MODULES): Added default.mod and timeout.mod.
38545 (normal_mod_SOURCES): Added normal/context.c.
38546 (default_mod_SOURCES): New variable.
38547 (default_mod_CFLAGS): Likewise.
38548 (timeout_mod_SOURCES): Likewise.
38549 (timeout_mod_CFLAGS): Likewise.
38550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38551 conf/i386-pc.rmk.
38552 (pkgdata_MODULES): Added default.mod and timeout.mod.
38553 (normal_mod_SOURCES): Added normal/context.c.
38554 (default_mod_SOURCES): New variable.
38555 (default_mod_CFLAGS): Likewise.
38556 (timeout_mod_SOURCES): Likewise.
38557 (timeout_mod_CFLAGS): Likewise.
38558
38559 * Makefile.in (all-local): Added $(MKFILES).
38560
4ed2e1dd 385612005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38562
38563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38564 (grub_emu_SOURCES): Likewise.
38565 (pkgdata_MODULES): Add `sun.mod'.
38566 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38568 `partmap/sun.c'.
38569 (pkgdata_MODULES): Add `sun.mod'.
38570 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38571 * include/grub/partition.h (grub_sun_partition_map_init): New
38572 prototype.
38573 (grub_sun_partition_map_fini): Likewise.
38574 * partmap/sun.c: New file.
38575 * util/grub-emu.c (main): Initialize and de-initialize the sun
38576 partitionmap support.
38577
4d4e372e 385782005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38579
38580 This implements an Emacs-like menu entry editor.
f19dbdb7 38581
4d4e372e 38582 * normal/menu_entry.c: New file.
f19dbdb7 38583
4d4e372e 38584 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38585 characters to ASCII.
38586 (saved_char): New variable.
38587 (grub_ncurses_checkkey): Rewritten completely.
38588 (grub_ncurses_getkey): Likewise.
38589 (grub_ncurses_init): Call raw instead of cbreak.
38590
38591 * normal/menu.c (print_entry): Do not put a space.
38592 (init_page): Renamed to ...
38593 (grub_menu_init_page): ... this. All callers changed.
38594 (edit_menu_entry): Removed.
38595 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38596
38597 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38598
38599 * kern/misc.c (grub_vprintf): Call grub_refresh.
38600
38601 * normal/menu.c (DISP_LEFT): Renamed to ...
38602 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38603 * normal/menu.c (DISP_UP): Renamed to ...
38604 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38605 * normal/menu.c (DISP_RIGHT): Renamed to ...
38606 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38607 * normal/menu.c (DISP_DOWN): Renamed to ...
38608 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38609 * normal/menu.c (DISP_HLINE): Renamed to ...
38610 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38611 * normal/menu.c (DISP_VLINE): Renamed to ...
38612 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38613 * normal/menu.c (DISP_UL): Renamed to ...
38614 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38615 * normal/menu.c (DISP_UR): Renamed to ...
38616 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38617 * normal/menu.c (DISP_LL): Renamed to ...
38618 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38619 * normal/menu.c (DISP_LR): Renamed to ...
38620 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38621 * normal/menu.c (TERM_WIDTH): Renamed to ...
38622 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38623 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38624 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38625 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38626 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38627 * normal/menu.c (TERM_MARGIN): Renamed to ...
38628 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38629 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38630 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38631 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38632 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38633 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38634 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38635 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38636 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38637 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38638 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38639 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38640 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38641 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38642 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38643 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38644 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38645 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38646 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38647 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38648 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38649 All callers changed.
38650
38651 * include/grub/normal.h: New prototype.
38652
38653 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38654 normal/menu_entry.c.
38655 (normal_mod_SOURCES): Likewise.
38656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38657 (normal_mod_SOURCES): Likewise.
38658
e6b92c8a 386592005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38660
38661 * include/grub/normal.h (grub_halt_init): New prototype.
38662 (grub_halt_fini): Likewise.
38663 (grub_reboot_init): Likewise.
38664 (grub_reboot_fini): Likewise.
38665
38666 * util/grub-emu.c: Include signal.h.
38667 (main_env): New global variable.
38668 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38669 catch C-c.
38670 (grub_machine_fini): New function.
38671 (main): Call grub_halt_init and grub_reboot_init before
38672 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38673 Call setjmp with MAIN_ENV to go back afterwards.
38674 Call grub_machine_fini right before return.
38675
38676 * include/grub/util/misc.h: Include setjmp.h.
38677 (main_env): New prototype.
38678
38679 * include/grub/kernel.h (grub_machine_fini): New prototype.
38680 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38681 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38682
38683 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38684 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38685 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38686
e6b92c8a 38687 * util/i386/pc/misc.c: New file.
f19dbdb7 38688
e6b92c8a 38689 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38690 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38691 commands/i386/pc/reboot.c.
38692
c642636f 386932005-02-14 Guillem Jover <guillem@hadrons.org>
38694
38695 * include/grub/dl.h (grub_dl_check_header): New prototype.
38696 (grub_arch_dl_check_header): Change return type to grub_err_t,
38697 remove size parameter and export function. Update all callers.
38698 * kern/dl.c (grub_dl_check_header): New function.
38699 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38700 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38701 are inside the core.
38702 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38703 independent ELF header checks.
38704 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38705 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38706 `grub_dl_check_header' instead of explicit checks. Check for the
38707 ELF type.
38708 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38709 `grub_dl_check_header' instead of explicit checks. Remove arch
38710 specific ELF header checks.
38711
e6b92c8a 38712 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38713 argument SIZE.
38714
5eabe94b 387152005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38716
38717 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38718 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38719
1b14a681 387202005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38721
38722 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38723 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38724 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38725 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38726 * partmap/amiga.c (amiga_partition_map_iterate): Return
38727 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38728 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38729
aca108aa 387302005-02-01 Guillem Jover <guillem@hadrons.org>
38731
38732 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38733 help info.
38734
c9f9c556 387352005-01-31 Marco Gerards <metgerards@student.han.nl>
38736
38737 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38738 Removed prototype.
38739 (grub_rescue_cmd_linux): New prototype.
38740 (grub_rescue_cmd_initrd): Likewise.
38741 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38742 `bi_rec'.
38743 (grub_linux_release_mem): Release the memory for the initrd.
38744 (grub_load_linux): Renamed from this...
38745 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38746 Changed `entry' not to be static. Loop over memory regions to
38747 find another one when the default fails.
38748 (grub_rescue_cmd_initrd): New function.
38749 (grub_linux_init): Remove function.
38750 (grub_linux_fini): Likewise.
38751 (GRUB_MOD_INIT): Register `initrd'.
38752 (GRUB_MOD_FINI): Unregister `initrd'.
38753 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38754 Function removed.
38755 (grub_linux_normal_fini): Likewise.
38756 (GRUB_MOD_INIT): Register `initrd'.
38757 (GRUB_MOD_FINI): Unregister `initrd'.
38758
990cf3aa 387592005-01-31 Marco Gerards <metgerards@student.han.nl>
38760
38761 * commands/help.c: New file.
38762 * normal/arg.c (show_help): Renamed to...
38763 (grub_arg_show_help): ... this.
38764 * commands/i386/pc/halt.c: New file.
38765 * commands/i386/pc/reboot.c: Likewise.
38766 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38767 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38768 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38769 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38770 variables.
38771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38772 `commands/help.c'.
38773 (pkgdata_MODULES): Add `help.mod'.
38774 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38775 * grub/i386/pc/init.h (grub_reboot): New prototype.
38776 (grub_halt): Likewise.
38777 * include/grub/normal.h (grub_arg_show_help): New prototype.
38778 (grub_help_init): Likewise.
38779 (grub_help_fini): Likewise.
38780 * util/grub-emu.c (main): Initialize and deinitialize the help
38781 command.
38782
38783 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38784
38785 * normal/command.c (grub_command_init): Fixed the description of
38786 the `set' and `unset' commands.
38787
387882005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38789
38790 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38791 function.
38792 * commands/ieee1275/halt.c: New file.
38793 * commands/ieee1275/reboot.c: Likewise.
38794 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38795 `__attribute__ ((unused))'. Some GCS related fixed.
38796 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38797 (grub_suspend_fini): Likewise.
38798 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38799 and `halt.mod'.
38800 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38801 (halt_mod_CFLAGS): New variables.
38802 * include/grub/powerpc/ieee1275/ieee1275.h
38803 (grub_ieee1275_interpret): New prototype.
38804
1ab09cc7 388052005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38806
38807 * include/grub/misc.h (memmove): New prototype.
38808 (memcpy): Likewise.
38809
8b8cbdb2 388102005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38811
38812 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38813 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38814
e3741a27 388152005-01-22 Marco Gerards <metgerards@student.han.nl>
38816
38817 * kern/misc.c (grub_strndup): Function rewritten.
38818
776bd780 388192005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38820
38821 * normal/menu.c (TERM_WIDTH): Macro redefined.
38822 (TERM_TOP_BORDER_Y): Likewise.
38823 (draw_border): Replaced while-loop by a for-loop. Make the number
38824 of lines consistent with the number of lines displayed in
38825 print_entries. Added a margin below the rectangle.
38826 (print_entry): Make the entry fit in the rectangle.
38827 (print_entries): Display the scroll arrows next to the right
38828 border.
38829
78026bce 388302005-01-21 Marco Gerards <metgerards@student.han.nl>
38831
38832 * fs/minix.c (grub_minix_find_file): Reserve more space for
38833 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38834 `grub_strncpy' to copy `path' into it.
38835
67bbaf0f 388362005-01-21 Marco Gerards <metgerards@student.han.nl>
38837
38838 Add the loopback device, a device via which files can be accessed
38839 as devices.
f19dbdb7 38840
67bbaf0f 38841 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38842 (pkgdata_MODULES): Add loopback.mod.
38843 (loopback_mod_SOURCES): New variable.
38844 (loopback_mod_CFLAGS): Likewise.
38845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38846 `disk/loopback.c'.
38847 (pkgdata_MODULES): Add loopback.mod.
38848 (loopback_mod_SOURCES): New variable.
38849 (loopback_mod_CFLAGS): Likewise.
38850 * disk/loopback.c: new file.
38851 * include/grub/normal.h (grub_loop_init): New prototype.
38852 (grub_loop_fini): New prototype.
38853 * util/grub-emu.c (main): Initialize and de-initialize loopback
38854 support.
38855 * include/grub/disk.h (grub_disk_dev_id): Add
38856 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38857
6f1c18bd 388582005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38859
38860 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38861 function.
38862 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38863 (suspend_mod_SOURCES): New variable.
38864 (suspend_mod_CFLAGS): Likewise.
38865 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38866 New prototype.
38867 * commands/ieee1275/suspend.c: New file.
38868
b38551da 388692005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38870
38871 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38872 ((unused))' to `__attribute__ ((used))'.
b38551da 38873 (GRUB_MOD_FINI): Likewise.
38874 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38875 * genmk.rb (PModule): Assign space to common symbols when linking
38876 modules.
38877
777aff39 388782005-01-20 Marco Gerards <metgerards@student.han.nl>
38879
38880 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38881 `unsigned' arguments to `grub_size_t'.
38882 (grub_malloc): Likewise.
38883 (grub_realloc): Likewise.
38884 (grub_memalign): Likewise.
38885 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38886 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38887 * util/misc.c (grub_malloc): Likewise.
38888 (grub_realloc): Likewise.
38889 * kern/mm.c (get_header_from_pointer): Change the casts to
38890 `unsigned' into a cast to `grub_size_t'.
38891
38892 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38893 point to `currnode' when `currnode' is changed.
38894
38895 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38896 Schottelius <nico-linux@schottelius.org>.
38897
d0ff18e1 388982005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38899
38900 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38901 (note_path): Remove variable.
38902 (GRUB_IEEE1275_NOTE_NAME): New macro.
38903 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38904 (grub_ieee1275_note_hdr): New structure.
38905 (grub_ieee1275_note_desc): Likewise.
38906 (grub_ieee1275_note): Likewise.
38907 (load_note): Remove `dir' argument. All callers updated. Remove
38908 `note_img' and `path'. Do not load a file from `note_path'.
38909 Initialize a struct grub_ieee1275_note and write that to `out'.
38910 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38911
4ca7004c 389122005-01-05 Marco Gerards <metgerards@student.han.nl>
38913
38914 * util/misc.c (grub_util_read_image): Revert last change. It
38915 called `grub_util_read_at', which seeks from the beginning of the
38916 file.
38917
0b412211 389182005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38919
38920 * TODO: Add note about endianness in grub-mkimage.
38921 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38922 section.
38923 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38924 (grub_mkimage_SOURCES): New target.
38925 * include/grub/kernel.h (grub_start_addr): Remove variable.
38926 (grub_end_addr): Likewise.
38927 (grub_total_module_size): Likewise.
38928 (grub_kernel_image_size): Likewise.
38929 (GRUB_MODULE_MAGIC): New constant.
38930 (grub_module_info): New structure.
38931 (grub_arch_modules_addr): New prototype.
38932 (grub_get_end_addr): Remove prototype.
38933 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38934 * include/grub/powerpc/ieee1275/kernel.h: New file.
38935 * include/grub/util/misc.h (grub_util_get_fp_size): New
38936 prototype.
38937 (grub_util_read_at): Likewise.
38938 (grub_util_write_image_at): Likewise.
38939 * kern/main.c (grub_get_end_addr): Remove function.
38940 (grub_load_modules): Call grub_arch_modules_addr instead of using
38941 grub_end_addr. Look for a grub_module_info struct in memory. Use
38942 the grub_module_info fields instead of calling grub_get_end_addr
38943 as loop conditions. Move grub_add_unused_region code here.
38944 (grub_add_unused_region): Remove function.
38945 * kern/i386/pc/init.c: Include grub/cache.h.
38946 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38947 one call to add_mem_region.
38948 (grub_arch_modules_addr): New function.
38949 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38950 (grub_total_module_size): Likewise.
38951 Include grub/machine/kernel.h.
38952 (grub_arch_modules_addr): New function.
38953 * util/grub-emu.c (grub_end_addr): Remove variable.
38954 (grub_total_module_size): Likewise.
38955 (grub_arch_modules_addr): New function.
38956 * util/misc.c: Include unistd.h.
38957 (grub_util_get_fp_size): New function.
38958 (grub_util_read_at): Likewise.
38959 (grub_util_write_image_at): Likewise.
38960 (grub_util_read_image): Call grub_util_read_at.
38961 (grub_util_write_image): Call grub_util_write_image_at.
38962 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38963 additional memory in kernel_img for a struct grub_module_info.
38964 Fill in that grub_module_info.
38965 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38966
458786f8 389672005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38968
38969 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38970 New function.
38971 * include/grub/powerpc/ieee1275/ieee1275.h
38972 (grub_ieee1275_milliseconds): New prototype.
38973 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38974 Change to 1000.
38975 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38976 grub_ieee1275_milliseconds.
38977
ac507d1b 389782005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38979
38980 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38981 variable.
38982 (find_options): New function.
38983 (cmain): Call find_options.
38984 * include/grub/powerpc/ieee1275/ieee1275.h
38985 (grub_ieee1275_realmode): New extern variable.
38986 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38987 grub_map if grub_ieee1275_realmode is false.
38988
6b8fd1c4 389892004-12-29 Marco Gerards <metgerards@student.han.nl>
38990
38991 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38992 lines are inserted and make it work like readline. Reported by
38993 Vincent Pelletier <subdino2004@yahoo.fr>.
38994
8514a1e0 389952004-12-28 Marco Gerards <metgerards@student.han.nl>
38996
38997 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38998
38999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39000 `kern/powerpc/cache.S'.
39001
924b6140 390022004-12-27 Marco Gerards <metgerards@student.han.nl>
39003
39004 * genmk.rb: Handle the `Program' class in the main loop. Written
39005 by Johan Rydberg <jrydberg@gnu.org>.
39006 (Program): New class.
39007 (programs): New variable.
39008 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39009 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39010 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39011 (help_arch): Function removed.
39012 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39013 `powerpc/libgcc.h' and `loader.h'.
39014 (pkgdata_PROGRAMS): New variable.
39015 (sbin_UTILITIES): Variable removed.
39016 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39017 (grubof_SOURCES): Variable re-defined so it only includes the
39018 core functionality.
39019 (grubof_CFLAGS): Remove `-DGRUBOF'.
39020 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39021 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39022 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39023 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39024 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39025 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39026 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39027 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39028 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39029 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39030 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39031 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39032 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39033 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39034 (pc_mod_CFLAGS): New variables.
39035 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39036 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39037 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39038 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39039 Moved from here...
39040 * include/grub/i386/pc/init.h (grub_os_area_addr)
39041 (rub_os_area_size): ... to here.
39042 * include/grub/powerpc/ieee1275/ieee1275.h
39043 (grub_ieee1275_entry_fn): Export symbol.
39044 * include/grub/powerpc/ieee1275/init.h: New file.
39045 * include/grub/powerpc/libgcc.h: Likewise.
39046 * include/grub/cache.h: Likewise.
39047 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39048 <hollis@penguinppc.org>.
39049 * kern/dl.c: Include <grub/cache.h>.
39050 (grub_dl_flush_cache): New function.
39051 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39052 for this module.
39053 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39054 (grub_console_init): Removed prototypes.
39055 (grub_machine_init): Don't initialize the modules anymore.
39056 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39057 static.
39058 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39059 Macro undef removed.
39060 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39061 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39062 relocation `R_PPC_REL32'. Return an error when the relocation is
39063 unknown.
39064 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39065 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39066 * util/misc.c (grub_arch_sync_caches): Likewise.
39067
e4b47e0c 390682004-12-19 Marco Gerards <metgerards@student.han.nl>
39069
39070 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39071 `symlist.c', add `grubof_symlist.c'.
39072 (symlist.c): Variable removed.
39073 (grubof_HEADERS): Variable added.
39074 (grubof_symlist.c): New target.
39075 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39076 `kernel_img_HEADERS'.
39077 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39078 * kern/powerpc/dl.c: New file.
39079 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39080 Function removed.
39081 (grub_arch_dl_relocate_symbols): Likewise.
39082 (grub_register_exported_symbols): Likewise.
39083
4ceb3636 390842004-12-13 Marco Gerards <metgerards@student.han.nl>
39085
39086 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39087 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39088 to fail instead. Reported by Vincent Pelletier
39089 <subdino2004@yahoo.fr>.
39090
39091 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39092 it is not allocated. Reported by Vincent Pelletier
39093 <subdino2004@yahoo.fr>.
39094
39095 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39096 output so the output looks better.
f19dbdb7 39097
3f1578fe 390982004-12-04 Marco Gerards <metgerards@student.han.nl>
39099
39100 Modulize the partition map support and add support for the amiga
39101 partition map.
f19dbdb7 39102
3f1578fe 39103 * commands/ls.c: Include <grub/partition.h> instead of
39104 <grub/machine/partition.h>.
39105 * kern/disk.c: Likewise.
39106 * kern/rescue.c: Likewise.
39107 * loader/i386/pc/chainloader.c: Likewise.
39108 * normal/cmdline.c: Likewise.
39109 * kern/powerpc/ieee1275/init.c: Likewise.
39110 (grub_machine_init): Call `grub_pc_partition_map_init',
39111 `grub_amiga_partition_map_init' and
39112 `grub_apple_partition_map_init'.
39113 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39114 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39115 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39116 `partition.h' and `pc_partition.h'.
39117 (grub_setup_SOURCES): Remove
39118 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39119 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39120 (grub_emu_SOURCES): Likewise.
39121 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39122 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39123 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39125 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39126 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39127 (grubof_SOURCES): Likewise.
39128 * disk/i386/pc/partition.c: File removed.
39129 * disk/powerpc/ieee1275/partition.c: Likewise.
39130 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39131 * include/grub/i386/pc/partition.h: Likewise.
39132 * kern/partition.c: New file.
39133 * partmap/amiga.c: Likewise.
39134 * partmap/apple.c: Likewise.
39135 * partmap/pc.c: Likewise.
39136 * include/grub/partition.h: Likewise..
39137 * include/grub/pc_partition.h: Likewise.
39138 * util/grub-emu.c: Include <grub/partition.h> instead of
39139 <grub/machine/partition.h>.
39140 (main): Call `grub_pc_partition_map_init',
39141 `grub_amiga_partition_map_init' and
39142 `grub_apple_partition_map_init' and deinitialize afterwards.
39143 * util/i386/pc/biosdisk.c: Include `#include
39144 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39145 `<grub/machine/partition.h>'.
39146 * util/i386/pc/grub-setup.c: Likewise.
39147 * util/i386/pc/biosdisk.c: Likewise.
39148 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39149 partition information in case of a PC partition.
39150 * util/i386/pc/grub-setup.c: Include `#include
39151 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39152 `<grub/machine/partition.h>'.
39153 (setup): Only access the PC specific partition information in case
39154 of a PC partition.
39155
0ef4ced9 391562004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39157
0ef4ced9 39158 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39159 (grub_longjmp): Likewise.
39160 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39161 20.
39162 * normal/powerpc/setjmp.S: New file.
39163 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39164 `normal/powerpc/setjmp.S'.
39165 (grubof_CFLAGS): Add `-DGRUBOF'.
39166 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39167 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39168
19950e29 391692004-11-16 Marco Gerards <metgerards@student.han.nl>
39170
39171 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39172 property named `name'. Correctly handle the error returned by
39173 `grub_ieee1275_finddevice' if a device can not be opened.
39174
a2fea427 391752004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39176
39177 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39178 `actual' for negativity.
39179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39180 kern/fshelp.c.
39181
41ea0ea3 391822004-11-01 Marco Gerards <metgerards@student.han.nl>
39183
39184 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39185 (PAGE_OFFSET): New macro.
39186 (CRTC_ADDR_PORT): Likewise.
39187 (CRTC_DATA_PORT): Likewise.
39188 (START_ADDR_HIGH_REGISTER): Likewise.
39189 (START_ADDR_LOW_REGISTER): Likewise.
39190 (GRAPHICS_ADDR_PORT): Likewise.
39191 (GRAPHICS_DATA_PORT): Likewise.
39192 (READ_MAP_REGISTER): Likewise.
39193 (INPUT_STATUS1_REGISTER): Likewise.
39194 (INPUT_STATUS1_VERTR_BIT): Likewise.
39195 (page): New variable.
39196 (wait_vretrace): New function.
39197 (set_read_map): Likewise.
39198 (set_start_address): Likewise.
39199 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39200 the right page.
39201 (check_vga_mem): Take the page into account.
39202 (write_char): Likewise.
39203 (write_cursor): Likewise.
39204 (scroll_up): Likewise. Copy the page to the page that is not
39205 shown and switch between both pages.
39206 (grub_vga_putchar): Fix off by one error.
39207 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39208 account.
39209
ad0bd20b 392102004-11-01 Marco Gerards <metgerards@student.han.nl>
39211
39212 Add support for iso9660 (including rockridge).
f19dbdb7 39213
ad0bd20b 39214 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39215 (iso9660_mod_SOURCES): New variable.
39216 (iso9660_mod_CFLAGS): Likewise.
39217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39218 * include/grub/fs.h (grub_iso9660_init): New prototype.
39219 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39220 * fs/iso9660.c: New file.
39221
39222 * include/grub/misc.h (grub_strncat): New prototype.
39223 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39224
ad0bd20b 39225 * fs/hfs.c (grub_hfs_mount): Translate the error
39226 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39227 * fs/jfs.c (grub_jfs_mount): Likewise.
39228 * fs/ufs.c (grub_ufs_mount): Likewise.
39229
a5477a59 392302004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39231
39232 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39233 which initialized BAT registers.
39234 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39235 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39236 Move from here...
39237 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39238 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39239 ... to here.
39240 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39241 (grub_mapclaim): Likewise.
39242 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39243 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39244 hand.
39245
9304c1f8 392462004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39247
39248 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39249 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39250 -ffreestanding and -msoft-float.
39251
86f4ae25 392522004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39253
39254 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39255 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39256 set in grub_ieee1275_flags.
39257
38912228 392582004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39259
39260 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39261 prototype.
39262 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39263 grub_console_init first.
39264 Change the memory range used for grub_ieee1275_claim and
39265 grub_mm_init_region.
39266 Print an error message if the claim fails.
39267 Include <grub/misc.h>.
39268
d1923dc8 392692004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39270
39271 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39272 Call grub_children_iterate for device nodes of type `scsi',
39273 `ide', or `ata'.
39274 (grub_ofdisk_open): Remove manual device alias resolution.
39275 Fix memory leak when device cannot be opened.
f19dbdb7 39276 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39277 (grub_children_iterate): New prototype.
39278 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39279 New function.
39280 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39281 Return -1 if args.size was -1.
39282
4512e4f3 392832004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39284
39285 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39286 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39287 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39288 Open Firmware's memory for it; claim memory from _start to _end.
39289 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39290 (_end): New extern.
39291 (_start): Zero BSS from __bss_start to _end.
39292 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39293 New extern.
39294 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39295
4d61feb0 392962004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39297
ad0bd20b 39298 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39299 -1 if args.base was -1.
4d61feb0 39300
026fa2f9 393012004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39302
39303 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39304 escape sequence instead of a literal ^L. Also call
39305 grub_ofconsole_gotoxy.
39306
9f2220ef 393072004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39308
39309 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39310 void * arguments to grub_addr_t. All callers updated. Also make
39311 the `result' argument optional.
39312 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39313 All callers updated.
39314
8a572cd7 393152004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39316
39317 * commands/ls.c (grub_ls_list_files): Use the string following the
39318 initial ')', if present, as the filesystem path.
39319 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39320
39321 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39322
18aa81f2 393232004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39324
39325 Make the source code of the menu interface more readable.
f19dbdb7 39326
18aa81f2 39327 * normal/menu.c: Include grub/mm.h.
39328 (TERM_WIDTH): New macro.
39329 (TERM_HEIGHT): Likewise.
39330 (TERM_INFO_HEIGHT): Likewise.
39331 (TERM_MARGIN): Likewise.
39332 (TERM_SCROLL_WIDTH): Likewise.
39333 (TERM_TOP_BORDER_Y): Likewise.
39334 (TERM_LEFT_BORDER_X): Likewise.
39335 (TERM_BORDER_WIDTH): Likewise.
39336 (TERM_MESSAGE_HEIGHT): Likewise.
39337 (TERM_BORDER_HEIGHT): Likewise.
39338 (TERM_NUM_ENTRIES): Likewise.
39339 (TERM_FIRST_ENTRY_Y): Likewise.
39340 (TERM_ENTRY_WIDTH): Likewise.
39341 (TERM_CURSOR_X): Likewise.
39342 (draw_border): Use macros instead of magic numbers.
39343 (print_entry): Likewise.
39344 (print_entries): Likewise.
39345 (run_menu): Likewise. Also, handle the key 'e'.
39346 (run_menu_entry): Ignore empty command lines.
39347 (print_message): Added a new argument EDIT. If EDIT is true,
39348 print a different message.
39349 (init_page): Likewise.
39350 (edit_menu_entry): New function. Not implemented yet.
39351
b47efe30 393522004-09-17 Marco Gerards <metgerards@student.han.nl>
39353
39354 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39355 can be loaded from normal mode.
f19dbdb7 39356
b47efe30 39357 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39358 `multiboot.mod'.
39359 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39360 (multiboot_mod_CFLAGS): New variables.
39361 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39362 * loader/i386/pc/multiboot_normal.c: Likewise.
39363
b47efe30 39364 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39365 attribute `unused'.
f19dbdb7 39366
b47efe30 39367 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39368 `fdiro' to read the mode information from instead of `diro'.
39369
39370 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39371 looking up a symlink.
39372
39373 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39374 macro.
39375 * normal/command.c (grub_command_execute): Don't parse the
39376 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39377 flags of the command.
39378
39379 * normal/menu.c (grub_menu_run): Fix typo.
39380
da75ac71 393812004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39382
39383 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39384
39385 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39386 `y + 1' instead of `y - 1'.
39387
39388 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39389
062b24c2 393902004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39391
39392 From Hollis Blanchard <hollis@penguinppc.org>:
39393 * kern/misc.c (memmove): New alias for grub_memmove.
39394 (memcmp): New alias for grub_memcmp.
39395 (memset): New alias for grub_memset.
f19dbdb7 39396 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39397 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39398 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39399 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39400
8ddad845 394012004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39402
39403 Added normal mode command `chainloader' as module chain.mod, which
39404 depends on normal.mod and _chain.mod.
f19dbdb7 39405
8ddad845 39406 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39407 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39408 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39409 Deleted prototype.
39410 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39411 but arguments parsing moved to ...
39412 (grub_chainloader_cmd): ... here. New function.
39413 * include/grub/i386/pc/chainloader.h: New file.
39414 * loader/i386/pc/chainloader_normal.c: Likewise.
39415
2c1f4ce3 394162004-09-11 Marco Gerards <metgerards@student.han.nl>
39417
39418 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39419 (grub_mkimage_LDFLAGS): Likewise.
39420 (grub_emu_SOURCES): Likewise.
39421 (kernel_img_HEADERS): Added fshelp.h.
39422 * fs/ext2.c: Include <grub/fshelp.h>.
39423 (FILETYPE_REG): New macro.
39424 (FILETYPE_INO_REG): Likewise.
39425 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39426 Changed all users.
39427 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39428 all users.
39429 (grub_fshelp_node): New struct.
39430 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39431 to a pointer.
39432 (grub_ext2_get_file_block): Removed function.
39433 (grub_ext2_read_block): New function.
39434 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39435 This function was written.
39436 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39437 (grub_ext2_find_file): Removed function.
39438 (grub_ext2_read_symlink): New function.
39439 (grub_ext2_iterate_dir): Likewise.
39440 (grub_ext2_open): Rewritten.
39441 (grub_ext2_dir): Rewritten.
39442 * include/grub/fshelp.h: New file.
39443 * fs/fshelp.c: Likewise.
39444
3c52136a 394452004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39446
39447 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39448 (print_message): Add a missing newline.
39449 (run_menu): Added timeout support.
39450 (run_menu_entry): New local function.
39451 (grub_menu_run): Added support for booting.
39452
39453 * kern/loader.c (grub_loader_is_loaded): New function.
39454
39455 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39456 (grub_get_rtc): Exported.
39457
39458 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39459 (grub_get_rtc): Exported.
39460
39461 * include/grub/normal.h (struct grub_command_list): Remove
39462 constant from the member `command'.
39463
39464 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39465
39466 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39467
39468 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39469
aa033560 394702004-08-28 Marco Gerards <metgerards@student.han.nl>
39471
39472 Add support for the JFS filesystem.
39473
39474 * fs/jfs.c: New file.
39475 * include/grub/fs.h (grub_jfs_init): New prototype.
39476 (grub_jfs_fini): New prototype.
39477 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39478 (grub_emu_SOURCES): Likewise.
39479 (pkgdata_MODULES): Add jfs.mod.
39480 (jfs_mod_SOURCES): New variable.
39481 (jfs_mod_CFLAGS): Likewise.
39482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39483 (grubof_SOURCES): Likewise.
39484 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39485
39486 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39487 endian to the host endian.
39488 (grub_fat_utf16_to_utf8): Move function from there...
39489 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39490 the endianness of the source string anymore.
aa033560 39491 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39492
94bc45af 394932004-08-24 Marco Gerards <metgerards@student.han.nl>
39494
39495 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39496 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39497 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39498 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39499
94bc45af 39500 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39501 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39502 for `node_found' and `it_dir'.
39503 (grub_hfs_dir): Add prototype for `dir_hook'.
39504
39505 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39506 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39507 and `indir32' to silence a gcc warning.
39508
39509 * include/grub/fs.h (grub_hfs_init): New prototype.
39510 (grub_hfs_fini): Likewise.
f19dbdb7 39511
39512
97543f08 395132004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39514
39515 Each disk device has its own id now. This is useful to make use
39516 of multiple disk devices.
f19dbdb7 39517
97543f08 39518 * include/grub/disk.h (grub_disk_dev_id): New enum.
39519 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39520 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39521
39522 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39523 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39524
39525 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39526 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39527
39528 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39529 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39530
39531 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39532 "id" which is used by the cache manager.
39533
39534 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39535 of just "GRUB".
39536
64372eb4 395372004-08-18 Marco Gerards <metgerards@student.han.nl>
39538
39539 * fs/hfs.c: New file.
39540 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39541 (grub_emu_SOURCES): Likewise.
39542 (pkgdata_MODULES): Add hfs.mod.
39543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39544 (grubof_SOURCES): Likewise.
39545 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39546
39547 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39548 * kern/misc.c (grub_strncasecmp): Add function.
39549
cc61b58f 395502004-08-14 Marco Gerards <metgerards@student.han.nl>
39551
39552 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39553 with parentheses.
39554
39555 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39556 (grub_ext2_dir): In case the directory entry type is unknown, read
39557 it from the inode.
39558
0ef123f6 395592004-08-02 Peter Bruin <pjbruin@dds.nl>
39560
39561 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39562 grub_load_linux instead of grub_rescue_cmd_linux as second
39563 argument of grub_rescue_register_command.
39564
39565 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39566
a447c5df 395672004-07-27 Marco Gerards <metgerards@student.han.nl>
39568
39569 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39570 function.
39571 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39572 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39573 `loader/powerpc/ieee1275/linux.c',
39574 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39575 * include/grub/powerpc/ieee1275/ieee1275.h
39576 (grub_ieee1275_release): New prototype.
39577 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39578 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39579 normal, boot, linux and linux_normal.
39580 * loader/powerpc/ieee1275/linux.c: New file.
39581 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39582
5a9e3546 395832004-07-12 Marco Gerards <metgerards@student.han.nl>
39584
39585 * normal/arg.c (grub_arg_parse): Correct error handling after
39586 reallocating the argumentlist (check if `argl' is not null instead
39587 of checking if `args' is not null).
39588 * kern/mm.c (grub_realloc): Return the same pointer when using the
39589 same region, instead of returning the header address.
39590
e15199cb 395912004-07-11 Marco Gerards <metgerards@student.han.nl>
39592
39593 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39594 one block instead of two when looking for the initial partition.
39595 (grub_partition_probe): Initialize the local variable `p' with 0.
39596 Use base 10 for the grub_strtoul call.
39597 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39598 need for one local variable.
39599 (grub_strtoul): Don't add the new value to `num', instead of that
39600 just assign it.
39601
020616c2 396022004-07-11 Marco Gerards <metgerards@student.han.nl>
39603
39604 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39605 (pxeboot_img_SOURCES): New variable.
39606 (pxeboot_img_ASFLAGS): Likewise.
39607 (pxeboot_img_LDFLAGS): Likewise.
39608 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39609 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39610 <lode_leroy@hotmail.com>.
39611
6c51eb64 396122004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39613
39614 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39615 there was no input.
39616
cfb12aff 396172004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39618
39619 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39620 the history buffer logic.
39621
6eabba74 396222004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39623
39624 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39625 (FILETYPE_INO_SYMLINK): New macros.
39626 (grub_ext2_find_file): Check if the node is a directory using the
39627 inode stat information instead of using the filetype in the
39628 dirent. Exclude the first character of an absolute symlink.
39629 (grub_ext2_dir): Mask out the filetype part of the mode member of
39630 the inode.
39631
66e19ef8 396322004-05-24 Marco Gerards <metgerards@student.han.nl>
39633
39634 Add support for UFS version 1 and 2. Add support for the minix
39635 filesystem version 1 and 2, both the variants with 14 and 30 long
39636 filenames.
f19dbdb7 39637
66e19ef8 39638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39639 fs/minix.c.
39640 (grub_emu_SOURCES): Likewise.
39641 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39642 (ufs_mod_SOURCES): New variable.
39643 (ufs_mod_CFLAGS): Likewise.
39644 (minix_mod_SOURCES): Likewise.
39645 (minix_mod_CFLAGS): Likewise.
39646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39647 fs/minix.c.
39648 (grubof_SOURCES): Likewise.
39649 * fs/ufs.c: New file.
39650 * fs/minix.c: New file.
39651 * include/grub/fs.h (grub_ufs_init): New prototype.
39652 (grub_ufs_fini): Likewise.
39653 (grub_minix_init): Likewise.
39654 (grub_minix_fini): Likewise.
39655 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39656 minix fs.
39657
cc2e748a 396582004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39659
39660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39661 commands/ls.c, commands/terminal.c, commands/boot.c,
39662 commands/cmp.c and commands/cat.c.
39663 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39664
39665 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39666 "env.h"
39667
4b13b216 396682004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39669
39670 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39671 and grub_, respectively. Because the conversion is trivial and
39672 mechanical, I omit the details here. Please refer to the CVS
39673 if you need more information.
39674
6a142551 396752004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39676
39677 * include/pupa: Renamed to ...
39678 * include/grub: ... this.
39679 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39680 * util/i386/pc/grub-mkimage.c: ... this.
39681 * util/i386/pc/pupa-setup.c: Renamed to ...
39682 * util/i386/pc/grub-setup.c: ... this.
39683 * util/pupa-emu.c: Renamed to ...
39684 * util/grub-emu.c: ... this.
39685
e56cdf21 396862004-03-29 Marco Gerards <metgerards@student.han.nl>
39687
39688 Add support for the newworld apple macintosh (PPC). This has been
39689 tested on the powerbook 2000 only. It only adds support for
39690 generic ieee1275 functions, console and disk support. This should
39691 be easy to port to other architectures with support for Open
39692 Firmware.
f19dbdb7 39693
e56cdf21 39694 * configure.ac: Accept the powerpc as host_cpu. In the case of
39695 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39696 specific tests are only executed while building for the i386.
39697 Inverse test for crosscompile.
39698 * genmk.rb (Utility): Allow assembler files.
39699 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39700 * conf/powerpc-ieee1275.rmk: New file.
39701 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39702 * disk/powerpc/ieee1275/partition.c: Likewise.
39703 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39704 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39705 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39706 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39707 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39708 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39709 * include/pupa/powerpc/ieee1275/loader.h
39710 * include/pupa/powerpc/setjmp.h: Likewise.
39711 * include/pupa/powerpc/types.h: Likewise.
39712 * kern/powerpc/ieee1275/init.c: Likewise.
39713 * kern/powerpc/ieee1275/openfw.c: Likewise.
39714 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39715
39716 These files were written by Johan Rydberg
39717 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39718
e56cdf21 39719 * boot/powerpc/ieee1275/cmain.c: New file.
39720 * boot/powerpc/ieee1275/crt0.S: Likewise.
39721 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39722 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39723
8c8cc205 397242004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39725
39726 * Makefile.in: Update copyright.
39727 * genmodsrc.sh: Likewise.
39728 * gensymlist.sh: Likewise.
39729 * term/i386/pc/vga.c: Indent correctly.
39730
39731 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39732 bugreporting address.
39733 * util/i386/pc/pupa-setup.c (usage): Likewise,
39734 (main): Call pupa_ext2_init and pupa_ext2_fini.
39735
f19dbdb7 39736 * fs/fat.c (log2): Renamed to ...
8c8cc205 39737 (fat_log2): ... this.
39738 All callers changed.
39739 * kern/misc.c (memcpy): Alias to pupa_memmove.
39740 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39741 lvalue cast.
39742 * util/console.c (pupa_ncurses_fini): Return 0.
39743
39744 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39745 Move fail label here.
39746 [__GNU__]: Don't warn when using stat.
39747 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39748 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39749 long int. Use strtol instead of strtoul.
f19dbdb7 39750
db1771cf 397512004-03-14 Marco Gerards <metgerards@student.han.nl>
39752
39753 * commands/boot.c: New file.
39754 * commands/cat.c: Likewise.
39755 * commands/cmp.c: Likewise.
39756 * commands/ls.c: Likewise.
39757 * commands/terminal.c: Likewise.
39758 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39759 (pupa_register_command): Changed interface to match the new
39760 argument parser.
39761 (pupa_command_execute): Changed (almost rewritten) so it uses
39762 pupa_split_command. Added support for setting variables using the
39763 syntax `foo=bar'.
39764 (rescue_command): Changed to work with the new argument parser.
39765 (terminal_command): Moved from here to commands/terminal.c.
39766 (set_command): New function.
39767 (unset_command): New function.
39768 (insmod_command): New function.
39769 (rmmod_command): New function.
39770 (lsmod_command): New function.
39771 (pupa_command_init): Don't initialize the command terminal
39772 anymore. Initialize the commands set, unset, insmod, rmmod and
39773 lsmod.
39774 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39775 (kernel_img_HEADERS): Add arg.h and env.h.
39776 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39777 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39778 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39779 normal/arg.c.
39780 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39781 terminal.mod.
39782 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39783 (boot_mod_SOURCES): New variable.
39784 (terminal_mod_SOURCES): Likewise.
39785 (ls_mod_SOURCES): Likewise.
39786 (cmp_mod_SOURCES): Likewise.
39787 (cat_mod_SOURCES): Likewise.
39788
39789 * normal/arg.c: New file.
39790 * kern/env.c: Likewise.
39791 * include/pupa/arg.h: Likewise.
39792 * include/pupa/env.h: Likewise.
39793 * font/manager.c (font_command): Changed to match argument parsing
39794 interface changes.
39795 (PUPA_MOD_INIT): Likewise.
39796 * hello/hello.c (pupa_cmd_hello): Likewise.
39797 (PUPA_MOD_INIT): Likewise.
39798 * include/pupa/disk.h: Include <pupa/device.h>.
39799 (pupa_print_partinfo): New prototype.
39800 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39801 (pupa_dl_get_prefix): Likewise.
39802 * include/pupa/misc.h: Include <pupa/err.h>.
39803 (pupa_isgraph): New prototype.
39804 (pupa_isdigit): Likewise.
39805 (pupa_split_cmdline): Likewise.
39806 * include/pupa/normal.h: Include <pupa/arg.h>.
39807 (pupa_command): Changed the prototype of the member `func' to
39808 match the argument parsing interface. Added member `options'.
39809 (pupa_register_command): Updated to match function.
39810 (pupa_arg_parse): New prototype.
39811 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39812 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39813 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39814 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39815 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39816 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39817 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39818 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39819 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39820 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39821 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39822 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39823 * kern/disk.c: Include <pupa/file.h>.
39824 (pupa_print_partinfo): New function.
39825 * kern/dl.c: Include <pupa/env.h>.
39826 (pupa_dl_dir): Variable removed.
39827 (pupa_dl_load): Use the environment variable `prefix' instead of
39828 the variable pupa_dl_dir.
39829 (pupa_dl_set_prefix): Function removed.
39830 (pupa_dl_get_prefix): Likewise.
39831 * kern/i386/pc/init.c: Include <pupa/env.h>.
39832 (pupa_machine_init): Use the environment variable `prefix' instead of
39833 using pupa_dl_set_prefix to set the prefix.
39834 * kern/main.c: Include <pupa/env.h>.
39835 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39836 using pupa_dl_get_prefix to get the prefix.
39837 * kern/misc.c: Include <pupa/env.h>.
39838 (pupa_isdigit): New function.
39839 (pupa_isgraph): Likewise.
39840 (pupa_ftoa): Likewise.
39841 (pupa_vsprintf): Added support for printing values of the type
39842 `double'. Make it possible to format variable output when using
39843 formatting like `%1.2%f'.
39844 (pupa_split_cmdline): New function.
39845 * kern/rescue.c: Include <pupa/env.h>.
39846 (next_word): Removed function.
39847 (pupa_rescue_cmd_prefix): Likewise.
39848 (pupa_rescue_cmd_set): New function.
39849 (pupa_rescue_cmd_unset): New function.
39850 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39851 split the command line instead of splitting it here. Added
39852 support for setting variables using the syntax `foo=bar'. Don't
39853 initialize the prefix command anymore. Initialized the set and
39854 unset commands.
39855 * normal/cmdline.c: Include <pupa/env.h>.
39856 (pupa_tab_complete): Added prototypes for print_simple_completion,
39857 print_partition_completion, add_completion, iterate_commands,
39858 iterate_dev, iterate_part and iterate_dir. Moved code to print
39859 partition information from here to kern/disk.c.
fe6b695a 39860 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39861 * normal/main.c: Include <pupa/env.h>.
39862 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39863 instead of using pupa_dl_get_prefix to get the prefix.
39864 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39865 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39866 warning.
39867 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39868 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39869 ((unused))' to silence a gcc warning.
39870 (pupa_vga_setcolor): Likewise.
39871 (debug_command): Changed to match argument parsing
39872 interface changes.
39873 * util/pupa-emu.c: Include <pupa/env.h>.
39874 (options): Added 0's for unused fields to silence a gcc warning.
39875 (argp): Likewise.
39876 (main): Use the environment variable `prefix' instead of using
39877 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39878 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39879 and terminal.
39880
39881 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39882 * util/misc.c: Include <malloc.h>.
39883 (pupa_malloc): Rewritten so errors are correctly reported.
39884 (pupa_realloc): Likewise.
39885 (pupa_memalign): Likewise.
39886 (pupa_mm_init_region): Declare unused variables with
39887 `__attribute__ ((unused))' to silence a gcc warning.
39888 * normal/i386/setjmp.S: Remove tab at the end of the file to
39889 silence a gcc warning.
39890 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39891 variables with `__attribute__ ((unused))' to silence a gcc
39892 warning.
39893 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39894 local variable i unsigned to silence a gcc warning.
39895
39896 * kern/term.c: Include <pupa/misc.h>.
39897 (pupa_more_lines): New variable.
39898 (pupa_more): Likewise.
39899 (pupa_putcode): When the pager is active pause at the end of every
39900 screen.
39901 (pupa_set_more): New function.
39902 * include/pupa/term.h (pupa_set_more): New prototype.
39903
39904
3b1139cb 399052004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39906
39907 Now this project is GRUB 2 rather than PUPA. The location of
39908 the CVS repository was moved to GRUB's.
f19dbdb7 39909
3b1139cb 39910 * configure.ac: Use bug-grub as the reporting address.
39911 Use GRUB instead of PUPA.
39912 Change the version number to 1.90.
39913
8367695c 399142004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39915
39916 * genkernsyms.sh: Updated copyright information.
39917 * genmk.rb: Likewise.
39918 * genmodsrc.sh: Likewise.
39919 * gensymlist.sh: Likewise.
39920 * boot/i386/pc/boot.S: Likewise.
39921 * boot/i386/pc/diskboot.S: Likewise.
39922 * disk/i386/pc/biosdisk.c: Likewise.
39923 * disk/i386/pc/partition.c: Likewise.
39924 * font/manager.c: Likewise.
39925 * fs/ext2.c: Likewise.
39926 * fs/fat.c: Likewise.
39927 * include/pupa/boot.h: Likewise.
39928 * include/pupa/device.h: Likewise.
39929 * include/pupa/disk.h: Likewise.
39930 * include/pupa/dl.h: Likewise.
39931 * include/pupa/elf.h: Likewise.
39932 * include/pupa/err.h: Likewise.
39933 * include/pupa/file.h: Likewise.
39934 * include/pupa/font.h: Likewise.
39935 * include/pupa/fs.h: Likewise.
39936 * include/pupa/kernel.h: Likewise.
39937 * include/pupa/loader.h: Likewise.
39938 * include/pupa/misc.h: Likewise.
39939 * include/pupa/mm.h: Likewise.
39940 * include/pupa/net.h: Likewise.
39941 * include/pupa/normal.h: Likewise.
39942 * include/pupa/rescue.h: Likewise.
39943 * include/pupa/setjmp.h: Likewise.
39944 * include/pupa/symbol.h: Likewise.
39945 * include/pupa/term.h: Likewise.
39946 * include/pupa/types.h: Likewise.
39947 * include/pupa/i386/setjmp.h: Likewise.
39948 * include/pupa/i386/types.h: Likewise.
39949 * include/pupa/i386/pc/biosdisk.h: Likewise.
39950 * include/pupa/i386/pc/boot.h: Likewise.
39951 * include/pupa/i386/pc/console.h: Likewise.
39952 * include/pupa/i386/pc/init.h: Likewise.
39953 * include/pupa/i386/pc/kernel.h: Likewise.
39954 * include/pupa/i386/pc/linux.h: Likewise.
39955 * include/pupa/i386/pc/loader.h: Likewise.
39956 * include/pupa/i386/pc/memory.h: Likewise.
39957 * include/pupa/i386/pc/multiboot.h: Likewise.
39958 * include/pupa/i386/pc/partition.h: Likewise.
39959 * include/pupa/i386/pc/time.h: Likewise.
39960 * include/pupa/i386/pc/vga.h: Likewise.
39961 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39962 * include/pupa/util/getroot.h: Likewise.
39963 * include/pupa/util/misc.h: Likewise.
39964 * include/pupa/util/resolve.h: Likewise.
39965 * kern/device.c: Likewise.
39966 * kern/disk.c: Likewise.
39967 * kern/dl.c: Likewise.
39968 * kern/err.c: Likewise.
39969 * kern/file.c: Likewise.
39970 * kern/fs.c: Likewise.
39971 * kern/loader.c: Likewise.
39972 * kern/main.c: Likewise.
39973 * kern/misc.c: Likewise.
39974 * kern/mm.c: Likewise.
39975 * kern/rescue.c: Likewise.
39976 * kern/term.c: Likewise.
39977 * kern/i386/dl.c: Likewise.
39978 * kern/i386/pc/init.c: Likewise.
39979 * kern/i386/pc/lzo1x.S: Likewise.
39980 * kern/i386/pc/startup.S: Likewise.
39981 * loader/i386/pc/chainloader.c: Likewise.
39982 * loader/i386/pc/linux.c: Likewise.
39983 * loader/i386/pc/multiboot.c: Likewise.
39984 * normal/cmdline.c: Likewise.
39985 * normal/command.c: Likewise.
39986 * normal/main.c: Likewise.
39987 * normal/menu.c: Likewise.
39988 * normal/i386/setjmp.S: Likewise.
39989 * term/i386/pc/console.c: Likewise.
39990 * term/i386/pc/vga.c: Likewise.
39991 * util/console.c: Likewise.
39992 * util/genmoddep.c: Likewise.
39993 * util/misc.c: Likewise.
39994 * util/pupa-emu.c: Likewise.
39995 * util/resolve.c: Likewise.
39996 * util/unifont2pff.rb: Likewise.
39997 * util/i386/pc/biosdisk.c: Likewise.
39998 * util/i386/pc/getroot.c: Likewise.
39999 * util/i386/pc/pupa-mkimage.c: Likewise.
40000 * util/i386/pc/pupa-setup.c: Likewise.
40001
e6eced71 400022004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40003
40004 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40005 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40006 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40007 reading and reset it after reading.
40008 (pupa_ext2_close): Return PUPA_ERR_NONE.
40009
40010 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40011 Correct value.
40012 (struct linux_kernel_header): Add kernel_version and
40013 initrd_addr_max.
40014 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40015 pupa_file_read succeeds.
40016 (pupa_rescue_cmd_initrd): Implement.
40017
5aded270 400182003-12-03 Marco Gerards <metgerards@student.han.nl>
40019
40020 * fs/ext2.c (pupa_ext2_label): New function.
40021 (pupa_ext2_fs): Added label.
40022 * fs/fat.c (pupa_fat_label): New function.
40023 (pupa_fat_fs): Added label.
40024 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40025
40026 * kern/misc.c (pupa_strndup): New function.
40027 * include/pupa/misc.h (pupa_strndup): New prototype.
40028
40029 * include/pupa/normal.h: Include <pupa/err.h>.
40030 (pupa_set_history): New prototype.
40031 (pupa_iterate_commands): New prototype.
40032 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40033 <pupa/disk.h>, <pupa/file.h>.
40034 (hist_size): New variable.
40035 (hist_lines): Likewise.
40036 (hist_end): Likewise.
40037 (hist_used): Likewise.
40038 (pupa_set_history): New function.
40039 (pupa_history_get): Likewise.
40040 (pupa_history_add): Likewise.
40041 (pupa_history_replace): Likewise.
40042 (pupa_tab_complete): Likewise.
40043 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40044 completion shows partitionnames while completing partitions, this
40045 feature was suggested by Jeff Bailey.
40046 * normal/command.c (pupa_iterate_commands): New function.
40047 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40048 (pupa_normal_init): Initialize history buffer.
40049 (PUPA_MOD_INIT): Likewise.
40050 (pupa_normal_fini): Free the history buffer.
40051 (PUPA_MOD_FINI): Likewise.
40052
40053 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40054 key.
40055
40056 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40057 * configure.ac [i386]: Check for regparam bug.
40058 (NESTED_FUNC_ATTR) [! i386]: Defined.
40059
1f7315a3 400602003-11-17 Marco Gerards <metgerards@student.han.nl>
40061
40062 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40063 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40064 (pupa_emu_SOURCES): New variable.
40065 (pupa_emu_LDFLAGS): Likewise.
40066 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40067 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40068 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40069 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40070 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40071 (pupa_jmp_buf): New typedef.
40072 (pupa_setjmp) [PUPA_UTIL]: New macro.
40073 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40074 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40075 (pupa_refresh): New prototype.
40076 * include/pupa/util/getroot.h: New file.
40077 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40078 it.
40079 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40080 (pupa_rescue_cmd_cat): Likewise.
40081 (pupa_rescue_cmd_ls): Likewise.
40082 (pupa_rescue_cmd_testload): Likewise.
40083 (pupa_rescue_cmd_lsmod): Likewise.
40084 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40085 * normal/menu.c (run_menu): Likewise.
40086 * kern/term.c (pupa_cls): Likewise.
40087 (pupa_refresh): New function.
40088 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40089 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40090 * util/console.c: New file.
f19dbdb7 40091
1f7315a3 40092 * util/i386/pc/getroot.c: New file.
40093 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40094 (pupa_putchar): New function.
40095 (pupa_refresh): Likewise.
40096 (xgetcwd): Function moved to ...
40097 (strip_extra_slashes): Likewise.
40098 (get_prefix): Likewise.
f19dbdb7 40099 * util/i386/pc/getroot.c: ... here.
1f7315a3 40100 (find_root_device): Function moved and renamed to...
40101 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40102 Changed all callers.
40103 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40104 and renamed to...
40105 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40106 Changed all callers.
40107 * util/misc.c (pupa_memalign): New function.
40108 (pupa_mm_init_region): Likewise.
40109 (pupa_register_exported_symbols): Likewise.
40110 (pupa_putchar): Function removed.
40111 * util/pupa-emu.c: New file.
40112
9a5c1ade 401132003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40114
40115 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40116 (_multiboot_mod_SOURCES): New variable.
40117 (_multiboot_mod_CFLAGS): Likewise.
40118 * loader/i386/pc/multiboot.c: New file.
40119 * include/pupa/i386/pc/multiboot.h: Likewise.
40120 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40121 (pupa_multiboot_real_boot): New function.
40122 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40123 (pupa_multiboot_real_boot): New prototype.
40124 (pupa_rescue_cmd_multiboot): Likewise
40125 (pupa_rescue_cmd_module): Likewise.
40126
40127 * kern/loader.c (pupa_loader_set): Continue when
40128 pupa_loader_unload_func() fails.
40129 (pupa_loader_unset): New function.
40130 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40131
40132 * kern/misc.c (pupa_stpcpy): New function.
40133 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40134
8e72a9c0 401352003-11-12 Marco Gerards <metgerards@student.han.nl>
40136
40137 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40138 for available extensions.
40139
40140 * include/pupa/i386/pc/time.h: New file.
40141 * kern/disk.c: Include <pupa/machine/time.h>.
40142 (PUPA_CACHE_TIMEOUT): New macro.
40143 (pupa_last_time): New variable.
40144 (pupa_disk_open): Flush the cache when there was a timeout.
40145 (pupa_disk_close): Reset the timer.
40146 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40147 pupa_currticks.
40148 * util/misc.c: Include <sys/times.h>
40149 (pupa_get_rtc): New function.
40150
c4adbd32 401512003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40152
40153 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40154 as blocks.
40155 (pupa_ext2_get_file_block): Use blocks member.
40156
40157 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40158 first block. Return -1 instead of pupa_errno on error.
40159
bfd30f06 401602003-10-27 Marco Gerards <metgerards@student.han.nl>
40161
40162 * README: In the pupa-mkimage example use _chain instead of chain
40163 and ext2 instead of fat.
40164 * TODO: Replace ext2fs with jfs as an example. Add an item for
40165 adding journal playback for ext2fs.
40166 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40167 (pkgdata_MODULES): Added ext2.mod.
40168 (ext2_mod_SOURCES): New variable.
40169 (ext2_mod_CFLAGS): Likewise.
40170 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40171 * include/pupa/misc.h (pupa_strncpy): New prototype.
40172 (pupa_strcat): Likewise.
40173 (pupa_strncmp): Likewise.
40174 * kern/misc.c (pupa_strcat): Enable function.
40175 (pupa_strncpy): New function.
40176 (pupa_strncmp): Likewise.
40177 * fs/ext2.c: New file.
f19dbdb7 40178
bfd30f06 40179 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40180 when the read failed before retrying.
40181 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40182 (_FILE_OFFSET_BITS): Likewise.
40183 * configure.ac: Added AC_SYS_LARGEFILE.
40184
98d15063 401852003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40186
40187 * genmk.rb (PModule#rule): Make sure to get only symbol names
40188 from the output of nm.
59cad637 40189 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40190
18d9c7cd 401912003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40192
40193 I forgot to check in these changes for a long time. This adds
40194 incomplete support for VGA console, and this is still very
40195 buggy. Also, a lot of consideration is required for I18N,
40196 UNICODE, and VGA font issues. Therefore, assume that this is
40197 such that "better than nothing".
f19dbdb7 40198
18d9c7cd 40199 * font/manager.c: New file.
40200 * include/pupa/font.h: Likewise.
40201 * include/pupa/i386/pc/vga.h: Likewise.
40202 * term/i386/pc/vga.c: Likewise.
40203 * util/unifont2pff.rb: Likewise.
40204
40205 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40206 (pkgdata_MODULES): Added vga.mod and font.mod.
40207 (vga_mod_SOURCES): New variables.
40208 (vga_mod_CFLAGS): Likewise.
40209 (font_mod_SOURCES): Likewise.
40210 (font_mod_CFLAGS): Likewise.
40211
40212 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40213
40214 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40215 (struct pupa_term): Added init and fini.
18d9c7cd 40216 Changed the argument of putchar to pupa_uint32_t.
40217
40218 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40219 (pupa_console_real_putchar): New prototype.
40220 (pupa_console_putchar): Removed.
40221 (pupa_console_checkkey): Exported.
40222 (pupa_console_getkey): Likewise.
40223
40224 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40225 characters.
40226
40227 * kern/term.c (pupa_term_set_current): Rewritten.
40228 (pupa_putchar): Likewise.
40229 (pupa_putcode): New function.
40230
40231 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40232 (pupa_console_real_putchar): ... this.
40233 (pupa_vga_set_mode): New function.
40234 (pupa_vga_get_font): Likewise.
40235
40236 * normal/command.c: Include pupa/term.h.
40237 (terminal_command): New function.
40238 (pupa_command_init): Register the command "terminal".
40239
40240 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40241 (DISP_UP): Likewise.
40242 (DISP_RIGHT): Likewise.
40243 (DISP_DOWN): Likewise.
40244 (DISP_HLINE): Likewise.
40245 (DISP_VLINE): Likewise.
40246 (DISP_UL): Likewise.
40247 (DISP_UR): Likewise.
40248 (DISP_LL): Likewise.
40249 (DISP_LR): Likewise.
40250
40251 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40252
977329f5 402532003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40254
40255 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40256 FIX. Reverse the path_list.
40257
40258 * include/pupa/normal.h: Export pupa_register_command and
40259 pupa_unregister_command.
40260
40261 * hello/hello.c (pupa_cmd_hello): New module.
40262 * conf/i386-pc.rmk: Added hello.mod.
40263
1f5ab428 402642003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40265
40266 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40267
1f5ab428 40268 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40269 (compress_kernel): New variable.
40270 (generate_image): Heavily modified to support compressing a
40271 large part of the core image.
40272
40273 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40274 leak.
40275 (pupa_util_load_image): New function.
40276
40277 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40278 (pupa_compressed_size): New variable.
40279 (codestart): Enable Gate A20 here.
40280 Decompress the compressed part of the core image.
40281 Rearrange the code to put functions and variables which are
40282 required for initialization in the non-compressed part.
40283 Include lzo1x.S.
40284
40285 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40286 here.
40287
40288 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40289
f19dbdb7 40290 * include/pupa/i386/pc/kernel.h
1f5ab428 40291 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40292 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40293 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40294 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40295 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40296
40297 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40298
40299 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40300 (Utility#rule): Likewise.
40301
40302 * configure.ac: Check if LZO is available.
40303
ce5bf700 403042003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40305
40306 * include/pupa/normal.h: New file.
40307 * include/pupa/setjmp.h: Likewise.
40308 * include/pupa/i386/setjmp.h: Likewise.
40309 * normal/cmdline.c: Likewise.
40310 * normal/command.c: Likewise.
40311 * normal/main.c: Likewise.
40312 * normal/menu.c: Likewise.
40313 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40314
ce5bf700 40315 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40316 (pupa_rescue_cmd_initrd): Likewise.
40317
40318 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40319 Likewise.
40320
40321 * kern/i386/pc/startup.S (translation_table): New variable.
40322 (translate_keycode): New function.
40323 (pupa_console_getkey): Call translate_keycode.
40324
40325 * kern/rescue.c (attempt_normal_mode): New function.
40326 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40327 it failed, print a message.
40328
40329 * kern/mm.c (pupa_real_malloc): Print more information when a
40330 free magic is broken.
40331 (pupa_free): If the first free header is not free actually, set
40332 it to P.
40333
40334 * kern/main.c (pupa_load_normal_mode): Just load the module
40335 "normal".
40336 (pupa_main): Don't print the message
40337 "Entering into rescue mode..." here.
40338
40339 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40340 Declared.
40341 (pupa_rescue_cmd_initrd): Likewise.
40342 (pupa_rescue_cmd_initrd): Likewise.
40343
40344 * include/pupa/symbol.h (FUNCTION): Specify the type.
40345 (VARIABLE): Likewise.
40346
40347 * include/pupa/err.h (pupa_err_t): Added
40348 PUPA_ERR_UNKNOWN_COMMAND.
40349
40350 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40351 (pupa_dl_get_prefix): Likewise.
40352
40353 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40354 Added _chain.mod and _linux.mod instead of chain.mod and
40355 linux.mod.
40356 (chain_mod_SOURCES): Renamed to ...
40357 (_chain_mod_SOURCES): ... this.
40358 (chain_mod_CFLAGS): Renamed to ...
40359 (_chain_mod_CFLAGS): ... this.
40360 (linux_mod_SOURCES): Renamed to ...
40361 (_linux_mod_SOURCES): ... this.
40362 (linux_mod_CFLAGS): Renamed to ...
40363 (_linux_mod_CFLAGS): ... this.
40364 (normal_mod_SOURCES): New variable.
40365 (normal_mod_CFLAGS): Likewise.
40366 (normal_mod_ASFLAGS): Likewise.
40367
403682003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40369
40370 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40371 possible.
40372
fe6b695a 40373 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40374 recursively.
40375 (pupa_dl_unref): Unrefer depending modules recursively.
40376 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40377 a module is unloaded before one depending on that module is
40378 unloaded.
40379 (pupa_dl_unload): Unload depending modules explicitly,
40380 if possible.
40381
c04da074 403822003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40383
40384 * include/pupa/i386/pc/linux.h: New file.
40385 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40386
c04da074 40387 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40388 Removed.
40389 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40390 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40391 of PUPA_CHAINLOADER_BOOT_SECTOR.
40392
40393 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40394 (pupa_linux_prot_size): New variable.
40395 (pupa_linux_tmp_addr): Likewise.
40396 (pupa_linux_real_addr): Likewise.
40397 (pupa_linux_boot_zimage): New function.
40398 (pupa_linux_boot_bzimage): Likewise.
40399
40400 * kern/i386/pc/init.c (struct mem_region): New structure.
40401 (MAX_REGIONS): New macro.
40402 (mem_regions): New variable.
40403 (num_regions): Likewise.
40404 (pupa_os_area_addr): Likewise.
40405 (pupa_os_area_size): Likewise.
40406 (pupa_lower_mem): Likewise.
40407 (pupa_upper_mem): Likewise.
40408 (add_mem_region): New function.
40409 (compact_mem_regions): Likewise.
40410 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40411 the size of the conventional memory and that of so-called upper
40412 memory (before the first memory hole).
40413 Instead of adding each found region to free memory, use
40414 add_mem_region and add them after removing overlaps.
40415 Also, add only 1/4 of the upper memory to free memory. The rest
40416 is used for loading OS images. Maybe this is ad hoc, but this
40417 makes it much easier to relocate OS images when booting.
40418
40419 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40420 (pupa_enter_rescue_mode): Don't register initrd and module.
40421
40422 * kern/mm.c: Include pupa/dl.h.
40423
40424 * kern/main.c: Include pupa/file.h and pupa/device.h.
40425
40426 * kern/loader.c (pupa_loader_load_module_func): Removed.
40427 (pupa_loader_load_module): Likewise.
40428
40429 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40430 ``.o''.
40431
40432 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40433 (pupa_linux_tmp_addr): Likewise.
40434 (pupa_linux_real_addr): Likewise.
40435 (pupa_linux_boot_zimage): Likewise.
40436 (pupa_linux_boot_bzimage): Likewise.
40437
40438 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40439 (pupa_upper_mem): Likewise.
40440 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40441 module is too dangerous.
40442
40443 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40444 (pupa_os_area_size): Likewise.
40445 (pupa_loader_set): Remove the first argument. Loader doesn't
40446 manage modules or initrd any longer.
40447 (pupa_loader_load_module): Removed.
40448
40449 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40450 (linux_mod_SOURCES): New variable.
40451 (linux_mod_CFLAGS): Likewise.
40452
a13f9237 404532003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40454
40455 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40456 the length of a blocklist correctly.
40457
40458 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40459 Use ioctl only if the OS file is a block device.
40460 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40461 not very useful for normal files.
40462
40463 * kern/main.c (pupa_set_root_dev): New function.
40464 (pupa_load_normal_mode): Likewise.
40465 (pupa_main): Call those above.
40466
40467 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40468 pupa_uint16_t.
40469
40470 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40471
a5ffe966 404722003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40473
40474 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40475 (setup): Configure the installed partition information and the
40476 dl prefix.
40477
40478 * loader/i386/pc/chainloader.c (my_mod): New variable.
40479 (pupa_chainloader_unload): New function.
40480 (pupa_rescue_cmd_chainloader): Refer itself.
40481 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40482
40483 * kern/i386/pc/startup.S (install_partition): Removed.
40484 (version_string): Likewise.
40485 (config_file): Likewise.
40486 (pupa_install_dos_part): New variable.
40487 (pupa_install_bsd_part): Likewise.
40488 (pupa_prefix): Likewise.
40489 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40490
40491 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40492 and pupa/misc.h.
40493 (make_install_device): New function.
40494 (pupa_machine_init): Set the dl prefix.
40495
40496 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40497 (buf): Renamed to ...
40498 (linebuf): ... this.
40499 (pupa_rescue_cmd_prefix): New function.
40500 (pupa_rescue_cmd_insmod): Likewise.
40501 (pupa_rescue_cmd_rmmod): Likewise.
40502 (pupa_rescue_cmd_lsmod): Likewise.
40503 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40504 rmmod and lsmod.
40505
40506 * kern/mm.c (pupa_memalign): If failed even after invalidating
40507 disk caches, unload unneeded modules and retry.
40508
40509 * kern/misc.c (pupa_memmove): New function.
40510 (pupa_memcpy): Removed.
40511 (pupa_strcpy): New function.
40512 (pupa_itoa): Made static.
40513
40514 * kern/dl.c (pupa_dl_iterate): New function.
40515 (pupa_dl_ref): Likewise.
40516 (pupa_dl_unref): Likewise.
40517 (pupa_dl_unload): Return if succeeded or not.
40518 (pupa_dl_unload_unneeded): New function.
40519 (pupa_dl_unload_all): Likewise.
40520 (pupa_dl_init): Renamed to ...
40521 (pupa_dl_set_prefix): ... this.
40522 (pupa_dl_get_prefix): New function.
40523
40524 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40525 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40526 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40527 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40528 (pupa_install_dos_part): Declared.
40529 (pupa_install_bsd_part): Likewise.
40530 (pupa_prefix): Likewise.
40531 (pupa_boot_drive): Likewise.
40532
40533 * include/pupa/types.h: Fix a typo.
40534
40535 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40536 pupa_memmove.
40537 (pupa_memmove): Declared.
40538 (pupa_strcpy): Likewise.
40539
40540 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40541 pupa_mod_init takes one argument, its own module.
40542 (pupa_dl_unload_unneeded): Declared.
40543 (pupa_dl_unload_all): Likewise.
40544 (pupa_dl_ref): Likewise.
40545 (pupa_dl_unref): Likewise.
40546 (pupa_dl_iterate): Likewise.
40547 (pupa_dl_init): Renamed to ...
40548 (pupa_dl_set_prefix): ... this.
40549 (pupa_dl_get_prefix): Declared.
40550
40551 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40552 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40553 unloaded.
40554 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40555 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40556
40557 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40558 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40559
012d7999 405602003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40561
40562 * util/i386/pc/pupa-setup.c (setup): Define the internal
40563 function find_first_partition_start at the top level, because GCC
40564 3.0.x cannot compile internal functions in deeper scopes
40565 correctly.
40566 (find_root_device): Use lstat instead of stat.
40567 Don't follow symbolic links.
40568 Fix the path-constructing code.
40569
40570 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40571 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40572 by a BLKGETSIZE ioctl first, because block devices don't fill
40573 the member st_mode of the structure stat on Linux.
40574 [__linux__] (linux_find_partition): Use a temporary buffer
40575 REAL_DEV for the working space. Copy it to DEV before returning.
40576 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40577 buffer cache consistent.
40578 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40579 strncmp. The previous value was merely wrong.
40580 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40581
40582 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40583 FAT size is 12. The previous value was merely wrong.
40584
40585 * kern/main.c (pupa_main): Don't split the starting message from
40586 newlines.
40587
40588 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40589 LF, because BIOS goes crazy about character attributes in this
40590 case.
40591
1cc73a62 405922003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40593
40594 * include/i386/pc/util/biosdisk.h: New file.
40595 * util/i386/pc/biosdisk.c: Likewise.
40596 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40597
1cc73a62 40598 * Makefile.in (INCLUDE_DISTFILES): Added
40599 include/pupa/i386/pc/util/biosdisk.h.
40600 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40601 directory util/i386/pc.
40602 (install-local): Added a rule for sbin_UTILITIES.
40603 (uninstall): Likewise.
40604
40605 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40606
40607 * util/misc.c (xrealloc): New function.
40608 (pupa_malloc): Likewise.
40609 (pupa_free): Likewise.
40610 (pupa_realloc): Likewise.
40611 (pupa_stop): Likewise.
40612 (pupa_putchar): Likewise.
40613
40614 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40615
40616 * include/pupa/util/misc.h (xrealloc): Declared.
40617
40618 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40619 macro.
40620 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40621 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40622
40623 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40624 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40625
40626 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40627 way should be implemented.
40628 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40629
40630 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40631 the size of NAME for safety.
40632 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40633 0x88.
40634
40635 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40636 (pupa_setup_SOURCES): Likewise.
40637
40638 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40639
08b70fe8 406402002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40641
40642 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40643 bunch of pushl's from pusha, because this destroys the return
40644 value.
40645
62ddcc8f 406462002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40647
40648 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40649 This means that any missing prototypes could be fatal. Also, you
40650 must take care when writing assembly code. See the comments at
40651 the beginning of startup.S, for more details.
f19dbdb7 40652
62ddcc8f 40653 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40654 compilation mechanism.
40655 (pupa_chainloader_real_boot): Likewise.
40656 (pupa_biosdisk_rw_int13_extensions): Likewise.
40657 (pupa_biosdisk_rw_standard): Likewise.
40658 (pupa_biosdisk_check_int13_extensions): Likewise.
40659 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40660 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40661 (pupa_get_memsize): Likewise.
40662 (pupa_get_mmap_entry): Likewise.
40663 (pupa_console_putchar): Likewise.
40664 (pupa_console_setcursor): Likewise.
40665 (pupa_getrtsecs): Use pushl instead of push.
40666
40667 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40668 memory instead of the stack for a mmap entry, because some
40669 BIOSes may ignore the maximum size and overflow.
40670
40671 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40672
40673 * genmk.rb (PModule#rule): Compile automatically generated
40674 sources with module-specific CFLAGS as well as other sources.
40675
9962ed99 406762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40677
40678 * configure.ac: Check ld.
40679 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40680 respectively, before checking endianness and sizes.
40681
40682 * Makefile.in (LD): New variable.
f19dbdb7 40683
abdfc3c5 406842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40685
40686 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40687
6a161fa9 406882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40689
40690 * Changelog: New file.
40691